summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libplayback-wrapper.cpp14
-rw-r--r--src/libplayback-wrapper.h2
-rw-r--r--src/resource.cpp2
-rw-r--r--tests/test-resource.h5
4 files changed, 20 insertions, 3 deletions
diff --git a/src/libplayback-wrapper.cpp b/src/libplayback-wrapper.cpp
index 940945d..d260380 100644
--- a/src/libplayback-wrapper.cpp
+++ b/src/libplayback-wrapper.cpp
@@ -137,5 +137,17 @@ static void libPlaybackStateHintHandler(pb_playback_t *libPlaybackHandler, const
{
LibPlaybackWrapper *libPlaybackWrapper = static_cast<LibPlaybackWrapper*>(data);
-// libPlaybackWrapper->hintReceived(newStates);
+ libPlaybackWrapper->hintReceived(allowedStates);
+}
+
+void LibPlaybackWrapper::hintReceived(const int allowedStates[])
+{
+ if(allowedStates[PB_STATE_PLAY]) {
+ resource->emitReservable();
+ }
+ // Ignore PB_STATE_STOP
+/* else if(allowedStates[PB_STATE_STOP]) {
+
+ }
+*/
}
diff --git a/src/libplayback-wrapper.h b/src/libplayback-wrapper.h
index 103d710..24d8976 100644
--- a/src/libplayback-wrapper.h
+++ b/src/libplayback-wrapper.h
@@ -19,7 +19,9 @@ public:
~LibPlaybackWrapper();
bool initialize();
bool connectToServer();
+
void stateChanged(enum pb_state_e newState);
+ void hintReceived(const int allowedStates[]);
};
#endif
diff --git a/src/resource.cpp b/src/resource.cpp
index 3b461da..76ef720 100644
--- a/src/resource.cpp
+++ b/src/resource.cpp
@@ -62,7 +62,7 @@ void Resource::handleStateChange(enum ResourceState newState)
void Resource::emitReservable()
{
- return;
+ emit reservable();
}
bool Resource::reserve()
diff --git a/tests/test-resource.h b/tests/test-resource.h
index 9028ccd..3d5a062 100644
--- a/tests/test-resource.h
+++ b/tests/test-resource.h
@@ -16,6 +16,10 @@ private:
public:
TestResource();
~TestResource();
+
+public slots:
+ void handleReservable();
+
private slots:
void init();
@@ -29,7 +33,6 @@ private slots:
void testResources();
void testReservable();
- void handleReservable();
};
#endif