summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-01-04 10:39:27 +0200
committerWolf Bergenheim <ext-wolf.2.bergenheim@nokia.com>2010-01-04 10:39:27 +0200
commitd84673cf92c0abddb12d9b24131b1af718c1543d (patch)
treed3538ccb43f9b94970a44581edb3e58d418fdc8b /src
parent3ef3f8cd8d6bcb2d8c3401f7f89dca07af98adae (diff)
Split initialization to 2 phases. initialize() and connectToServer()
Diffstat (limited to 'src')
-rw-r--r--src/libplayback-wrapper.cpp7
-rw-r--r--src/libplayback-wrapper.h2
-rw-r--r--src/resource-factory.cpp1
-rw-r--r--src/resource-library.h1
-rw-r--r--src/resource.cpp4
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()
{