summaryrefslogtreecommitdiff
path: root/include/resource-set.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/resource-set.h')
-rw-r--r--include/resource-set.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/resource-set.h b/include/resource-set.h
new file mode 100644
index 0000000..b62e5cd
--- /dev/null
+++ b/include/resource-set.h
@@ -0,0 +1,41 @@
+#ifndef RESOURCE_SET_H
+#define RESOURCE_SET_H
+
+#include "resource.h"
+#include <QString>
+#include <QObject>
+#include <QSet>
+
+namespace ResourcePolicy
+{
+ class ResourceSet: public QObject
+ {
+ Q_OBJECT
+ Q_DISABLE_COPY( ResourceSet )
+ public:
+ ResourceSet(const QString &applicationClass);
+ ~ResourceSet();
+
+ void addResource(const Resource &resource);
+ void addResources(const QSet<Resource> &resources);
+ void setResources(const QSet<Resource> &resources);
+ QSet<Resource> resources();
+
+ bool contains(const Resource &resource) const;
+ bool contains(const QSet<Resource> &resources) const;
+
+ quint32 id() const;
+ signals:
+ void resourcesBecameAvailable(QSet<Resource> resources);
+ void resourcesAcquired(QSet<Resource> grantedResources);
+ void resourcesDenied();
+ void lostResources();
+
+ private:
+ quint32 identifier;
+ const QString applicationClass;
+ QSet<Resource> resourceSet;
+ };
+}
+
+#endif