summaryrefslogtreecommitdiff
path: root/libresourceqt/src/resource-set.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libresourceqt/src/resource-set.cpp')
-rw-r--r--libresourceqt/src/resource-set.cpp111
1 files changed, 111 insertions, 0 deletions
diff --git a/libresourceqt/src/resource-set.cpp b/libresourceqt/src/resource-set.cpp
new file mode 100644
index 0000000..c7862ef
--- /dev/null
+++ b/libresourceqt/src/resource-set.cpp
@@ -0,0 +1,111 @@
+#include "resource-set.h"
+using namespace ResourcePolicy;
+
+
+ResourceSet::ResourceSet(const QString &applicationClass, QObject * parent)
+ : QObject(parent), applicationClass(applicationClass)
+{
+ identifier = (quint32)this;
+ memset(resourceSet, 0, sizeof(QPointer<Resource>)*NumberOfTypes);
+}
+
+ResourceSet::~ResourceSet()
+{
+ for(int i=0;i<NumberOfTypes;i++) {
+ delete resourceSet[i];
+ }
+}
+
+void ResourceSet::addResource(const Resource *resource)
+{
+ resourceSet[resource->type()] = resource->clone();
+}
+
+void ResourceSet::addResources(const QList<Resource *>resources)
+{
+ for(int i=0; i < resources.size(); i++) {
+ addResource(resources.at(i));
+ }
+}
+
+void ResourceSet::delResource(ResourceType type)
+{
+ if(contains(type)) {
+ delete resourceSet[type];
+ resourceSet[type] = NULL;
+ }
+}
+
+bool ResourceSet::contains(ResourceType type) const
+{
+ if((type < NumberOfTypes) && (resourceSet[type] != NULL))
+ return true;
+ else
+ return false;
+}
+
+bool ResourceSet::contains(const QList<ResourceType> &types) const
+{
+ bool containsAll=true;
+ int i=0;
+ do {
+ containsAll = contains(types.at(i));
+ i++;
+ } while((i < NumberOfTypes) && containsAll);
+ return containsAll;
+}
+
+quint32 ResourceSet::id() const
+{
+ return identifier;
+}
+
+QList<Resource *> ResourceSet::resources()
+{
+ QList<Resource *> listOfResources;
+ for(int i=0; i < NumberOfTypes; i++) {
+ if(resourceSet[i] != NULL) {
+ Resource *clone = resourceSet[i]->clone();
+ listOfResources.append(clone);
+ }
+ }
+ return listOfResources;
+}
+
+Resource * ResourceSet::resource(ResourceType type) const
+{
+ if(contains(type))
+ return resourceSet[type]->clone();
+ else
+ return NULL;
+}
+
+bool ResourceSet::connectToManager(bool reconnectOnDisconnect)
+{
+ return false;
+}
+
+void ResourceSet::disconnectFromManager()
+{
+}
+
+bool ResourceSet::isConnectedToManager()
+{
+ return false;
+}
+
+bool ResourceSet::acquire()
+{
+ return false;
+}
+
+bool ResourceSet::release()
+{
+ return false;
+}
+
+bool ResourceSet::update()
+{
+ return false;
+}
+