From a7761546eddf14689984ad95f5f6c3aeb4024362 Mon Sep 17 00:00:00 2001 From: Vsevolod Buzinov Date: Tue, 31 Aug 2010 17:33:38 +0300 Subject: Added security-related changes such as error signal in resource engine --- libresourceqt/include/qt4/policy/resource-set.h | 20 +++++++++++++------- libresourceqt/src/resource-engine.cpp | 3 +++ libresourceqt/src/resource-engine.h | 1 + libresourceqt/src/resource-set.cpp | 3 +++ 4 files changed, 20 insertions(+), 7 deletions(-) (limited to 'libresourceqt') diff --git a/libresourceqt/include/qt4/policy/resource-set.h b/libresourceqt/include/qt4/policy/resource-set.h index b3da922..4943c35 100644 --- a/libresourceqt/include/qt4/policy/resource-set.h +++ b/libresourceqt/include/qt4/policy/resource-set.h @@ -205,28 +205,34 @@ signals: */ void resourcesBecameAvailable(const QList &availableResources); /** - * This signal is emited as a response to the acquire() request. + * This signal is emitted as a response to the acquire() request. * \param grantedOptionalResources The list of granted optional resources. - * All the mandatory resources have also been aquired. + * All the mandatory resources have also been acquired. */ void resourcesGranted(const QList &grantedOptionalResources); /** - * This signal is emited as a response to the acquire() request, in the - * case where one or more of the mandatroy resources were not availalble. + * This signal is emitted as a response to the acquire() request, in the + * case where one or more of the mandatory resources were not available. */ void resourcesDenied(); /** - * This signal is emited as a response to the release() request. + * This signal is emitted as a response to the release() request. */ void resourcesReleased(); /** - * This signal is emited when some other program with a higher priority - * superseeds us, and as a result we loose (some of) our resources. + * This signal is emitted when some other program with a higher priority + * supersedes us, and as a result we loose (some of) our resources. * It is very important to connect to this signal as it is signaling when * the acquired resources shouldn't be used anymore. */ void lostResources(); + /** + * Subscribe to this signal to receive error notifications, + * particularly security errors. + */ + void errorCallback(quint32, const char*); + private: bool initialize(); diff --git a/libresourceqt/src/resource-engine.cpp b/libresourceqt/src/resource-engine.cpp index dae826b..47ec436 100644 --- a/libresourceqt/src/resource-engine.cpp +++ b/libresourceqt/src/resource-engine.cpp @@ -425,6 +425,9 @@ void ResourceEngine::handleError(quint32 requestNo, qint32 code, const char *mes qDebug("ResourceEngine(%d) - Error on request %u(0x%02x): %d - %s", identifier, requestNo, originalMessageType, code, message); messageMap.remove(requestNo); + + qDebug("emitting errorCallback"); + emit errorCallback(code, message); } bool ResourceEngine::isConnectedToManager() diff --git a/libresourceqt/src/resource-engine.h b/libresourceqt/src/resource-engine.h index 38849aa..58e071b 100644 --- a/libresourceqt/src/resource-engine.h +++ b/libresourceqt/src/resource-engine.h @@ -59,6 +59,7 @@ signals: void resourcesLost(quint32 bitmaskOfGrantedResources); void connectedToManager(); void disconnectedFromManager(); + void errorCallback(quint32 code, const char* ); private: bool connected; diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp index babddfe..b5d3de2 100644 --- a/libresourceqt/src/resource-set.cpp +++ b/libresourceqt/src/resource-set.cpp @@ -46,6 +46,9 @@ bool ResourceSet::initialize() this, SLOT(handleResourcesLost(quint32))); QObject::connect(resourceEngine, SIGNAL(resourcesBecameAvailable(quint32)), this, SLOT(handleResourcesBecameAvailable(quint32))); + QObject::connect(resourceEngine, SIGNAL(errorCallback(quint32, const char*)), + this, SIGNAL(errorCallback(quint32, const char*))); + qDebug("initializing resource engine..."); if (!resourceEngine->initialize()) { return false; -- cgit v1.2.3