]> git.tdb.fi Git - xinema.git/blob - source/xinema.h
c54732d464f9dc2be94af01a688ea96c55cc590c
[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 private:
17         Msp::Graphics::Display display;
18         Msp::Mutex display_mutex;
19         Msp::Graphics::Window window;
20         NetworkInterface network;
21         XineEngine *engine;
22         XineStream *stream;
23
24         Msp::Mutex command_mutex;
25         std::string pending_mrl;
26
27 public:
28         Xinema(int, char **);
29
30         virtual int main();
31 private:
32         virtual void tick();
33
34 public:
35         void play_file(const Msp::FS::Path &);
36 };
37
38 #endif