diff options
Diffstat (limited to 'libresourceqt/src/resource-factory.cpp')
-rw-r--r-- | libresourceqt/src/resource-factory.cpp | 31 |
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; + } +} |