diff options
Diffstat (limited to 'src/resource-factory.cpp')
-rw-r--r-- | src/resource-factory.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/resource-factory.cpp b/src/resource-factory.cpp new file mode 100644 index 0000000..03566e2 --- /dev/null +++ b/src/resource-factory.cpp @@ -0,0 +1,26 @@ +#include "resource-factory.h" +#include "libplayback-wrapper.h" + +ResourceFactory::ResourceFactory(QObject *parent) + : QObject(parent), sessionBusConnection(QDBusConnection::sessionBus()) +{ +} + +ResourceFactory::~ResourceFactory() +{ +} + +Resource * ResourceFactory::createResource(enum ResourceClass type, quint16 usageFlags) +{ + Resource *resource = new Resource(type, usageFlags, this); + ResourceLibrary *libPlayback = new LibPlaybackWrapper(resource); + + bool resourceProperlyInitialized = resource->initialize(libPlayback); + if(resourceProperlyInitialized) { + return resource; + } + else { + delete resource; + return NULL; + } +} |