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/src/resource-engine.cpp | 14 +++++++----- libresourceqt/src/resource-engine.h | 3 +++ libresourceqt/src/resource-set.cpp | 41 +++++++++++++++++++++++++---------- libresourceqt/src/resource.cpp | 10 --------- 4 files changed, 41 insertions(+), 27 deletions(-) (limited to 'libresourceqt/src') diff --git a/libresourceqt/src/resource-engine.cpp b/libresourceqt/src/resource-engine.cpp index 9f42a48..1478e33 100644 --- a/libresourceqt/src/resource-engine.cpp +++ b/libresourceqt/src/resource-engine.cpp @@ -17,7 +17,7 @@ static void handleAdviceMessage(resmsg_t *msg, resset_t *rs, void *data); ResourceEngine::ResourceEngine(ResourceSet *resourceSet) : QObject(resourceSet), connected(false), resourceSet(resourceSet), libresourceConnection(NULL), libresourceSet(NULL), requestId(0), - messageMap() + messageMap(), mode(0) { } @@ -105,17 +105,16 @@ bool ResourceEngine::connect() uint32_t allResources, optionalResources, sharedResources; allResources = allResourcesToBitmask(resourceSet); optionalResources = optionalResourcesToBitmask(resourceSet); - sharedResources = sharedResourcesToBitmask(resourceSet); resourceMessage.record.rset.all = allResources; resourceMessage.record.rset.opt = optionalResources; - resourceMessage.record.rset.share = sharedResources; - resourceMessage.record.rset.mask = 0; //find out what it is + resourceMessage.record.rset.share = 0; + resourceMessage.record.rset.mask = 0; QByteArray ba = resourceSet->applicationClass().toLatin1(); resourceMessage.record.klass = ba.data(); - resourceMessage.record.mode = 0; //No auto release + resourceMessage.record.mode = mode; libresourceSet = resconn_connect(libresourceConnection, &resourceMessage, statusCallbackHandler); @@ -299,3 +298,8 @@ void ResourceEngine::handleConnectionIsUp() emit connectedToManager(); } +void ResourceEngine::setMode(quint32 newMode) +{ + mode = newMode; +} + diff --git a/libresourceqt/src/resource-engine.h b/libresourceqt/src/resource-engine.h index 6d81d8e..9d26127 100644 --- a/libresourceqt/src/resource-engine.h +++ b/libresourceqt/src/resource-engine.h @@ -41,6 +41,8 @@ public: void handleStatusMessage(quint32 requestNo); + void setMode(quint32 newMode); + signals: void resourcesBecameAvailable(QList availableResources); void resourcesAcquired(QList grantedResources); @@ -57,6 +59,7 @@ private: resset_t *libresourceSet; quint32 requestId; QMap messageMap; + quint32 mode; }; } diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp index 64bdf8e..f8f3826 100644 --- a/libresourceqt/src/resource-set.cpp +++ b/libresourceqt/src/resource-set.cpp @@ -3,7 +3,9 @@ using namespace ResourcePolicy; ResourceSet::ResourceSet(const QString &applicationClass, QObject * parent) - : QObject(parent), resourceClass(applicationClass) + : QObject(parent), resourceClass(applicationClass), autoRelease(false), + alwaysReply(false) + { identifier = (quint32)this; memset(resourceSet, 0, sizeof(QPointer)*NumberOfTypes); @@ -16,8 +18,16 @@ ResourceSet::~ResourceSet() } } +bool ResourceSet::finalize() +{ + return false; +} + void ResourceSet::addResource(const Resource *resource) { + if((resource->type() == AudioPlaybackType) || (resource->type() == AudioRecorderType)) { + qDebug("audioResource..."); + } resourceSet[resource->type()] = resource->clone(); } @@ -80,36 +90,43 @@ Resource * ResourceSet::resource(ResourceType type) const return NULL; } -bool ResourceSet::connectToManager(bool reconnectOnDisconnect) +bool ResourceSet::acquire() { return false; } -void ResourceSet::disconnectFromManager() +bool ResourceSet::release() { + return false; } -bool ResourceSet::isConnectedToManager() +bool ResourceSet::update() { return false; } -bool ResourceSet::acquire() +QString ResourceSet::applicationClass() { - return false; + return this->resourceClass; } -bool ResourceSet::release() +void ResourceSet::setAutoRelease() { - return false; + autoRelease = true; } -bool ResourceSet::update() +void ResourceSet::unsetAutoRelease() { - return false; + autoRelease = false; } -QString ResourceSet::applicationClass() +void ResourceSet::setAlwaysReply() { - return this->resourceClass; + alwaysReply = true; +} + +void ResourceSet::unsetAlwaysReply() +{ + alwaysReply = false; } + diff --git a/libresourceqt/src/resource.cpp b/libresourceqt/src/resource.cpp index fe1153e..796a345 100644 --- a/libresourceqt/src/resource.cpp +++ b/libresourceqt/src/resource.cpp @@ -29,16 +29,6 @@ void Resource::setOptional(bool resourceIsOptional) optional = resourceIsOptional; } -bool Resource::isShared() const -{ - return shared; -} - -void Resource::setShared(bool shared) -{ - this->shared = shared; -} - bool Resource::isGranted() const { return granted; -- cgit v1.2.3