Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
CSmartPlaylist Class Reference

#include <SmartPlayList.h>

Inheritance diagram for CSmartPlaylist:
IDatabaseQueryRuleFactory

Public Member Functions

 CSmartPlaylist ()
 
virtual ~CSmartPlaylist ()=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. 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
 
- 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()

CSmartPlaylist::CSmartPlaylist ( )

◆ ~CSmartPlaylist()

virtual CSmartPlaylist::~CSmartPlaylist ( )
virtualdefault

Member Function Documentation

◆ CheckTypeCompatibility()

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

◆ CreateCombination()

CDatabaseQueryRuleCombination * CSmartPlaylist::CreateCombination ( ) const
overridevirtual

◆ CreateRule()

CDatabaseQueryRule * CSmartPlaylist::CreateRule ( ) const
overridevirtual

◆ GetAvailableFields()

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

◆ GetGroup()

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

◆ GetLimit()

unsigned int CSmartPlaylist::GetLimit ( ) const
inline

◆ GetMatchAllRules()

bool CSmartPlaylist::GetMatchAllRules ( ) const
inline

◆ GetName()

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

◆ GetOrder()

SortBy CSmartPlaylist::GetOrder ( ) const
inline

◆ GetOrderAscending()

bool CSmartPlaylist::GetOrderAscending ( ) const
inline

◆ GetOrderAttributes()

SortAttribute CSmartPlaylist::GetOrderAttributes ( ) const
inline

◆ GetOrderDirection()

SortOrder CSmartPlaylist::GetOrderDirection ( ) const
inline

◆ GetSaveLocation()

std::string CSmartPlaylist::GetSaveLocation ( ) const

◆ GetType()

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

◆ GetVirtualFolders()

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

◆ GetWhereClause()

std::string 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 CSmartPlaylist::IsEmpty ( bool  ignoreSortAndLimit = true) const

◆ IsGroupMixed()

bool CSmartPlaylist::IsGroupMixed ( ) const
inline

◆ IsMusicType() [1/2]

bool CSmartPlaylist::IsMusicType ( ) const

◆ IsMusicType() [2/2]

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

◆ IsVideoType() [1/2]

bool CSmartPlaylist::IsVideoType ( ) const

◆ IsVideoType() [2/2]

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

◆ Load() [1/3]

bool CSmartPlaylist::Load ( const CURL url)

◆ Load() [2/3]

bool CSmartPlaylist::Load ( const CVariant obj)

◆ Load() [3/3]

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

◆ LoadFromJson()

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

◆ LoadFromXml()

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

◆ LoadFromXML()

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

◆ OpenAndReadName()

bool CSmartPlaylist::OpenAndReadName ( const CURL url)

◆ Reset()

void CSmartPlaylist::Reset ( void  )

◆ Save() [1/2]

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

◆ Save() [2/2]

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

◆ SaveAsJson()

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

◆ SetGroup()

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

◆ SetGroupMixed()

void CSmartPlaylist::SetGroupMixed ( bool  mixed)
inline

◆ SetLimit()

void CSmartPlaylist::SetLimit ( unsigned int  limit)
inline

◆ SetMatchAllRules()

void CSmartPlaylist::SetMatchAllRules ( bool  matchAll)
inline

◆ SetName()

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

◆ SetOrder()

void CSmartPlaylist::SetOrder ( SortBy  order)
inline

◆ SetOrderAscending()

void CSmartPlaylist::SetOrderAscending ( bool  orderAscending)
inline

◆ SetOrderAttributes()

void CSmartPlaylist::SetOrderAttributes ( SortAttribute  attributes)
inline

◆ SetType()

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

Friends And Related Function Documentation

◆ CGUIDialogMediaFilter

friend class CGUIDialogMediaFilter
friend

◆ CGUIDialogSmartPlaylistEditor

friend class CGUIDialogSmartPlaylistEditor
friend

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