summaryrefslogtreecommitdiff
path: root/libresourceqt/src/resource-factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libresourceqt/src/resource-factory.cpp')
-rw-r--r--libresourceqt/src/resource-factory.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/libresourceqt/src/resource-factory.cpp b/libresourceqt/src/resource-factory.cpp
new file mode 100644
index 0000000..f500792
--- /dev/null
+++ b/libresourceqt/src/resource-factory.cpp
@@ -0,0 +1,31 @@
+#include "resource-factory.h"
+#include "libplayback-wrapper.h"
+
+using namespace ResourceTypes;
+
+ResourceFactory::ResourceFactory(QObject *parent)
+ : QObject(parent), sessionBusConnection(QDBusConnection::sessionBus())
+{
+}
+
+ResourceFactory::~ResourceFactory()
+{
+}
+
+Resource * ResourceFactory::createResource(enum ResourceClass applicationClass,
+ quint16 requestedResources)
+{
+ qDebug("We %s connected to DBus",sessionBusConnection.isConnected()?"are":"are not");
+ Resource *resource = new Resource(applicationClass, requestedResources, this);
+ ResourceLibrary *libPlayback = new LibPlaybackWrapper(resource);
+
+ bool resourceProperlyInitialized = resource->initialize(libPlayback);
+ if(resourceProperlyInitialized) {
+ return resource;
+ }
+ else {
+ qDebug("Failed to initialize Resource. Returning NULL!");
+ delete resource;
+ return NULL;
+ }
+}