kodi
Classes | Public Types | Static Public Member Functions | List of all members
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)>
 

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. More...
 
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. More...
 

Detailed Description

Wrappers for IDirectory.

Member Function Documentation

◆ 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

◆ 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()

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

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