diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/resource-factory.h | 22 | ||||
-rw-r--r-- | include/resource-types.h | 24 | ||||
-rw-r--r-- | include/resource.h | 50 |
3 files changed, 96 insertions, 0 deletions
diff --git a/include/resource-factory.h b/include/resource-factory.h new file mode 100644 index 0000000..90131c9 --- /dev/null +++ b/include/resource-factory.h @@ -0,0 +1,22 @@ +#ifndef RESOURCEFACTORY_H +#define RESOURCEFACTORY_H + +#include <QObject> +#include <QDBusConnection> +#include "resource-types.h" + +class ResourceLibrary; +class Resource; + +class ResourceFactory: public QObject +{ + Q_OBJECT +private: + QDBusConnection sessionBusConnection; +public: + ResourceFactory(QObject *parent = 0); + ~ResourceFactory(); + Resource * createResource(enum ResourceClass type, quint16 usageFlags=RP_FLAGS_AUDIO); +}; + +#endif diff --git a/include/resource-types.h b/include/resource-types.h new file mode 100644 index 0000000..5732251 --- /dev/null +++ b/include/resource-types.h @@ -0,0 +1,24 @@ +#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 + +#endif diff --git a/include/resource.h b/include/resource.h new file mode 100644 index 0000000..1cec065 --- /dev/null +++ b/include/resource.h @@ -0,0 +1,50 @@ +#ifndef RESOURCE_H +#define RESOURCE_H + +#include <QObject> +#include <QPointer> +#include "resource-library.h" +#include "resource-types.h" + +class Resource: public QObject +{ + Q_OBJECT + friend class ResourceFactory; + friend class TestResource; +private: + enum ResourceClass resourceClass; + quint16 flags; + ResourceLibrary *resourceLibrary; + + bool initialize(ResourceLibrary *library); + Resource(enum ResourceClass type, quint16 resourceFlags, QObject *parent=0); +public: + virtual ~Resource(); + + enum ResourceClass getResourceClass(); + quint16 getResourceFlags(); + + virtual bool requestExclusiveAccess(); + virtual bool releaseExclusiveAccess(); + virtual bool getExclusiveAccessState(); +/* + virtual bool setMute(); + virtual bool unsetMute(); + virtual bool requestMute(); + + virtual bool setPrivacyOverride(); + virtual bool unsetPrivacyOverride(); + virtual bool requestPrivacyOverride(); + + virtual bool setBluetoothOverride(); + virtual bool unsetBluetoothOverride(); + virtual bool requestBluetoothOverride(); + + virtual bool setPID(pid_t pid); + virtual bool setStreamName(const QString & name); +*/ + // completed and discarded from libplayback? what are those? +}; + +#endif + |