X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fclient.h;h=671290e1b86cf4f65dea17675957e99a6fb8ac77;hb=a4982bb4d3fd9908aa01c824ac6202ac8618ac24;hp=1f543fc15861f4ebaf2e4cd923e05d38c4d1f37a;hpb=8c7e5bd0d1f966af2b22293a3a0780c419fb9c95;p=xinema.git diff --git a/source/client.h b/source/client.h index 1f543fc..671290e 100644 --- a/source/client.h +++ b/source/client.h @@ -1,17 +1,22 @@ #ifndef CLIENT_H_ #define CLIENT_H_ +#include #include #include +#include +#include "xinestream.h" class Xinema; -class Client +class Client: public sigc::trackable { private: Xinema &xinema; Msp::Net::StreamSocket *socket; std::string buffer; + Msp::Mutex mutex; + Msp::Time::TimeDelta last_position; bool stale; public: @@ -23,9 +28,20 @@ private: void data_available(); void end_of_stream(); + XineStream &get_stream() const; void process_command(const std::string &); void send_reply(const std::string &); void list_directory(const Msp::FS::Path &); + void set_audio_channel(const std::string &); + void set_spu_channel(const std::string &); + + void stream_created(XineStream &); + void stream_destroyed(); + void stream_state_changed(XineStream::State); + void stream_title_changed(const std::string &); + void stream_duration_changed(const Msp::Time::TimeDelta &); + void stream_position_changed(const Msp::Time::TimeDelta &); + void stream_channels_changed(); }; #endif