]> git.tdb.fi Git - xinema.git/blobdiff - remote/source/xinemacontrol.h
Implement seeking and play/pause controls in the remote
[xinema.git] / remote / source / xinemacontrol.h
index 5dd5e27b225cf8c32f501a20f03759702bc5bb65..5693554836b88f7e0639810ea57f08f272affe7d 100644 (file)
@@ -8,9 +8,21 @@ class XinemaControl: public QObject
 {
        Q_OBJECT
 
+public:
+       enum PlaybackState
+       {
+               STOPPED,
+               PAUSED,
+               PLAYING
+       };
+
 private:
        QTcpSocket socket;
        QByteArray buffer;
+       PlaybackState playback_state;
+       QString title;
+       float duration;
+       float position;
 
 public:
        XinemaControl();
@@ -21,12 +33,26 @@ public:
        void list_directory(const QString &);
        void play_file(const QString &);
 
+       PlaybackState get_playback_state() const { return playback_state; }
+       const QString &get_title() const { return title; }
+       float get_duration() const { return duration; }
+       float get_position() const { return position; }
+
+       void play();
+       void seek(float);
+       void pause();
+       void stop();
+
 signals:
        void connected();
        void disconnected();
        void directory_started(const QString &);
        void file_added(const QString &);
        void subdirectory_added(const QString &);
+       void playback_state_changed(PlaybackState);
+       void title_changed(const QString &);
+       void duration_changed(float);
+       void position_changed(float);
 
 private:
        void send_request(const QString &);