Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
class CDirEntry

Virtual file server directory entry More...

Functions

 kodi::vfs::CDirEntry::CDirEntry (const std::string &label="", const std::string &path="", bool folder=false, int64_t size=-1)
 Constructor for VFS directory entry. More...
 
const std::string & kodi::vfs::CDirEntry::Label (void) const
 Get the directory entry name. More...
 
const std::string & kodi::vfs::CDirEntry::Title (void) const
 Get the optional title of entry. More...
 
const std::string & kodi::vfs::CDirEntry::Path (void) const
 Get the path of the entry. More...
 
bool kodi::vfs::CDirEntry::IsFolder (void) const
 Used to check entry is folder. More...
 
int64_t kodi::vfs::CDirEntry::Size (void) const
 If file, the size of the file. More...
 
time_t kodi::vfs::CDirEntry::DateTime ()
 Get file time and date for a new entry. More...
 
void kodi::vfs::CDirEntry::SetLabel (const std::string &label)
 Set the label name. More...
 
void kodi::vfs::CDirEntry::SetTitle (const std::string &title)
 Set the title name. More...
 
void kodi::vfs::CDirEntry::SetPath (const std::string &path)
 Set the path of the entry. More...
 
void kodi::vfs::CDirEntry::SetFolder (bool folder)
 Set the entry defined as folder. More...
 
void kodi::vfs::CDirEntry::SetSize (int64_t size)
 Set a file size for a new entry. More...
 
void kodi::vfs::CDirEntry::SetDateTime (time_t dateTime)
 Set file time and date for a new entry. More...
 
void kodi::vfs::CDirEntry::AddProperty (const std::string &id, const std::string &value)
 Add a by string defined property entry to directory entry. More...
 
void kodi::vfs::CDirEntry::ClearProperties ()
 Clear all present properties. More...
 
const std::map< std::string, std::string > & kodi::vfs::CDirEntry::GetProperties () const
 Get the present properties list on directory entry. More...
 

Detailed Description

Virtual file server directory entry

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


Example:

...
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: addons/kodi-addon-dev-kit/include/kodi/Filesystem.h:322
time_t DateTime()
Get file time and date for a new entry.
Definition: addons/kodi-addon-dev-kit/include/kodi/Filesystem.h:422
bool GetDirectory(const std::string &path, const std::string &mask, std::vector< CDirEntry > &items)
Lists a directory.
Definition: addons/kodi-addon-dev-kit/include/kodi/Filesystem.h:661

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

Function Documentation

◆ AddProperty()

void kodi::vfs::CDirEntry::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

◆ CDirEntry()

kodi::vfs::CDirEntry::CDirEntry ( const std::string &  label = "",
const std::string &  path = "",
bool  folder = false,
int64_t  size = -1 
)
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

◆ ClearProperties()

void kodi::vfs::CDirEntry::ClearProperties ( )
inline

Clear all present properties.

◆ DateTime()

time_t kodi::vfs::CDirEntry::DateTime ( )
inline

Get file time and date for a new entry.

Returns
The with time_t defined date and time of file

◆ GetProperties()

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

Get the present properties list on directory entry.

Returns
map with all present properties

◆ IsFolder()

bool kodi::vfs::CDirEntry::IsFolder ( void  ) const
inline

Used to check entry is folder.

Returns
true if entry is a folder

◆ Label()

const std::string & kodi::vfs::CDirEntry::Label ( void  ) const
inline

Get the directory entry name.

Returns
Name of the entry

◆ Path()

const std::string & kodi::vfs::CDirEntry::Path ( void  ) const
inline

Get the path of the entry.

Returns
File system path of the entry

◆ SetDateTime()

void kodi::vfs::CDirEntry::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

◆ SetFolder()

void kodi::vfs::CDirEntry::SetFolder ( bool  folder)
inline

Set the entry defined as folder.

Parameters
[in]folderIf true becomes entry defined as folder

◆ SetLabel()

void kodi::vfs::CDirEntry::SetLabel ( const std::string &  label)
inline

Set the label name.

Parameters
[in]labelname of entry

◆ SetPath()

void kodi::vfs::CDirEntry::SetPath ( const std::string &  path)
inline

Set the path of the entry.

Parameters
[in]pathpath of entry

◆ SetSize()

void kodi::vfs::CDirEntry::SetSize ( int64_t  size)
inline

Set a file size for a new entry.

Parameters
[in]sizeSize to set for dir entry

◆ SetTitle()

void kodi::vfs::CDirEntry::SetTitle ( const std::string &  title)
inline

Set the title name.

Parameters
[in]titletitle name of entry

◆ Size()

int64_t kodi::vfs::CDirEntry::Size ( void  ) const
inline

If file, the size of the file.

Returns
Defined file size

◆ Title()

const std::string & kodi::vfs::CDirEntry::Title ( void  ) const
inline

Get the optional title of entry.

Returns
Title of the entry, if exists