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