BMA Server Framework
/home/barant/Documents/Development/BMASockets/BMAStreamServer.h
1 #ifndef __BMAStreamServer_h__
2 #define __BMAStreamServer_h__
3 
4 #include "includes"
5 #include "BMATCPServerSocket.h"
6 #include "BMAStreamFrame.h"
7 #include "BMAStreamContentProvider.h"
8 #include "BMATimer.h"
9 
10 class BMAStreamContentScheduler;
11 class BMAEPoll;
12 
18 
20  public BMATimer {
21 
22 public:
23 
27 
28  BMAStreamServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName);
29 
33 
35 
41 
42  void startStreaming();
43 
48 
49  void setContentProvider(BMAStreamContentProvider &contentProvider);
50 
51  private:
52  BMAStreamContentProvider *contentProvider;
53  std::queue<BMAStreamFrame *> *streamFrames;
54  bool streaming = false;
55 
56  BMASession * getSocketAccept() override;
57  void onTimeout() override;
58  void sendFrameToClients(BMAStreamFrame *streamFrame);
59 
60 };
61 
62 #endif
void startStreaming()
Definition: BMAStreamServer.cpp:14
Definition: BMATCPServerSocket.h:20
Definition: BMAStreamFrame.h:4
Definition: BMAStreamServer.h:19
void setContentProvider(BMAStreamContentProvider &contentProvider)
Definition: BMAStreamServer.cpp:30
Definition: BMAEPoll.h:29
Definition: BMATimer.h:15
Definition: BMASession.h:18
BMAStreamServer(BMAEPoll &ePoll, std::string url, short int port, std::string commandName)
Definition: BMAStreamServer.cpp:7
Definition: BMAStreamContentProvider.h:8
~BMAStreamServer()
Definition: BMAStreamServer.cpp:11