Ion
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
remoteserver.h
Go to the documentation of this file.
1 
18 #ifndef ION_REMOTE_REMOTESERVER_H_
19 #define ION_REMOTE_REMOTESERVER_H_
20 
21 #include "ion/remote/httpserver.h"
22 
23 #include "ion/gfx/renderer.h"
24 #include "ion/gfxutils/frame.h"
26 
27 #if !ION_PRODUCTION
28 # include "ion/remote/remoteserver.h"
30 #endif
31 
32 namespace ion {
33 namespace remote {
34 
37 class ION_API RemoteServer : public HttpServer {
38  public:
40  explicit RemoteServer(int port);
43  RemoteServer(const gfx::RendererPtr& renderer,
44  const gfxutils::ShaderManagerPtr& shader_manager,
45  const gfxutils::FramePtr& frame,
46  int port);
47  ~RemoteServer() override;
48 
52  void AddNode(const gfx::NodePtr& node) const;
53 
57  bool RemoveNode(const gfx::NodePtr& node) const;
58 
59  private:
61  void Init(int port);
62 #if !ION_PRODUCTION
63  NodeGraphHandlerPtr node_graph_handler_;
64 #endif
65 };
66 
67 } // namespace remote
68 } // namespace ion
69 
70 #endif // ION_REMOTE_REMOTESERVER_H_
A RemoteServer starts an HttpServer with a predefined handler for the /ion subdirectory.
Definition: remoteserver.h:37
A SharedPtr is a smart shared pointer to an instance of some class that implements reference counting...
Definition: sharedptr.h:60