From 05f8fa1ebccab6eb55ccbd8a3921bc7016512749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20L=C3=B6fman?= Date: Thu, 18 Nov 2010 14:50:40 +0200 Subject: Added bool ResourceSet::initAndConnect() so that one can connect without acquiring. --- libresourceqt/include/qt4/policy/resource-set.h | 5 +++++ libresourceqt/src/resource-set.cpp | 27 ++++++++++++++++++------- resourceqt-client/client.cpp | 5 +++-- 3 files changed, 28 insertions(+), 9 deletions(-) diff --git a/libresourceqt/include/qt4/policy/resource-set.h b/libresourceqt/include/qt4/policy/resource-set.h index dad892e..03c9d95 100644 --- a/libresourceqt/include/qt4/policy/resource-set.h +++ b/libresourceqt/include/qt4/policy/resource-set.h @@ -208,6 +208,11 @@ public: */ QString applicationClass(); + /** + * Initialize and connect the ResourceEngine of this ResourceSet. + */ + bool initAndConnect(); + /** * Try to acquire the \ref ResourceSet. The resourcesGranted() or * resourcesDenied() signal will be emited depending on whether the diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp index 8b46664..b6885a5 100644 --- a/libresourceqt/src/resource-set.cpp +++ b/libresourceqt/src/resource-set.cpp @@ -228,21 +228,34 @@ Resource * ResourceSet::resource(ResourceType type) const return resourceSet[type]; } -bool ResourceSet::acquire() +bool ResourceSet::initAndConnect() { - if (!initialized) { + if ( !initialized ) + { qDebug("ResourceSet::%s().... initializing...", __FUNCTION__); - pendingAcquire = true; return initialize(); } - if (!resourceEngine->isConnectedToManager()) { + if ( !resourceEngine->isConnectedToManager() ) + { qDebug("ResourceSet::%s().... connecting...", __FUNCTION__); + return resourceEngine->connectToManager(); + } + else + qDebug("ResourceSet::%s(): already connected", __FUNCTION__); + + return true; +} + +bool ResourceSet::acquire() +{ + if ( !initialized || !resourceEngine->isConnectedToManager() ) + { pendingAcquire = true; - resourceEngine->connectToManager(); - return true; + return initAndConnect(); } - else { + else + { qDebug("ResourceSet::%s().... acquiring", __FUNCTION__); return resourceEngine->acquireResources(); } diff --git a/resourceqt-client/client.cpp b/resourceqt-client/client.cpp index 25ae5a1..804ac56 100644 --- a/resourceqt-client/client.cpp +++ b/resourceqt-client/client.cpp @@ -133,9 +133,10 @@ bool Client::initialize(const CommandLineParser &parser) this, SLOT(doExit()))) { return false; } - output << "accepting input" << endl; - showPrompt(); + resourceSet->initAndConnect(); + output << "connecting...accepting input" << endl; + showPrompt(); return true; } -- cgit v1.2.3