22#include <com/sun/star/uno/Reference.hxx>
34class XControllerManager;
47class ConfigurationClassifier;
48class ConfigurationUpdaterLock;
49class ConfigurationControllerResourceManager;
50class ConfigurationControllerBroadcaster;
68 std::shared_ptr<ConfigurationControllerResourceManager> pResourceManager,
78 void RequestUpdate(
const css::uno::Reference<css::drawing::framework::XConfiguration>&
79 rxRequestedConfiguration);
81 const css::uno::Reference<css::drawing::framework::XConfiguration>&
92 std::shared_ptr<ConfigurationUpdaterLock>
GetLock();
168 const css::uno::Reference<css::drawing::framework::XConfiguration>& rxConfiguration,
169 ::std::vector<css::uno::Reference<css::drawing::framework::XResourceId>>&
170 rResourcesToDeactivate);
A ConfigurationClassifier object compares two configurations of resources and gives access to the dif...
This is a helper class for the ConfigurationController.
ConfigurationUpdater(std::shared_ptr< ConfigurationControllerBroadcaster > pBroadcaster, std::shared_ptr< ConfigurationControllerResourceManager > pResourceManager, const rtl::Reference<::sd::DrawController > &xControllerManager)
Create a new ConfigurationUpdater object that notifies configuration changes and the start and end of...
Timer maUpdateTimer
This timer is used to check from time to time whether the requested configuration and the current con...
void RequestUpdate(const css::uno::Reference< css::drawing::framework::XConfiguration > &rxRequestedConfiguration)
Request an update of the current configuration so that it looks like the given requested configuratio...
void UnlockUpdates()
When an update was requested since the last LockUpdates() call then RequestUpdate() is called.
bool IsUpdatePossible() const
Return whether it is possible to do an update of the configuration.
std::shared_ptr< ConfigurationUpdaterLock > GetLock()
Return a lock of the called ConfigurationUpdater.
void UpdateCore(const ConfigurationClassifier &rClassifier)
Basically calls UpdaterStart() andUpdateEnd() and makes some debug output.
sal_Int32 mnLockCount
The ConfigurationController is locked when this count has a value larger then zero.
void UpdateConfiguration()
This method does the main work of an update.
bool mbUpdatePending
This flag is set to </sal_True> when an update of the current configuration was requested (because th...
rtl::Reference<::sd::DrawController > mxControllerManager
A reference to the XControllerManager is kept so that UpdateConfiguration() has access to the other s...
css::uno::Reference< css::drawing::framework::XConfiguration > mxRequestedConfiguration
The requested configuration holds the resources that have been requested to activate or to deactivate...
void CheckPureAnchors(const css::uno::Reference< css::drawing::framework::XConfiguration > &rxConfiguration, ::std::vector< css::uno::Reference< css::drawing::framework::XResourceId > > &rResourcesToDeactivate)
Check for all pure anchors if they have at least one child.
std::shared_ptr< ConfigurationControllerResourceManager > mpResourceManager
bool mbUpdateBeingProcessed
This flag is set to </sal_True> while the UpdateConfiguration() method is running.
void LockUpdates()
Lock updates of the current configuration.
const css::uno::Reference< css::drawing::framework::XConfiguration > & GetCurrentConfiguration() const
DECL_LINK(TimeoutHandler, Timer *, void)
void SetUpdateBeingProcessed(bool bValue)
This method sets the mbUpdateBeingProcessed member that is used to prevent reentrance problems.
void CleanRequestedConfiguration()
Remove from the requested configuration all pure anchors that have no child.
css::uno::Reference< css::drawing::framework::XConfiguration > mxCurrentConfiguration
The current configuration holds the resources that are currently active.
sal_Int32 mnFailedUpdateCount
The number of failed updates (those after which the current configuration is not equivalent to the re...
std::shared_ptr< ConfigurationControllerBroadcaster > mpBroadcaster
void CheckUpdateSuccess()
Check the success of a recently executed configuration update.