openATV enigma2
openATV is an open source SetTopBox Graphical user interface.
streamserver.h
Go to the documentation of this file.
1 #ifndef __DVB_STREAMSERVER_H_
2 #define __DVB_STREAMSERVER_H_
3 
6 #include <lib/nav/core.h>
7 
8 #ifndef SWIG
9 class eStreamServer;
10 
12 {
13  private:
14  static void set_socket_option(int fd, int optid, int option);
15  static void set_tcp_option(int fd, int optid, int option);
16 
17 protected:
19  int encoderFd;
20  int streamFd;
22  std::string m_remotehost;
23  std::string m_serviceref;
25 
26  bool running;
27 
28  void notifier(int);
30 
31  std::string request;
32 
34 
35  void streamStopped() { stopStream(); }
36  void tuneFailed() { stopStream(); }
37 
38 public:
39  void stopStream();
40  eStreamClient(eStreamServer *handler, int socket, const std::string remotehost);
42 
43  void start();
44  std::string getRemoteHost();
45  std::string getServiceref();
46  bool isUsingEncoder();
47 };
48 #endif
49 
51 {
52  DECLARE_REF(eStreamServer);
53  static eStreamServer *m_instance;
54 
56 
57  void newConnection(int socket);
58 
59 #ifdef SWIG
60  eStreamServer();
62 #endif
63 public:
64 #ifndef SWIG
65  eStreamServer();
67 
68  void connectionLost(eStreamClient *client);
69 #endif
70 
71  static eStreamServer *getInstance();
72  void stopStream();
73  bool stopStreamClient(const std::string remotehost, const std::string serviceref);
74  PyObject *getConnectedClients();
75 };
76 
77 #endif /* __DVB_STREAMSERVER_H_ */
Definition: demux.h:141
Definition: servicedvbstream.h:13
Definition: serversocket.h:7
Definition: streamserver.h:12
~eStreamClient()
Definition: streamserver.cpp:29
void tuneFailed()
Definition: streamserver.h:36
int encoderFd
Definition: streamserver.h:19
ePtr< eSocketNotifier > rsn
Definition: streamserver.h:29
std::string m_serviceref
Definition: streamserver.h:23
void notifier(int)
Definition: streamserver.cpp:64
ePtr< eTimer > m_timeout
Definition: streamserver.h:33
void start()
Definition: streamserver.cpp:45
bool isUsingEncoder()
Definition: streamserver.cpp:314
std::string getRemoteHost()
Definition: streamserver.cpp:304
eDVBRecordStreamThread * streamThread
Definition: streamserver.h:21
eStreamClient(eStreamServer *handler, int socket, const std::string remotehost)
Definition: streamserver.cpp:23
eStreamServer * parent
Definition: streamserver.h:18
std::string m_remotehost
Definition: streamserver.h:22
void stopStream()
Definition: streamserver.cpp:297
int streamFd
Definition: streamserver.h:20
bool running
Definition: streamserver.h:26
std::string getServiceref()
Definition: streamserver.cpp:309
std::string request
Definition: streamserver.h:31
bool m_useencoder
Definition: streamserver.h:24
void streamStopped()
Definition: streamserver.h:35
Definition: streamserver.h:51
PyObject * getConnectedClients()
Definition: streamserver.cpp:381
eStreamServer()
Definition: streamserver.cpp:323
void stopStream()
Definition: streamserver.cpp:359
static eStreamServer * getInstance()
Definition: streamserver.cpp:338
bool stopStreamClient(const std::string remotehost, const std::string serviceref)
Definition: streamserver.cpp:368
void connectionLost(eStreamClient *client)
Definition: streamserver.cpp:350
~eStreamServer()
Definition: streamserver.cpp:330
int socket(int domain, int type, int protocol)
Definition: libopen.c:165