]> git.tdb.fi Git - xinema.git/blob - source/xinema.h
Export some simple playback information to clients
[xinema.git] / source / xinema.h
1 #ifndef XINEMA_H_
2 #define XINEMA_H_
3
4 #include <msp/core/application.h>
5 #include <msp/core/mutex.h>
6 #include <msp/fs/path.h>
7 #include <msp/graphics/display.h>
8 #include <msp/graphics/window.h>
9 #include "networkinterface.h"
10
11 class XineEngine;
12 class XineStream;
13
14 class Xinema: public Msp::RegisteredApplication<Xinema>
15 {
16 public:
17         sigc::signal<void, XineStream &> signal_stream_created;
18
19 private:
20         Msp::Graphics::Display display;
21         Msp::Mutex display_mutex;
22         Msp::Graphics::Window window;
23         NetworkInterface network;
24         XineEngine *engine;
25         XineStream *stream;
26
27         Msp::Mutex command_mutex;
28         std::string pending_mrl;
29
30 public:
31         Xinema(int, char **);
32
33         virtual int main();
34 private:
35         virtual void tick();
36
37 public:
38         void play_file(const Msp::FS::Path &);
39 };
40
41 #endif