Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
XFILE::CDirectory Class Reference

Wrappers for IDirectory. More...

#include <Directory.h>

Classes

class  CHints
 

Public Types

using DirectoryEnumerationCallback = std::function<void(const std::shared_ptr<CFileItem>& item)>
 
using DirectoryFilter = std::function<bool(const std::shared_ptr<CFileItem>& folder)>
 

Public Member Functions

 CDirectory (void)
 
virtual ~CDirectory (void)
 

Static Public Member Functions

static bool GetDirectory (const CURL &url, CFileItemList &items, const std::string &strMask, int flags)
 
static bool GetDirectory (const CURL &url, const std::shared_ptr< IDirectory > &pDirectory, CFileItemList &items, const CHints &hints)
 
static bool GetDirectory (const CURL &url, CFileItemList &items, const CHints &hints)
 
static bool Create (const CURL &url)
 
static bool Exists (const CURL &url, bool bUseCache=true)
 
static bool Remove (const CURL &url)
 
static bool RemoveRecursive (const CURL &url)
 
static bool GetDirectory (const std::string &strPath, CFileItemList &items, const std::string &strMask, int flags)
 
static bool GetDirectory (const std::string &strPath, const std::shared_ptr< IDirectory > &pDirectory, CFileItemList &items, const std::string &strMask, int flags)
 
static bool GetDirectory (const std::string &strPath, CFileItemList &items, const CHints &hints)
 
static bool EnumerateDirectory (const std::string &path, const DirectoryEnumerationCallback &callback, const DirectoryFilter &filter=[](const std::shared_ptr< CFileItem > &) { return true;}, bool fileOnly=false, const std::string &mask="", int flags=DIR_FLAG_DEFAULTS)
 Enumerates files and folders in and below a directory. Every applicable gets passed to the callback.
 
static bool Create (const std::string &strPath)
 
static bool Exists (const std::string &strPath, bool bUseCache=true)
 
static bool Remove (const std::string &strPath)
 
static bool RemoveRecursive (const std::string &strPath)
 
static void FilterFileDirectories (CFileItemList &items, const std::string &mask, bool expandImages=false)
 Filter files that act like directories from the list, replacing them with their directory counterparts.
 

Detailed Description

Wrappers for IDirectory.

Member Typedef Documentation

◆ DirectoryEnumerationCallback

using XFILE::CDirectory::DirectoryEnumerationCallback = std::function<void(const std::shared_ptr<CFileItem>& item)>

◆ DirectoryFilter

using XFILE::CDirectory::DirectoryFilter = std::function<bool(const std::shared_ptr<CFileItem>& folder)>

Constructor & Destructor Documentation

◆ CDirectory()

CDirectory::CDirectory ( void )
default

◆ ~CDirectory()

CDirectory::~CDirectory ( void )
virtualdefault

Member Function Documentation

◆ Create() [1/2]

bool CDirectory::Create ( const CURL & url)
static

◆ Create() [2/2]

bool CDirectory::Create ( const std::string & strPath)
static

◆ EnumerateDirectory()

bool CDirectory::EnumerateDirectory ( const std::string & path,
const DirectoryEnumerationCallback & callback,
const DirectoryFilter & filter = [](const std::shared_ptr<CFileItem>&) { return true; },
bool fileOnly = false,
const std::string & mask = "",
int flags = DIR_FLAG_DEFAULTS )
static

Enumerates files and folders in and below a directory. Every applicable gets passed to the callback.

Parameters
pathDirectory to enumerate
callbackFiles and folders matching the criteria are passed to this function
filterOnly folders are passed to this function. If it return false the folder and everything below it will skipped from the enumeration
fileOnlyIf true only files are passed to callback. Doesn't affect filter
maskOnly files matching this mask are passed to callback
flagsSee DIR_FLAG enum

◆ Exists() [1/2]

bool CDirectory::Exists ( const CURL & url,
bool bUseCache = true )
static

◆ Exists() [2/2]

bool CDirectory::Exists ( const std::string & strPath,
bool bUseCache = true )
static

◆ FilterFileDirectories()

void CDirectory::FilterFileDirectories ( CFileItemList & items,
const std::string & mask,
bool expandImages = false )
static

Filter files that act like directories from the list, replacing them with their directory counterparts.

Parameters
itemsThe item list to filter
maskThe mask to apply when filtering files
expandImagesTrue to include disc images in file directory expansion

◆ GetDirectory() [1/6]

bool CDirectory::GetDirectory ( const CURL & url,
CFileItemList & items,
const CHints & hints )
static

◆ GetDirectory() [2/6]

bool CDirectory::GetDirectory ( const CURL & url,
CFileItemList & items,
const std::string & strMask,
int flags )
static

◆ GetDirectory() [3/6]

bool CDirectory::GetDirectory ( const CURL & url,
const std::shared_ptr< IDirectory > & pDirectory,
CFileItemList & items,
const CHints & hints )
static
Todo
we shouldn't be checking the gui setting here, callers should use getHidden instead

◆ GetDirectory() [4/6]

bool CDirectory::GetDirectory ( const std::string & strPath,
CFileItemList & items,
const CHints & hints )
static

◆ GetDirectory() [5/6]

bool CDirectory::GetDirectory ( const std::string & strPath,
CFileItemList & items,
const std::string & strMask,
int flags )
static

◆ GetDirectory() [6/6]

bool CDirectory::GetDirectory ( const std::string & strPath,
const std::shared_ptr< IDirectory > & pDirectory,
CFileItemList & items,
const std::string & strMask,
int flags )
static

◆ Remove() [1/2]

bool CDirectory::Remove ( const CURL & url)
static

◆ Remove() [2/2]

bool CDirectory::Remove ( const std::string & strPath)
static

◆ RemoveRecursive() [1/2]

bool CDirectory::RemoveRecursive ( const CURL & url)
static

◆ RemoveRecursive() [2/2]

bool CDirectory::RemoveRecursive ( const std::string & strPath)
static

The documentation for this class was generated from the following files: