Kodi Development  20.0
for Binary and Script based Add-Ons

Detailed Description

Virtual file server directory entry
This class is used as an entry for files and folders in kodi::vfs::GetDirectory().


Example:

#include <kodi/Filesystem.h>
...
std::vector<kodi::vfs::CDirEntry> items;
kodi::vfs::GetDirectory("special://temp", "", items);
fprintf(stderr, "Directory have %lu entries\n", items.size());
for (unsigned long i = 0; i < items.size(); i++)
{
char buff[20];
time_t now = items[i].DateTime();
strftime(buff, 20, "%Y-%m-%d %H:%M:%S", gmtime(&now));
fprintf(stderr, " - %04lu -- Folder: %s -- Name: %s -- Path: %s -- Time: %s\n",
i+1,
items[i].IsFolder() ? "yes" : "no ",
items[i].Label().c_str(),
items[i].Path().c_str(),
buff);
}
Definition: Filesystem.h:543
const std::string & Label(void) const
Get the directory entry name.
Definition: Filesystem.h:609
const std::string & Path(void) const
Get the path of the entry.
Definition: Filesystem.h:625
time_t DateTime()
Get file time and date for a new entry.
Definition: Filesystem.h:649
bool IsFolder(void) const
Used to check entry is folder.
Definition: Filesystem.h:633
bool ATTRIBUTE_HIDDEN GetDirectory(const std::string &path, const std::string &mask, std::vector< kodi::vfs::CDirEntry > &items)
Lists a directory.
Definition: Filesystem.h:888

It has the header #include <kodi/Filesystem.h> be included to enjoy it.

The following table contains values that can be set with class CDirEntry :

Name Type Set call Get call Clear call
Directory entry name std::string SetLabel Label
Title of entry std::string SetTitle Title
Path of the entry std::string SetPath Path
Entry is folder bool SetFolder IsFolder
The size of the file int64_t SetSize Size
File time and date time_t SetDateTime DateTime
Property entries std::string, std::string AddProperty GetProperties ClearProperties

Modules

 Value Help
 

Function Documentation

◆ CDirEntry()

CDirEntry ( const std::string &  label = "",
const std::string &  path = "",
bool  folder = false,
int64_t  size = -1,
time_t  dateTime = 0 
)
inline

Constructor for VFS directory entry.

Parameters
[in]label[opt] Name to use for entry
[in]path[opt] Used path of the entry
[in]folder[opt] If set entry used as folder
[in]size[opt] If used as file, his size defined there
[in]dateTime[opt] Date time of the entry

◆ Label()

const std::string& Label ( void  ) const
inline

Get the directory entry name.

Returns
Name of the entry

◆ Title()

const std::string& Title ( void  ) const
inline

Get the optional title of entry.

Returns
Title of the entry, if exists

◆ Path()

const std::string& Path ( void  ) const
inline

Get the path of the entry.

Returns
File system path of the entry

◆ IsFolder()

bool IsFolder ( void  ) const
inline

Used to check entry is folder.

Returns
true if entry is a folder

◆ Size()

int64_t Size ( void  ) const
inline

If file, the size of the file.

Returns
Defined file size

◆ DateTime()

time_t DateTime ( )
inline

Get file time and date for a new entry.

Returns
The with time_t defined date and time of file

◆ SetLabel()

void SetLabel ( const std::string &  label)
inline

Set the label name.

Parameters
[in]labelname of entry

◆ SetTitle()

void SetTitle ( const std::string &  title)
inline

Set the title name.

Parameters
[in]titletitle name of entry

◆ SetPath()

void SetPath ( const std::string &  path)
inline

Set the path of the entry.

Parameters
[in]pathpath of entry

◆ SetFolder()

void SetFolder ( bool  folder)
inline

Set the entry defined as folder.

Parameters
[in]folderIf true becomes entry defined as folder

◆ SetSize()

void SetSize ( int64_t  size)
inline

Set a file size for a new entry.

Parameters
[in]sizeSize to set for dir entry

◆ SetDateTime()

void SetDateTime ( time_t  dateTime)
inline

Set file time and date for a new entry.

Parameters
[in]dateTimeThe with time_t defined date and time of file

◆ AddProperty()

void AddProperty ( const std::string &  id,
const std::string &  value 
)
inline

Add a by string defined property entry to directory entry.

Note
A property can be used to add some special information about a file or directory entry, this can be used on other places to do the right work of them.
Parameters
[in]idIdentification name of property
[in]valueThe property value to add by given id

◆ ClearProperties()

void ClearProperties ( )
inline

Clear all present properties.

◆ GetProperties()

const std::map<std::string, std::string>& GetProperties ( ) const
inline

Get the present properties list on directory entry.

Returns
map with all present properties