LibreOffice Module sd (master) 1
Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
sd::framework::ConfigurationControllerResourceManager Class Reference

Manage the set of active resources. More...

#include <ConfigurationControllerResourceManager.hxx>

Classes

class  ResourceComparator
 
class  ResourceDescriptor
 For every active resource both the resource itself as well as its creating factory are remembered, so that on deactivation, the resource can be deactivated by this factory. More...
 

Public Member Functions

 ConfigurationControllerResourceManager (std::shared_ptr< ResourceFactoryManager > pResourceFactoryContainer, std::shared_ptr< ConfigurationControllerBroadcaster > pBroadcaster)
 A new ResourceManager object is created with the resource factory container for creating resources and the event broadcaster for notifying ConfigurationChangeListeners of activated or deactivated resources. More...
 
 ~ConfigurationControllerResourceManager ()
 
 ConfigurationControllerResourceManager (const ConfigurationControllerResourceManager &)=delete
 Forbid copy construction and copy assignment. More...
 
ConfigurationControllerResourceManageroperator= (const ConfigurationControllerResourceManager &)=delete
 
void ActivateResources (const ::std::vector< css::uno::Reference< css::drawing::framework::XResourceId > > &rResources, const css::uno::Reference< css::drawing::framework::XConfiguration > &rxConfiguration)
 Activate all the resources that are specified by resource ids in rResources. More...
 
void DeactivateResources (const ::std::vector< css::uno::Reference< css::drawing::framework::XResourceId > > &rResources, const css::uno::Reference< css::drawing::framework::XConfiguration > &rxConfiguration)
 Deactivate all the resources that are specified by resource ids in rResources. More...
 
ResourceDescriptor GetResource (const css::uno::Reference< css::drawing::framework::XResourceId > &rxResourceId)
 Return the descriptor for the specified resource. More...
 

Private Types

typedef ::std::map< css::uno::Reference< css::drawing::framework::XResourceId >, ResourceDescriptor, ResourceComparatorResourceMap
 

Private Member Functions

void ActivateResource (const css::uno::Reference< css::drawing::framework::XResourceId > &rxResourceId, const css::uno::Reference< css::drawing::framework::XConfiguration > &rxConfiguration)
 
void DeactivateResource (const css::uno::Reference< css::drawing::framework::XResourceId > &rxResourceId, const css::uno::Reference< css::drawing::framework::XConfiguration > &rxConfiguration)
 
void AddResource (const css::uno::Reference< css::drawing::framework::XResource > &rxResource, const css::uno::Reference< css::drawing::framework::XResourceFactory > &rxFactory)
 
ResourceDescriptor RemoveResource (const css::uno::Reference< css::drawing::framework::XResourceId > &rxResourceId)
 

Private Attributes

osl::Mutex maMutex
 
ResourceMap maResourceMap
 
std::shared_ptr< ResourceFactoryManagermpResourceFactoryContainer
 
std::shared_ptr< ConfigurationControllerBroadcastermpBroadcaster
 This broadcaster is used to notify the activation and deactivation of resources. More...
 

Detailed Description

Manage the set of active resources.

Activate and deactivate resources.

Definition at line 42 of file ConfigurationControllerResourceManager.hxx.

Member Typedef Documentation

◆ ResourceMap

typedef ::std::map< css::uno::Reference<css::drawing::framework::XResourceId>, ResourceDescriptor, ResourceComparator> sd::framework::ConfigurationControllerResourceManager::ResourceMap
private

Definition at line 113 of file ConfigurationControllerResourceManager.hxx.

Constructor & Destructor Documentation

◆ ConfigurationControllerResourceManager() [1/2]

sd::framework::ConfigurationControllerResourceManager::ConfigurationControllerResourceManager ( std::shared_ptr< ResourceFactoryManager pResourceFactoryContainer,
std::shared_ptr< ConfigurationControllerBroadcaster pBroadcaster 
)

A new ResourceManager object is created with the resource factory container for creating resources and the event broadcaster for notifying ConfigurationChangeListeners of activated or deactivated resources.

