summaryrefslogtreecommitdiff
path: root/resourceqt-client/client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'resourceqt-client/client.cpp')
-rw-r--r--resourceqt-client/client.cpp29
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();
}