cgv
Loading...
Searching...
No Matches
web_server.cxx
1#include "web_server.h"
2
3namespace cgv {
4 namespace os {
5
6web_server_provider*& ref_provider()
7{
8 static web_server_provider* wsp = 0;
9 return wsp;
10}
11
13web_server::web_server(unsigned int _port)
14{
15 port = _port;
16 user_data = 0;
17}
18
21{
22}
23
24
26unsigned int web_server::get_port() const
27{
28 return port;
29}
30
31
33{
34 if (ref_provider())
35 ref_provider()->start_web_server(this);
36 else
37 std::cerr << "no web server provider registered, please use the co_web plugin" << std::endl;
38}
39
42{
43 if (user_data && ref_provider())
44 ref_provider()->stop_web_server(this);
45 else
46 std::cerr << "no web server provider registered, please use the co_web plugin" << std::endl;
47}
48
49
55
62
68
69
71void register_web_server_provider(web_server_provider* wsp)
72{
73 ref_provider() = wsp;
74}
75
76void*& web_server_provider::ref_user_data(web_server* instance) const
77{
78 return instance->user_data;
79}
80
81 }
82}
void start(bool _delete_after_termination=false)
start the implemented run() method (asynchronly) and destruct the thread object
void kill()
kill a running thread
interface for a html_server provider
Definition web_server.h:47
web_server_thread(unsigned int _port=8080)
create a web server that listens to the given port
~web_server_thread()
calls the stop method of the web_server
void run()
reimplements the run method that simply starts the web server
void start()
start the web server in a separate thread
simple interface for a web server
Definition web_server.h:13
void start()
start the web server (does never return)
unsigned int get_port() const
return the port to which the web server listens
void stop()
can only be called from a different thread
web_server(unsigned int _port=80)
create a web server that listens to the given port
the cgv namespace
Definition print.h:11