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

#include <SmartPlayList.h>

Inheritance diagram for KODI::PLAYLIST::CSmartPlaylist:
IDatabaseQueryRuleFactory

Public Member Functions

 CSmartPlaylist ()
 
 ~CSmartPlaylist () override=default
 
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.
 
void GetVirtualFolders (std::vector< std::string > &virtualFolders) const
 
std::string GetSaveLocation () const
 
bool IsEmpty (bool ignoreSortAndLimit=true) const
 
CDatabaseQueryRuleCreateRule () const override
 
CDatabaseQueryRuleCombinationCreateCombination () const override
 
- Public Member Functions inherited from IDatabaseQueryRuleFactory
virtual ~IDatabaseQueryRuleFactory ()=default
 

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
 

Constructor & Destructor Documentation

◆ CSmartPlaylist()

KODI::PLAYLIST::CSmartPlaylist::CSmartPlaylist ( )

◆ ~CSmartPlaylist()

KODI::PLAYLIST::CSmartPlaylist::~CSmartPlaylist ( )
overridedefault

Member Function Documentation

◆ CheckTypeCompatibility()

bool KODI::PLAYLIST::CSmartPlaylist::CheckTypeCompatibility ( const std::string & typeLeft,
const std::string & typeRight )
static

◆ CreateCombination()

CDatabaseQueryRuleCombination * KODI::PLAYLIST::CSmartPlaylist::CreateCombination ( ) const
overridevirtual

◆ CreateRule()

CDatabaseQueryRule * KODI::PLAYLIST::CSmartPlaylist::CreateRule ( ) const
overridevirtual

◆ GetAvailableFields()

void KODI::PLAYLIST::CSmartPlaylist::GetAvailableFields ( const std::string & type,
std::vector< std::string > & fieldList )
static

◆ GetGroup()

const std::string & KODI::PLAYLIST::CSmartPlaylist::GetGroup ( ) const
inline

◆ GetLimit()

unsigned int KODI::PLAYLIST::CSmartPlaylist::GetLimit ( ) const
inline

◆ GetMatchAllRules()

bool KODI::PLAYLIST::CSmartPlaylist::GetMatchAllRules ( ) const
inline

◆ GetName()

const std::string & KODI::PLAYLIST::CSmartPlaylist::GetName ( ) const
inline

◆ GetOrder()

SortBy KODI::PLAYLIST::CSmartPlaylist::GetOrder ( ) const
inline

◆ GetOrderAscending()

bool KODI::PLAYLIST::CSmartPlaylist::GetOrderAscending ( ) const
inline

◆ GetOrderAttributes()

SortAttribute KODI::PLAYLIST::CSmartPlaylist::GetOrderAttributes ( ) const
inline

◆ GetOrderDirection()

SortOrder KODI::PLAYLIST::CSmartPlaylist::GetOrderDirection ( ) const
inline

◆ GetSaveLocation()

std::string KODI::PLAYLIST::CSmartPlaylist::GetSaveLocation ( ) const

◆ GetType()

const std::string & KODI::PLAYLIST::CSmartPlaylist::GetType ( ) const
inline

◆ GetVirtualFolders()

void KODI::PLAYLIST::CSmartPlaylist::GetVirtualFolders ( std::vector< std::string > & virtualFolders) const

◆ 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 "

◆ IsEmpty()

bool KODI::PLAYLIST::CSmartPlaylist::IsEmpty ( bool ignoreSortAndLimit = true) const

◆ IsGroupMixed()

bool KODI::PLAYLIST::CSmartPlaylist::IsGroupMixed ( ) const
inline

◆ IsMusicType() [1/2]

bool KODI::PLAYLIST::CSmartPlaylist::IsMusicType ( ) const

◆ IsMusicType() [2/2]

bool KODI::PLAYLIST::CSmartPlaylist::IsMusicType ( const std::string & type)
static

◆ IsVideoType() [1/2]

bool KODI::PLAYLIST::CSmartPlaylist::IsVideoType ( ) const

◆ IsVideoType() [2/2]

bool KODI::PLAYLIST::CSmartPlaylist::IsVideoType ( const std::string & type)
static

◆ Load() [1/3]

bool KODI::PLAYLIST::CSmartPlaylist::Load ( const CURL & url)

◆ Load() [2/3]

bool KODI::PLAYLIST::CSmartPlaylist::Load ( const CVariant & obj)

◆ Load() [3/3]

bool KODI::PLAYLIST::CSmartPlaylist::Load ( const std::string & path)

◆ LoadFromJson()

bool KODI::PLAYLIST::CSmartPlaylist::LoadFromJson ( const std::string & json)

◆ LoadFromXML()

bool KODI::PLAYLIST::CSmartPlaylist::LoadFromXML ( const TiXmlNode * root,
const std::string & encoding = "UTF-8" )

◆ LoadFromXml()

bool KODI::PLAYLIST::CSmartPlaylist::LoadFromXml ( const std::string & xml)

◆ OpenAndReadName()

bool KODI::PLAYLIST::CSmartPlaylist::OpenAndReadName ( const CURL & url)

◆ Reset()

void KODI::PLAYLIST::CSmartPlaylist::Reset ( )

◆ Save() [1/2]

bool KODI::PLAYLIST::CSmartPlaylist::Save ( const std::string & path) const

◆ Save() [2/2]

bool KODI::PLAYLIST::CSmartPlaylist::Save ( CVariant & obj,
bool full = true ) const

◆ SaveAsJson()

bool KODI::PLAYLIST::CSmartPlaylist::SaveAsJson ( std::string & json,
bool full = true ) const

◆ SetGroup()

void KODI::PLAYLIST::CSmartPlaylist::SetGroup ( const std::string & group)
inline

◆ SetGroupMixed()

void KODI::PLAYLIST::CSmartPlaylist::SetGroupMixed ( bool mixed)
inline

◆ SetLimit()

void KODI::PLAYLIST::CSmartPlaylist::SetLimit ( unsigned int limit)
inline

◆ SetMatchAllRules()

void KODI::PLAYLIST::CSmartPlaylist::SetMatchAllRules ( bool matchAll)
inline

◆ SetName()

void KODI::PLAYLIST::CSmartPlaylist::SetName ( const std::string & name)

◆ SetOrder()

void KODI::PLAYLIST::CSmartPlaylist::SetOrder ( SortBy order)
inline

◆ SetOrderAscending()

void KODI::PLAYLIST::CSmartPlaylist::SetOrderAscending ( bool orderAscending)
inline

◆ SetOrderAttributes()

void KODI::PLAYLIST::CSmartPlaylist::SetOrderAttributes ( SortAttribute attributes)
inline

◆ SetType()

void KODI::PLAYLIST::CSmartPlaylist::SetType ( const std::string & type)

Friends And Related Symbol Documentation

◆ ::CGUIDialogMediaFilter

friend class ::CGUIDialogMediaFilter
friend

◆ ::CGUIDialogSmartPlaylistEditor

friend class ::CGUIDialogSmartPlaylistEditor
friend

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