11 #include "guilib/guiinfo/GUIInfoProviders.h" 12 #include "interfaces/info/InfoBool.h" 13 #include "interfaces/info/SkinVariable.h" 14 #include "messaging/IMessageTarget.h" 15 #include "threads/CriticalSection.h" 27 typedef std::shared_ptr<CGUIListItem> CGUIListItemPtr;
36 class IGUIInfoProvider;
65 int GetMessageMask()
override;
78 INFO::InfoPtr Register(
const std::string &expression,
int context = 0);
85 void UnRegister(
const INFO::InfoPtr& expression);
88 bool ConditionsChangedValues(
const std::map<INFO::InfoPtr, bool>& map);
96 bool EvaluateBool(
const std::string& expression,
98 const CGUIListItemPtr& item =
nullptr);
100 int TranslateString(
const std::string &strCondition);
101 int TranslateSingleString(
const std::string &strCondition,
bool &listItemDependent);
103 std::string GetLabel(
int info,
int contextWindow, std::string* fallback =
nullptr)
const;
104 std::string GetImage(
int info,
int contextWindow, std::string *fallback =
nullptr);
105 bool GetInt(
int& value,
int info,
int contextWindow,
const CGUIListItem* item =
nullptr)
const;
106 bool GetBool(
int condition,
int contextWindow,
const CGUIListItem* item =
nullptr);
108 std::string GetItemLabel(
const CFileItem *item,
int contextWindow,
int info, std::string *fallback =
nullptr)
const;
109 std::string GetItemImage(
const CGUIListItem *item,
int contextWindow,
int info, std::string *fallback =
nullptr)
const;
118 bool GetItemInt(
int &value,
const CGUIListItem *item,
int contextWindow,
int info)
const;
119 bool GetItemBool(
const CGUIListItem *item,
int contextWindow,
int condition)
const;
123 void SetCurrentItem(
const CFileItem &item);
124 void ResetCurrentItem();
125 void UpdateCurrentItem(
const CFileItem &item);
128 void SetCurrentAlbumThumb(
const std::string &thumbFileName);
137 int TranslateSkinVariableString(
const std::string& name,
int context);
160 Property(
const std::string &property,
const std::string ¶meters);
162 const std::string ¶m(
unsigned int n = 0)
const;
163 unsigned int num_params()
const;
167 std::vector<std::string> params;
180 void SplitInfoString(
const std::string &infoString, std::vector<Property> &info);
182 int TranslateSingleString(
const std::string &strCondition);
183 int TranslateListItem(
const Property& cat,
const Property& prop,
int id,
bool container);
184 int TranslateMusicPlayerString(
const std::string &info)
const;
185 int TranslateVideoPlayerString(
const std::string& info)
const;
186 int TranslatePlayerString(
const std::string& info)
const;
187 static TIME_FORMAT TranslateTimeFormat(
const std::string &format);
196 std::string GetSkinVariableString(
int info,
198 bool preferImage =
false,
203 int ResolveMultiInfo(
int info)
const;
204 bool IsListItemInfo(
int info)
const;
210 std::vector<KODI::GUILIB::GUIINFO::CGUIInfo> m_multiInfo;
215 typedef std::set<INFO::InfoPtr, bool(*)(const INFO::InfoPtr&, const INFO::InfoPtr&)> INFOBOOLTYPE;
216 INFOBOOLTYPE m_bools;
217 unsigned int m_refreshCounter = 0;
218 std::vector<INFO::CSkinVariableString> m_skinVariableStrings;
220 CCriticalSection m_critInfo;
Definition: GUIInfoManager.h:53
A class wishing to receive messages should implement this and call.
Definition: IMessageTarget.h:23
Definition: GUIListItem.h:30
Definition: IGUIInfoProvider.h:28
Definition: ThreadMessage.h:25
Definition: ContextMenuItem.h:23
Controller configuration window.
Definition: AudioDecoder.h:18
Definition: SkinVariable.h:29
KODI::GUILIB::GUIINFO::CGUIInfoProviders & GetInfoProviders()
get access to the registered guiinfo providers
Definition: GUIInfoManager.h:152
Definition: GUIInfoProviders.h:43
Definition: VideoInfoTag.h:51
Definition: MusicInfoTag.h:27
Represents a file on a share.
Definition: FileItem.h:102
Definition: Application.h:79