From 80042b6e527238d11dd2c955e47b652941c2ba6e Mon Sep 17 00:00:00 2001 From: Wolf Bergenheim Date: Wed, 10 Feb 2010 11:55:19 +0200 Subject: Updated API to hide the whole resource manager and stuff --- libresourceqt/include/qt4/policy/resource-set.h | 83 ++++++++++++++----------- libresourceqt/include/qt4/policy/resource.h | 19 ++---- 2 files changed, 51 insertions(+), 51 deletions(-) (limited to 'libresourceqt/include') diff --git a/libresourceqt/include/qt4/policy/resource-set.h b/libresourceqt/include/qt4/policy/resource-set.h index d998807..0e18e5b 100644 --- a/libresourceqt/include/qt4/policy/resource-set.h +++ b/libresourceqt/include/qt4/policy/resource-set.h @@ -74,10 +74,11 @@ namespace ResourcePolicy */ ~ResourceSet(); /** - * Initializes the underlaying communications library. - * \return true if initialization is successful. + * Finalizes the ResourceSet. This method should be called after all + * resources have been added to the set. + * \return true if the finalization was successful. */ - bool initialize(); + bool finalize(); /** * This method adds a resource to the set. A set contains only a single @@ -127,57 +128,74 @@ namespace ResourcePolicy */ bool contains(const QList &types) const; + /** + * Returns the unique identifier for this ResourceSet. + * @return the unique identifier for this ResourceSet. + */ quint32 id() const; + + /** + * Returns the registered application class (given in the constructor). + */ QString applicationClass(); /** - * Connects to the Resource Policy Manager. The connected() signal is sent - * when the connection has been established. Acquiring the ResourceSet can - * be attempted at any time after this, but not before. - * \return true if the connection request was successfully sent. - * \param reconnectOnDisconnect. Set to true to automatically reconnect on - * lost connection to the Policy Resource Manager. This optional parameter - * defaults to true. + * Try to acquire the \ref ResourceSet. The resourcesGranted() or + * resourcesDenied() signal will be emited depending on whether the + * requested resources could be acquired or not. */ - bool connectToManager(bool reconnectOnDisconnect); + bool acquire(); /** - * Disconnects from the Resource Policy Manager. Further attempts at acquiring - * the \ref ResourceSet will fail. + * Release the acquired resources. */ - void disconnectFromManager(); + bool release(); /** - * Checks whether the ResourceSet is connected or not. + * Commit changes to the \ref ResourceSet. Remember to call update() + * after adding and/or removing resources. */ - bool isConnectedToManager(); + bool update(); + /** - * Attempt to acquire the ResourceSet. The response is returned as the - * resourcesAcquired() signal. + * Stes the auto-release. When loosing the resources doue to another + * application with a higher priority the default is that we automatically + * re-gain our resources without having to re-request them. However if + * the AutoRelease is set we release the resources and need to re-acquire + * them, when the pre-emting application releases it s resources. + * This feature is by default disabled. + * Remember to call update() when changing this. */ - bool acquire(); + void setAutoRelease(); /** - * Release the acquired resources. + * see \ref setAutoRelease(). */ - bool release(); + void unsetAutoRelease(); /** - * Commit changes to the \ref ResourceSet to the Manager. + * Sets that the resourcesGranted() signal is emited even if we already + * have the requested resources granted. By default this feature is off. */ - bool update(); + void setAlwaysReply(); + /** + * Unsets the always reply flag (see \ref setAlwaysReply()) + */ + void unsetAlwaysReply(); - signals: + signals: /** * This signal is emited when the Resource Policy Manager notifies that * the given resources have become available. - * \param availableResources A list of available resources. + * \param availableResources A list of available resources. The list of + * available resources contains only available resource which we have in the set. */ void resourcesBecameAvailable(QList availableResources); /** * This signal is emited as a response to the acquire() request. * \param grantedOptionalResources The list of granted optional resources. + * All the mandatory resources have also been aquired. */ void resourcesGranted(QList grantedOptionalResources); /** * This signal is emited as a response to the acquire() request, in the - * case where we are not granted any requests. + * case where one or more of the mandatroy resources were not availalble. */ void resourcesDenied(); /** @@ -185,21 +203,14 @@ namespace ResourcePolicy * superseeds us, and as a result we loose our resources. */ void lostResources(); - /** - * This signal is emited when we have successfully connected to the manager. - */ - void connectedToManager(); - /** - * This signal is emited when we loose the connection to the manager. - * A reconnect is automatically attempted. - */ - void disconnectedFromManager(); - private: quint32 identifier; const QString resourceClass; Resource* resourceSet[NumberOfTypes]; + bool connected; + bool autoRelease; + bool alwaysReply; }; } diff --git a/libresourceqt/include/qt4/policy/resource.h b/libresourceqt/include/qt4/policy/resource.h index 13265d5..4b68ab1 100644 --- a/libresourceqt/include/qt4/policy/resource.h +++ b/libresourceqt/include/qt4/policy/resource.h @@ -45,21 +45,7 @@ namespace ResourcePolicy { * programs are allowed to share this resource. * \return true when this resource is shared. */ - bool isShared() const; - /** - * Sets the resource to be shared/private. - * \param resourceIsShared This optional parameter defaults to true. - * When it is set to true (de default) the resource is shared with - * other programs. Setting it to false makes this resource exclusive. - */ - void setShared(bool resourceIsShared=true); - /** - * Whether or not this resource has been granted. - * \return true if this resource has been granted. - */ bool isGranted() const; - void setGranted(); - void unsetGranted(); virtual ResourceType type() const = 0; virtual Resource * clone() const = 0; @@ -70,9 +56,12 @@ namespace ResourcePolicy { ResourceType resourceType; bool optional; - bool shared; quint32 identifier; + private: + void setGranted(); + void unsetGranted(); bool granted; + }; } -- cgit v1.2.3