X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fclient.h;h=2300fc2d3d5d3c5ffa54ab6c3c41a8fc9c218a04;hb=e9e15ac445100aee25fb3314a3ad89e7142c33fb;hp=1f543fc15861f4ebaf2e4cd923e05d38c4d1f37a;hpb=8c7e5bd0d1f966af2b22293a3a0780c419fb9c95;p=xinema.git diff --git a/source/client.h b/source/client.h index 1f543fc..2300fc2 100644 --- a/source/client.h +++ b/source/client.h @@ -1,17 +1,21 @@ #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::Time::TimeDelta last_position; bool stale; public: @@ -23,9 +27,16 @@ 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 stream_created(XineStream &); + 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 &); }; #endif