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" 39 class IGUIInfoProvider;
68 int GetMessageMask()
override;
81 INFO::InfoPtr Register(
const std::string &expression,
int context = 0);
88 void UnRegister(
const INFO::InfoPtr& expression);
91 bool ConditionsChangedValues(
const std::map<INFO::InfoPtr, bool>& map);
99 bool EvaluateBool(
const std::string& expression,
101 const std::shared_ptr<CGUIListItem>& item =
nullptr);
103 int TranslateString(
const std::string &strCondition);
104 int TranslateSingleString(
const std::string &strCondition,
bool &listItemDependent);
106 std::string GetLabel(
int info,
int contextWindow, std::string* fallback =
nullptr)
const;
107 std::string GetImage(
int info,
int contextWindow, std::string *fallback =
nullptr);
108 bool GetInt(
int& value,
int info,
int contextWindow,
const CGUIListItem* item =
nullptr)
const;
109 bool GetBool(
int condition,
int contextWindow,
const CGUIListItem* item =
nullptr);
111 std::string GetItemLabel(
const CFileItem *item,
int contextWindow,
int info, std::string *fallback =
nullptr)
const;
112 std::string GetItemImage(
const CGUIListItem *item,
int contextWindow,
int info, std::string *fallback =
nullptr)
const;
121 bool GetItemInt(
int &value,
const CGUIListItem *item,
int contextWindow,
int info)
const;
122 bool GetItemBool(
const CGUIListItem *item,
int contextWindow,
int condition)
const;
126 void SetCurrentItem(
const CFileItem &item);
127 void ResetCurrentItem();
128 void UpdateCurrentItem(
const CFileItem &item);
131 void SetCurrentAlbumThumb(
const std::string &thumbFileName);
143 int TranslateSkinVariableString(
const std::string& name,
int context);
166 Property(
const std::string &property,
const std::string ¶meters);
168 const std::string ¶m(
unsigned int n = 0)
const;
169 unsigned int num_params()
const;
173 std::vector<std::string> params;
186 void SplitInfoString(
const std::string &infoString, std::vector<Property> &info);
188 int TranslateSingleString(
const std::string &strCondition);
189 int TranslateListItem(
const Property& cat,
const Property& prop,
int id,
bool container);
190 int TranslateMusicPlayerString(
const std::string &info)
const;
191 int TranslateVideoPlayerString(
const std::string& info)
const;
192 int TranslatePlayerString(
const std::string& info)
const;
193 static TIME_FORMAT TranslateTimeFormat(
const std::string &format);
202 std::string GetSkinVariableString(
int info,
204 bool preferImage =
false,
209 int ResolveMultiInfo(
int info)
const;
210 bool IsListItemInfo(
int info)
const;
216 std::vector<KODI::GUILIB::GUIINFO::CGUIInfo> m_multiInfo;
221 typedef std::set<INFO::InfoPtr, bool(*)(const INFO::InfoPtr&, const INFO::InfoPtr&)> INFOBOOLTYPE;
222 INFOBOOLTYPE m_bools;
223 unsigned int m_refreshCounter = 0;
224 std::vector<INFO::CSkinVariableString> m_skinVariableStrings;
226 CCriticalSection m_critInfo;
Definition: GUIInfoManager.h:56
A class wishing to receive messages should implement this and call.
Definition: IMessageTarget.h:23
Definition: GUIListItem.h:29
Definition: IGUIInfoProvider.h:28
Definition: ThreadMessage.h:25
Definition: GameInfoTag.h:24
Definition: ContextMenuItem.h:23
Definition: AudioDecoder.h:18
Definition: SkinVariable.h:29
KODI::GUILIB::GUIINFO::CGUIInfoProviders & GetInfoProviders()
get access to the registered guiinfo providers
Definition: GUIInfoManager.h:158
Definition: GUIInfoProviders.h:43
Definition: VideoInfoTag.h:53
Definition: MusicInfoTag.h:27
Represents a file on a share.
Definition: FileItem.h:102
Definition: Application.h:77