diff options
author | Wolf Bergenheim <ext-wolf.2.bergenheim@nokia.com> | 2010-01-04 10:39:27 +0200 |
---|---|---|
committer | Wolf Bergenheim <ext-wolf.2.bergenheim@nokia.com> | 2010-01-04 10:39:27 +0200 |
commit | d84673cf92c0abddb12d9b24131b1af718c1543d (patch) | |
tree | d3538ccb43f9b94970a44581edb3e58d418fdc8b /src | |
parent | 3ef3f8cd8d6bcb2d8c3401f7f89dca07af98adae (diff) |
Split initialization to 2 phases. initialize() and connectToServer()
Diffstat (limited to 'src')
-rw-r--r-- | src/libplayback-wrapper.cpp | 7 | ||||
-rw-r--r-- | src/libplayback-wrapper.h | 2 | ||||
-rw-r--r-- | src/resource-factory.cpp | 1 | ||||
-rw-r--r-- | src/resource-library.h | 1 | ||||
-rw-r--r-- | src/resource.cpp | 4 |
5 files changed, 14 insertions, 1 deletions
diff --git a/src/libplayback-wrapper.cpp b/src/libplayback-wrapper.cpp index 904ccb6..6b51f94 100644 --- a/src/libplayback-wrapper.cpp +++ b/src/libplayback-wrapper.cpp @@ -22,9 +22,14 @@ bool LibPlaybackWrapper::initialize() return false; } if(dbusConnection == NULL) { + qDebug("Unable to connect to dbus, dbusConnection == NULL!"); return false; } - + return true; +} + +bool LibPlaybackWrapper::connectToServer() +{ enum pb_class_e libPlaybackClass = resourceClassToLibPlaybackClass(resource->getResourceClass()); quint16 libPlaybackFlags = resourceFlagToLibPlaybackFlags(resource->getResourceFlags()); libPlaybackHandle = pb_playback_new_2(dbusConnection, libPlaybackClass, libPlaybackFlags, diff --git a/src/libplayback-wrapper.h b/src/libplayback-wrapper.h index 83baf28..be86c7f 100644 --- a/src/libplayback-wrapper.h +++ b/src/libplayback-wrapper.h @@ -8,6 +8,7 @@ class LibPlaybackWrapper: public QObject, public ResourceLibrary { Q_OBJECT + Q_DISABLE_COPY( LibPlaybackWrapper ); private: DBusConnection *dbusConnection; pb_playback_t *libPlaybackHandle; @@ -16,6 +17,7 @@ public: LibPlaybackWrapper(Resource *resource); ~LibPlaybackWrapper(); bool initialize(); + bool connectToServer(); }; void libPlaybackStateHandler(pb_playback_t *libPlaybackHandle, enum pb_state_e requestedState, diff --git a/src/resource-factory.cpp b/src/resource-factory.cpp index 03566e2..b042b34 100644 --- a/src/resource-factory.cpp +++ b/src/resource-factory.cpp @@ -20,6 +20,7 @@ Resource * ResourceFactory::createResource(enum ResourceClass type, quint16 usag return resource; } else { + qDebug("Failed to initialize Resource. Returning NULL!"); delete resource; return NULL; } diff --git a/src/resource-library.h b/src/resource-library.h index f9e178b..f68471d 100644 --- a/src/resource-library.h +++ b/src/resource-library.h @@ -6,6 +6,7 @@ class ResourceLibrary public: virtual ~ResourceLibrary() {} virtual bool initialize() = 0; + virtual bool connectToServer() = 0; }; #endif diff --git a/src/resource.cpp b/src/resource.cpp index 3bbe0a4..2de05ee 100644 --- a/src/resource.cpp +++ b/src/resource.cpp @@ -15,6 +15,10 @@ bool Resource::initialize(ResourceLibrary *library) return resourceLibrary->initialize(); } +bool Resource::connectToServer() +{ + return resourceLibrary->connectToServer(); +} quint16 Resource::getResourceFlags() { |