xbmc
Public Member Functions | Static Public Member Functions | Friends | List of all members
KODI::PLAYLIST::CSmartPlaylist Class Reference
Inheritance diagram for KODI::PLAYLIST::CSmartPlaylist:
Inheritance graph
[legend]
Collaboration diagram for KODI::PLAYLIST::CSmartPlaylist:
Collaboration graph
[legend]

Public Member Functions

bool Load (const CURL &url)
 
bool Load (const std::string &path)
 
bool Load (const CVariant &obj)
 
bool LoadFromXml (const std::string &xml)
 
bool LoadFromJson (const std::string &json)
 
bool Save (const std::string &path) const
 
bool Save (CVariant &obj, bool full=true) const
 
bool SaveAsJson (std::string &json, bool full=true) const
 
bool OpenAndReadName (const CURL &url)
 
bool LoadFromXML (const TiXmlNode *root, const std::string &encoding="UTF-8")
 
void Reset ()
 
void SetName (const std::string &name)
 
void SetType (const std::string &type)
 
const std::string & GetName () const
 
const std::string & GetType () const
 
bool IsVideoType () const
 
bool IsMusicType () const
 
void SetMatchAllRules (bool matchAll)
 
bool GetMatchAllRules () const
 
void SetLimit (unsigned int limit)
 
unsigned int GetLimit () const
 
void SetOrder (SortBy order)
 
SortBy GetOrder () const
 
void SetOrderAscending (bool orderAscending)
 
bool GetOrderAscending () const
 
SortOrder GetOrderDirection () const
 
void SetOrderAttributes (SortAttribute attributes)
 
SortAttribute GetOrderAttributes () const
 
void SetGroup (const std::string &group)
 
const std::string & GetGroup () const
 
void SetGroupMixed (bool mixed)
 
bool IsGroupMixed () const
 
std::string GetWhereClause (const CDatabase &db, std::set< std::string > &referencedPlaylists) const
 get the where clause for a playlist We handle playlists inside playlists separately in order to ensure we don't introduce infinite loops by playlist A including playlist B which also (perhaps via other playlists) then includes playlistA. More...
 
void GetVirtualFolders (std::vector< std::string > &virtualFolders) const
 
std::string GetSaveLocation () const
 
bool IsEmpty (bool ignoreSortAndLimit=true) const
 
CDatabaseQueryRuleCreateRule () const override
 
CDatabaseQueryRuleCombinationCreateCombination () const override
 

Static Public Member Functions

static void GetAvailableFields (const std::string &type, std::vector< std::string > &fieldList)
 
static bool IsVideoType (const std::string &type)
 
static bool IsMusicType (const std::string &type)
 
static bool CheckTypeCompatibility (const std::string &typeLeft, const std::string &typeRight)
 

Friends

class ::CGUIDialogSmartPlaylistEditor
 
class ::CGUIDialogMediaFilter
 

Member Function Documentation

◆ GetWhereClause()

std::string KODI::PLAYLIST::CSmartPlaylist::GetWhereClause ( const CDatabase db,
std::set< std::string > &  referencedPlaylists 
) const

get the where clause for a playlist We handle playlists inside playlists separately in order to ensure we don't introduce infinite loops by playlist A including playlist B which also (perhaps via other playlists) then includes playlistA.

Parameters
dbthe database to use to format up results
referencedPlaylistsa set of playlists to know when we reach a cycle
needWherewhether we need to prepend the where clause with "WHERE "

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