From 8bff62c335842b4c850cc09716e79c2f556247c7 Mon Sep 17 00:00:00 2001 From: Wolf Bergenheim Date: Tue, 2 Feb 2010 15:51:41 +0200 Subject: directory structure changes --- libresourceqt/include/resource.h | 80 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 libresourceqt/include/resource.h (limited to 'libresourceqt/include/resource.h') diff --git a/libresourceqt/include/resource.h b/libresourceqt/include/resource.h new file mode 100644 index 0000000..13265d5 --- /dev/null +++ b/libresourceqt/include/resource.h @@ -0,0 +1,80 @@ +#ifndef RESOURCE_H +#define RESOURCE_H + +#include + +namespace ResourcePolicy { + enum ResourceType { + AudioPlaybackType = 0, + VideoPlaybackType, + AudioRecorderType, + VideoRecorderType, + VibraType, + LedsType, + BacklightType, + SystemButtonType, + LockButtonType, + ScaleButtonType, + SnapButtonType, + LensCoverType, + NumberOfTypes + }; + + /** + * This class is the super class for all resources. It represents a generic + * \ref Resource. The type specific resource classes should be used. + */ + class Resource + { + public: + /** + * Whether or not this resource is optional, in that it doesn't need to + * be available for the set to be acquired. + * \return true when this resource is optional. + */ + bool isOptional() const; + /** + * Set the resource to be optional or mandatory. + * \param resourceIsOptional This optional parameter defaults to true. + * The default, true, results in the resource becoming optional. When it + * is set to false the resource becomes mandatory. + */ + void setOptional(bool resourceIsOptional=true); + /** + * Whether or not the resource to be shared. If it is shared then other + * 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; + virtual ~Resource(); + protected: + Resource(); + Resource(const Resource &other); + + ResourceType resourceType; + bool optional; + bool shared; + quint32 identifier; + bool granted; + }; +} + +#endif + -- cgit v1.2.3