diff options
author | Wolf Bergenheim <ext-wolf.2.bergenheim@nokia.com> | 2010-01-05 10:48:35 +0200 |
---|---|---|
committer | Wolf Bergenheim <ext-wolf.2.bergenheim@nokia.com> | 2010-01-05 10:48:35 +0200 |
commit | 60e514250464d6b563ab92b19bf717e57d7b6a52 (patch) | |
tree | a0878381379c51518f43f67b4ec121058a5c3427 /include | |
parent | d84673cf92c0abddb12d9b24131b1af718c1543d (diff) |
Renamed things to improive the API and implemented the mandatory State
Changed handler. Added access methods to Resource.
Diffstat (limited to 'include')
-rw-r--r-- | include/resource-factory.h | 3 | ||||
-rw-r--r-- | include/resource-types.h | 49 | ||||
-rw-r--r-- | include/resource.h | 19 |
3 files changed, 47 insertions, 24 deletions
diff --git a/include/resource-factory.h b/include/resource-factory.h index 2e544fe..b49a6e8 100644 --- a/include/resource-factory.h +++ b/include/resource-factory.h @@ -16,7 +16,8 @@ private: public: ResourceFactory(QObject *parent = 0); ~ResourceFactory(); - Resource * createResource(enum ResourceClass type, quint16 usageFlags=RP_FLAGS_AUDIO); + Resource * createResource(enum ResourceTypes::ResourceClass applicationClass, + quint16 requestedResources=ResourceTypes::AudioResource); }; #endif diff --git a/include/resource-types.h b/include/resource-types.h index 5732251..57c6bfc 100644 --- a/include/resource-types.h +++ b/include/resource-types.h @@ -1,24 +1,35 @@ #ifndef RESOURCE_TYPES_H #define RESOURCE_TYPES_H -enum ResourceClass { - InvalidClass = 0, - VoIPClass, - CallClass = VoIPClass, - MediaClass, - BackgroundClass, - RingtoneClass, - VoiceUIClass, - CameraClass, - GameClass, - AlarmClass, - FlashClass, - SystemClass, - InputClass -}; -#define RP_FLAGS_AUDIO 0x01 -#define RP_FLAGS_VIDEO 0x02 -#define RP_FLAGS_AUDIO_RECORDING 0x04 -#define RP_FLAGS_VIDEO_RECORDING 0x08 +namespace ResourceTypes { + enum ResourceClass { + InvalidClass = 0, + VoIPClass, + CallClass = VoIPClass, + MediaClass, + BackgroundClass, + RingtoneClass, + VoiceUIClass, + CameraClass, + GameClass, + AlarmClass, + FlashClass, + SystemClass, + InputClass + }; + + enum ResourceType { + AudioResource = 0x01, + VideoResource = 0x02, + AudioRecorderResource = 0x04, + VideoRecorderResource = 0x08 + }; + + enum ResourceState { + UnknownState, + NotOwnedState, + OwnedState + }; +} #endif diff --git a/include/resource.h b/include/resource.h index 3cdf8b8..0be0b3a 100644 --- a/include/resource.h +++ b/include/resource.h @@ -6,6 +6,8 @@ #include "resource-library.h" #include "resource-types.h" +using namespace ResourceTypes; + class Resource: public QObject { Q_OBJECT @@ -14,19 +16,25 @@ class Resource: public QObject friend class TestResource; private: enum ResourceClass resourceClass; - quint16 flags; + quint16 resourceType; ResourceLibrary *resourceLibrary; + enum ResourceState resourceState; + Resource(enum ResourceClass requestedClass, quint16 requestedResources, QObject *parent=0); bool initialize(ResourceLibrary *library); - Resource(enum ResourceClass type, quint16 resourceFlags, QObject *parent=0); public: virtual ~Resource(); - enum ResourceClass getResourceClass(); - quint16 getResourceFlags(); + bool hasExclusiveAccess() const; + bool hasResource(enum ResourceType resourceType) const; + + enum ResourceClass applicationClass() const; + quint16 resources() const; bool connectToServer(); + void handleStateChange(enum ResourceState newState); + virtual bool requestExclusiveAccess(); virtual bool releaseExclusiveAccess(); virtual bool getExclusiveAccessState(); @@ -47,6 +55,9 @@ public: virtual bool setStreamName(const QString & name); */ // completed and discarded from libplayback? what are those? +signals: + void connectedToServer(); + void stateChanged(enum ResourceState newState); }; #endif |