xbmc
Public Member Functions | Protected Types | Static Protected Member Functions | Protected Attributes | List of all members
CMultiProvider Class Reference

A listprovider that handles multiple individual providers. More...

#include <MultiProvider.h>

Inheritance diagram for CMultiProvider:
Inheritance graph
[legend]
Collaboration diagram for CMultiProvider:
Collaboration graph
[legend]

Public Member Functions

 CMultiProvider (const TiXmlNode *first, int parentID)
 
 CMultiProvider (const CMultiProvider &other)
 
std::unique_ptr< IListProviderClone () override
 Create an instance of the derived class. Allows for polymorphic copies.
 
bool Update (bool forceRefresh) override
 Update the list content. More...
 
void Fetch (std::vector< CGUIListItemPtr > &items) override
 Fetch the current list of items. More...
 
bool IsUpdating () const override
 Check whether the list provider is updating content. More...
 
void Reset () override
 Reset the current list of items. Derived classes may choose to ignore this.
 
bool OnClick (const CGUIListItemPtr &item) override
 Click event on an item. More...
 
bool OnInfo (const CGUIListItemPtr &item) override
 Open the info dialog for an item provided by this IListProvider. More...
 
bool OnContextMenu (const CGUIListItemPtr &item) override
 Open the context menu for an item provided by this IListProvider. More...
 
- Public Member Functions inherited from IListProvider
 IListProvider (int parentID)
 
 IListProvider (const IListProvider &other)=default
 
virtual void FreeResources (bool immediately)
 Free all GUI resources allocated by the items. More...
 
virtual bool OnPlay (const CGUIListItemPtr &item)
 Play event on an item. More...
 
virtual void SetDefaultItem (int item, bool always)
 Set the default item to focus. For backwards compatibility. More...
 
virtual int GetDefaultItem () const
 The default item to focus. More...
 
virtual bool AlwaysFocusDefaultItem () const
 Whether to always focus the default item. More...
 

Protected Types

typedef size_t item_key_type
 

Static Protected Member Functions

static item_key_type GetItemKey (CGUIListItemPtr const &item)
 

Protected Attributes

std::vector< IListProviderPtr > m_providers
 
std::map< item_key_type, IListProvider * > m_itemMap
 
CCriticalSection m_section
 
- Protected Attributes inherited from IListProvider
int m_parentID
 

Additional Inherited Members

- Static Public Member Functions inherited from IListProvider
static std::unique_ptr< IListProviderCreate (const TiXmlNode *parent, int parentID)
 Factory to create list providers. More...
 
static std::unique_ptr< IListProviderCreateSingle (const TiXmlNode *content, int parentID)
 Factory to create list providers. Cannot create a multi-provider. More...
 

Detailed Description

A listprovider that handles multiple individual providers.

Member Function Documentation

◆ Fetch()

void CMultiProvider::Fetch ( std::vector< CGUIListItemPtr > &  items)
overridevirtual

Fetch the current list of items.

Parameters
items[out] the list to be filled.

Implements IListProvider.

◆ IsUpdating()

bool CMultiProvider::IsUpdating ( ) const
overridevirtual

Check whether the list provider is updating content.

Returns
true if in the processing of updating, false otherwise.

Reimplemented from IListProvider.

◆ OnClick()

bool CMultiProvider::OnClick ( const CGUIListItemPtr &  item)
overridevirtual

Click event on an item.

Parameters
itemthe item that was clicked.
Returns
true if the click was handled, false otherwise.

Implements IListProvider.

◆ OnContextMenu()

bool CMultiProvider::OnContextMenu ( const CGUIListItemPtr &  item)
overridevirtual

Open the context menu for an item provided by this IListProvider.

Parameters
itemthe item that was clicked.
Returns
true if the click was handled, false otherwise.

Implements IListProvider.

◆ OnInfo()

bool CMultiProvider::OnInfo ( const CGUIListItemPtr &  item)
overridevirtual

Open the info dialog for an item provided by this IListProvider.

Parameters
itemthe item that was clicked.
Returns
true if the dialog was shown, false otherwise.

Implements IListProvider.

◆ Update()

bool CMultiProvider::Update ( bool  forceRefresh)
overridevirtual

Update the list content.

Returns
true if the content has changed, false otherwise.

Implements IListProvider.


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