summaryrefslogtreecommitdiff
path: root/libresourceqt
diff options
context:
space:
mode:
authorVsevolod Buzinov <ext-vsevolod.buzinov@nokia.com>2010-08-31 17:33:38 +0300
committerVsevolod Buzinov <ext-vsevolod.buzinov@nokia.com>2010-08-31 17:33:38 +0300
commita7761546eddf14689984ad95f5f6c3aeb4024362 (patch)
tree45dc6ab1318d448db1fb5d682c3d96cd9fa3f276 /libresourceqt
parente259ac49bc79329e2b6736eab08f666e3ab87615 (diff)
Added security-related changes such as error signal in resource engine
Diffstat (limited to 'libresourceqt')
-rw-r--r--libresourceqt/include/qt4/policy/resource-set.h20
-rw-r--r--libresourceqt/src/resource-engine.cpp3
-rw-r--r--libresourceqt/src/resource-engine.h1
-rw-r--r--libresourceqt/src/resource-set.cpp3
4 files changed, 20 insertions, 7 deletions
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<ResourcePolicy::ResourceType> &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<ResourcePolicy::ResourceType> &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;