diff options
Diffstat (limited to 'resourceqt-client/client.cpp')
-rw-r--r-- | resourceqt-client/client.cpp | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/resourceqt-client/client.cpp b/resourceqt-client/client.cpp index 28d4169..539f5b0 100644 --- a/resourceqt-client/client.cpp +++ b/resourceqt-client/client.cpp @@ -159,7 +159,7 @@ void Client::updateSet(uint32_t list, uint32_t optional, bool remove) } } -bool Client::initialize(uint32_t all, uint32_t optional) +bool Client::initialize(uint32_t all, uint32_t optional, bool alwaysReply, bool autoRelease) { resourceSet = new ResourceSet(applicationClass); if( resourceSet == NULL ) @@ -167,6 +167,16 @@ bool Client::initialize(uint32_t all, uint32_t optional) return false; } + if( alwaysReply ) + { + resourceSet->setAlwaysReply(); + } + + if( autoRelease ) + { + resourceSet->setAutoRelease(); + } + updateSet(all, optional, false); if( !connect(resourceSet, SIGNAL(resourcesGranted(QList<ResourceType>)), this, SLOT(resourceAcquiredHandler(QList<ResourceType>))) ) @@ -309,14 +319,23 @@ void Client::showResources(const QList<Resource*> resList) Resource* r = resList[i]; printf("\t%s%s%s\n", resTypes[r->type()], r->isOptional() ? " (optional)" : "", - r->isGranted() ? "(granted)" : ""); + r->isGranted() ? " (granted)" : ""); } } -void Client::resourceAcquiredHandler(const QList<ResourceType>& resList) +void Client::resourceAcquiredHandler(const QList<ResourceType>& grantedResList) { - printf("\nManager grants access to these resources:\n"); - showResources(resList); + QList<Resource*> list = resourceSet->resources(); + if( !list.count() ) + { + printf("\nGranted resource set is empty. Possible bug?\n"); + } + else + { + printf("\nManager grants access to these resources:\n"); + printf("Resource set:\n"); + showResources(list); + } showPrompt(); } |