Definition at line 40 of file ConfigurationControllerResourceManager.cxx.

◆ ~ConfigurationControllerResourceManager()

sd::framework::ConfigurationControllerResourceManager::~ConfigurationControllerResourceManager ( )

Definition at line 49 of file ConfigurationControllerResourceManager.cxx.

◆ ConfigurationControllerResourceManager() [2/2]

sd::framework::ConfigurationControllerResourceManager::ConfigurationControllerResourceManager ( const ConfigurationControllerResourceManager )
delete

Forbid copy construction and copy assignment.

Member Function Documentation

◆ ActivateResource()

void sd::framework::ConfigurationControllerResourceManager::ActivateResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxResourceId,
const css::uno::Reference< css::drawing::framework::XConfiguration > &  rxConfiguration 
)
private

◆ ActivateResources()

void sd::framework::ConfigurationControllerResourceManager::ActivateResources ( const ::std::vector< css::uno::Reference< css::drawing::framework::XResourceId > > &  rResources,
const css::uno::Reference< css::drawing::framework::XConfiguration > &  rxConfiguration 
)

Activate all the resources that are specified by resource ids in rResources.

The resource ids of activated resources are added to the given configuration. Activated resources are notified to all interested ConfigurationChangeListeners.

Definition at line 65 of file ConfigurationControllerResourceManager.cxx.

References ActivateResource(), and maMutex.

◆ AddResource()

void sd::framework::ConfigurationControllerResourceManager::AddResource ( const css::uno::Reference< css::drawing::framework::XResource > &  rxResource,
const css::uno::Reference< css::drawing::framework::XResourceFactory > &  rxFactory 
)
private

◆ DeactivateResource()

void sd::framework::ConfigurationControllerResourceManager::DeactivateResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxResourceId,
const css::uno::Reference< css::drawing::framework::XConfiguration > &  rxConfiguration 
)
private

◆ DeactivateResources()

void sd::framework::ConfigurationControllerResourceManager::DeactivateResources ( const ::std::vector< css::uno::Reference< css::drawing::framework::XResourceId > > &  rResources,
const css::uno::Reference< css::drawing::framework::XConfiguration > &  rxConfiguration 
)

Deactivate all the resources that are specified by resource ids in rResources.

The resource ids of deactivated resources are removed from the given configuration. Activated resources are notified to all interested ConfigurationChangeListeners.

Definition at line 77 of file ConfigurationControllerResourceManager.cxx.

References maMutex.

◆ GetResource()

ConfigurationControllerResourceManager::ResourceDescriptor sd::framework::ConfigurationControllerResourceManager::GetResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxResourceId)

Return the descriptor for the specified resource.

Returns
When there is no active resource for the given resource id then an empty descriptor is returned.

Definition at line 54 of file ConfigurationControllerResourceManager.cxx.

References maMutex, and maResourceMap.

◆ operator=()

ConfigurationControllerResourceManager & sd::framework::ConfigurationControllerResourceManager::operator= ( const ConfigurationControllerResourceManager )
delete

◆ RemoveResource()

ConfigurationControllerResourceManager::ResourceDescriptor sd::framework::ConfigurationControllerResourceManager::RemoveResource ( const css::uno::Reference< css::drawing::framework::XResourceId > &  rxResourceId)
private

Member Data Documentation

◆ maMutex

osl::Mutex sd::framework::ConfigurationControllerResourceManager::maMutex
private

◆ maResourceMap

ResourceMap sd::framework::ConfigurationControllerResourceManager::maResourceMap
private

◆ mpBroadcaster

std::shared_ptr<ConfigurationControllerBroadcaster> sd::framework::ConfigurationControllerResourceManager::mpBroadcaster
private

This broadcaster is used to notify the activation and deactivation of resources.

Definition at line 121 of file ConfigurationControllerResourceManager.hxx.

Referenced by ActivateResource(), and DeactivateResource().

◆ mpResourceFactoryContainer

std::shared_ptr<ResourceFactoryManager> sd::framework::ConfigurationControllerResourceManager::mpResourceFactoryContainer
private

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