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;
40 class IGUIInfoProvider;
69 int GetMessageMask()
override;
82 INFO::InfoPtr Register(
const std::string &expression,
int context = 0);
89 void UnRegister(
const INFO::InfoPtr& expression);
92 bool ConditionsChangedValues(
const std::map<INFO::InfoPtr, bool>& map);
100 bool EvaluateBool(
const std::string& expression,
102 const CGUIListItemPtr& item =
nullptr);
104 int TranslateString(
const std::string &strCondition);
105 int TranslateSingleString(
const std::string &strCondition,
bool &listItemDependent);
107 std::string GetLabel(
int info,
int contextWindow, std::string* fallback =
nullptr)
const;
108 std::string GetImage(
int info,
int contextWindow, std::string *fallback =
nullptr);
109 bool GetInt(
int& value,
int info,
int contextWindow,
const CGUIListItem* item =
nullptr)
const;
110 bool GetBool(
int condition,
int contextWindow,
const CGUIListItem* item =
nullptr);
112 std::string GetItemLabel(
const CFileItem *item,
int contextWindow,
int info, std::string *fallback =
nullptr)
const;
113 std::string GetItemImage(
const CGUIListItem *item,
int contextWindow,
int info, std::string *fallback =
nullptr)
const;
122 bool GetItemInt(
int &value,
const CGUIListItem *item,
int contextWindow,
int info)
const;
123 bool GetItemBool(
const CGUIListItem *item,
int contextWindow,
int condition)
const;
127 void SetCurrentItem(
const CFileItem &item);
128 void ResetCurrentItem();
129 void UpdateCurrentItem(
const CFileItem &item);
132 void SetCurrentAlbumThumb(
const std::string &thumbFileName);
144 int TranslateSkinVariableString(
const std::string& name,
int context);
167 Property(
const std::string &property,
const std::string ¶meters);
169 const std::string ¶m(
unsigned int n = 0)
const;
170 unsigned int num_params()
const;
174 std::vector<std::string> params;
187 void SplitInfoString(
const std::string &infoString, std::vector<Property> &info);
189 int TranslateSingleString(
const std::string &strCondition);
190 int TranslateListItem(
const Property& cat,
const Property& prop,
int id,
bool container);
191 int TranslateMusicPlayerString(
const std::string &info)
const;
192 int TranslateVideoPlayerString(
const std::string& info)
const;
193 int TranslatePlayerString(
const std::string& info)
const;
194 static TIME_FORMAT TranslateTimeFormat(
const std::string &format);
203 std::string GetSkinVariableString(
int info,
205 bool preferImage =
false,
210 int ResolveMultiInfo(
int info)
const;
211 bool IsListItemInfo(
int info)
const;
217 std::vector<KODI::GUILIB::GUIINFO::CGUIInfo> m_multiInfo;
222 typedef std::set<INFO::InfoPtr, bool(*)(const INFO::InfoPtr&, const INFO::InfoPtr&)> INFOBOOLTYPE;
223 INFOBOOLTYPE m_bools;
224 unsigned int m_refreshCounter = 0;
225 std::vector<INFO::CSkinVariableString> m_skinVariableStrings;
227 CCriticalSection m_critInfo;
Definition: GUIInfoManager.h:57
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: 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:159
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