summaryrefslogtreecommitdiff
path: root/resourceqt-client
diff options
context:
space:
mode:
Diffstat (limited to 'resourceqt-client')
-rw-r--r--resourceqt-client/client.cpp66
-rw-r--r--resourceqt-client/client.h4
2 files changed, 52 insertions, 18 deletions
diff --git a/resourceqt-client/client.cpp b/resourceqt-client/client.cpp
index adf1feb..b15f054 100644
--- a/resourceqt-client/client.cpp
+++ b/resourceqt-client/client.cpp
@@ -8,6 +8,8 @@
#include "client.h"
+#define outputln output << "\n"
+
using namespace ResourcePolicy;
QMap<QString, CommandListArgs> Client::commandList;
@@ -55,7 +57,7 @@ Client::~Client()
void Client::showPrompt()
{
- output << "res-client> " << flush;
+ output << "resource-Qt> " << flush;
}
bool Client::initialize(const CommandLineParser &parser)
@@ -113,7 +115,7 @@ bool Client::initialize(const CommandLineParser &parser)
this, SLOT(doExit()))) {
return false;
}
-
+ output << "accepting input" << endl;
showPrompt();
return true;
@@ -161,7 +163,7 @@ const char * resourceTypeToString(ResourceType type)
void Client::showResources(const QList<ResourceType> &resList)
{
- output << "Resource Set:\n";
+ outputln << "Resource Set:\n";
foreach(ResourceType resource, resList) {
output << "\t" << resourceTypeToString(resource) << endl;
}
@@ -169,7 +171,7 @@ void Client::showResources(const QList<ResourceType> &resList)
void Client::showResources(const QList<Resource*> &resList)
{
- output << "Resource Set:\n";
+ outputln << "Resource Set:\n";
foreach(Resource* resource, resList) {
output << "\t" << resourceTypeToString(resource->type());
if (resource->isOptional())
@@ -180,20 +182,25 @@ void Client::showResources(const QList<Resource*> &resList)
}
}
-void Client::resourceAcquiredHandler(const QList<ResourceType>& /*grantedResList*/)
+void Client::resourceAcquiredHandler(const QList<ResourceType>&)
{
long int ms = stop_timer();
if (ms > 0) {
- output << "Operation took " << ms << "ms";
+ outputln << "Operation took " << ms << "ms" << endl;
}
QList<Resource*> list = resourceSet->resources();
if (!list.count()) {
- qFatal("Granted resource set is empty. Possible bug?");
+ qFatal("Resource set is empty, but we received a grant. Possible bug?");
}
else {
- output << "\nReceived a grant.\n";
- showResources(list);
+ QList<ResourceType> grantedResources;
+ foreach(ResourcePolicy::Resource *resource, list) {
+ if (resource->isGranted()) {
+ grantedResources << resource->type();
+ }
+ }
+ output << "granted:" << grantedResources << endl;
}
showPrompt();
}
@@ -202,10 +209,10 @@ void Client::resourceDeniedHandler()
{
long int ms = stop_timer();
if (ms > 0) {
- output << "Operation took " << ms << "ms";
+ outputln << "Operation took " << ms << "ms" << endl;
}
-
- output << "\nManager denies access to resources!" << endl;
+ QList<Resource*> allResources = resourceSet->resources();
+ output << "denied:" << allResources << endl;
showPrompt();
}
@@ -213,10 +220,11 @@ void Client::resourceLostHandler()
{
long int ms = stop_timer();
if (ms > 0) {
- output << "Operation took " << ms << "ms";
+ outputln << "Operation took " << ms << "ms" << endl;
}
- output << "\nLost resources from manager!" << endl;
+ QList<Resource*> allResources = resourceSet->resources();
+ outputln << "lost:" << allResources << endl;
showPrompt();
}
@@ -224,17 +232,17 @@ void Client::resourceReleasedHandler()
{
long int ms = stop_timer();
if (ms > 0) {
- output << "Operation took " << ms << "ms";
+ outputln << "Operation took " << ms << "ms" << endl;
}
- output << "\nAll resources released" << endl;
+ QList<Resource*> allResources = resourceSet->resources();
+ outputln << "released:"<< allResources << endl;
showPrompt();
}
void Client::resourcesBecameAvailableHandler(const QList<ResourcePolicy::ResourceType> &availableResources)
{
- output << "Manager advice: These resources are available:\n";
- showResources(availableResources);
+ outputln << "advice:" << availableResources << endl;
showPrompt();
}
@@ -431,3 +439,25 @@ void Client::readLine(int)
showPrompt();
}
+QTextStream & operator<<(QTextStream &output,
+ const QList<ResourcePolicy::Resource *>resources)
+{
+ char separator = ' ';
+ foreach(Resource* resource, resources) {
+ output << separator << resourceTypeToString(resource->type());
+ separator = ',';
+ }
+ return output;
+}
+
+QTextStream & operator<< (QTextStream &output,
+ const QList<ResourcePolicy::ResourceType>resources)
+{
+ char separator = ' ';
+ foreach(ResourceType resource, resources) {
+ output << separator << resourceTypeToString(resource);
+ separator = ',';
+ }
+ return output;
+}
+
diff --git a/resourceqt-client/client.h b/resourceqt-client/client.h
index 1a04961..2283b0f 100644
--- a/resourceqt-client/client.h
+++ b/resourceqt-client/client.h
@@ -60,5 +60,9 @@ private:
void showResources(const QList<ResourcePolicy::Resource*> &resList);
};
+QTextStream & operator<< (QTextStream &output,
+ const QList<ResourcePolicy::Resource*>resources);
+QTextStream & operator<< (QTextStream &output,
+ const QList<ResourcePolicy::ResourceType>resources);
#endif