11 #include "IListProvider.h"    12 #include "threads/CriticalSection.h"    17 typedef std::unique_ptr<IListProvider> IListProviderPtr;
    30   std::unique_ptr<IListProvider> 
Clone() 
override;
    31   bool Update(
bool forceRefresh) 
override;
    32   void Fetch(std::vector<std::shared_ptr<CGUIListItem>>& items) 
override;
    34   void Reset() 
override;
    35   bool OnClick(
const std::shared_ptr<CGUIListItem>& item) 
override;
    36   bool OnInfo(
const std::shared_ptr<CGUIListItem>& item) 
override;
    37   bool OnContextMenu(
const std::shared_ptr<CGUIListItem>& item) 
override;
    40   typedef size_t item_key_type;
    41   static item_key_type GetItemKey(std::shared_ptr<CGUIListItem> 
const& item);
    42   std::vector<IListProviderPtr> m_providers;
    43   std::map<item_key_type, IListProvider*> m_itemMap;
    44   CCriticalSection m_section; 
 An interface for providing lists to UI containers. 
Definition: IListProvider.h:21
A listprovider that handles multiple individual providers. 
Definition: MultiProvider.h:23
std::unique_ptr< IListProvider > Clone() override
Create an instance of the derived class. Allows for polymorphic copies. 
Definition: MultiProvider.cpp:36
bool OnContextMenu(const std::shared_ptr< CGUIListItem > &item) override
Open the context menu for an item provided by this IListProvider. 
Definition: MultiProvider.cpp:109
void Reset() override
Reset the current list of items. Derived classes may choose to ignore this. 
Definition: MultiProvider.cpp:76
bool OnInfo(const std::shared_ptr< CGUIListItem > &item) override
Open the info dialog for an item provided by this IListProvider. 
Definition: MultiProvider.cpp:98
bool IsUpdating() const override
Check whether the list provider is updating content. 
Definition: MultiProvider.cpp:68
bool Update(bool forceRefresh) override
Update the list content. 
Definition: MultiProvider.cpp:41
bool OnClick(const std::shared_ptr< CGUIListItem > &item) override
Click event on an item. 
Definition: MultiProvider.cpp:87
void Fetch(std::vector< std::shared_ptr< CGUIListItem >> &items) override
Fetch the current list of items. 
Definition: MultiProvider.cpp:49