summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-01-05 10:48:35 +0200
committerWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-01-05 10:48:35 +0200
commit60e514250464d6b563ab92b19bf717e57d7b6a52 (patch)
treea0878381379c51518f43f67b4ec121058a5c3427 /include
parentd84673cf92c0abddb12d9b24131b1af718c1543d (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.h3
-rw-r--r--include/resource-types.h49
-rw-r--r--include/resource.h19
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