diff options
Diffstat (limited to 'src/websocket_server.hpp')
-rw-r--r-- | src/websocket_server.hpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/src/websocket_server.hpp b/src/websocket_server.hpp new file mode 100644 index 0000000..c7a6e09 --- /dev/null +++ b/src/websocket_server.hpp @@ -0,0 +1,92 @@ +/** + * @file websocket_server.hpp + * + * @brief Settings daemon WebSocket server header. + * + * @author Ossama Othman @<ossama.othman@@intel.com@> + * + * @copyright @par + * Copyright 2013 Intel Corporation All Rights Reserved. + * @par + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License. + * @par + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * @par + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301 USA + * + * @note This header is internal. + */ + +#ifndef IVI_SETTINGS_WEBSOCKET_SERVER_HPP +#define IVI_SETTINGS_WEBSOCKET_SERVER_HPP + +#include <libwebsockets.h> + + +namespace ivi +{ + namespace settings + { + class configurator; + class manager; + + /** + * @class websocket_server + * + * @brief IVI Settings web socket server + * + * This class implements the server that listens for and handles + * web socket events. + */ + class websocket_server + { + public: + + /// Constructor. + websocket_server(configurator const & config, + manager & manager); + + /// Destructor. + ~websocket_server(); + + /// Run the websocket server event loop in its own thread. + void run(); + + private: + + /** + * @name Prevent copying + */ + //@{ + websocket_server(websocket_server const &) = delete; + websocket_server & operator=(websocket_server const &) = delete; + //@} + + private: + + /// Our libwebsocket state. + libwebsocket_context * context_; + + }; + + } +} + + +#endif /* IVI_SETTINGS_WEBSOCKET_SERVER_HPP */ + + +// Local Variables: +// mode:c++ +// c-basic-offset:2 +// indent-tabs-mode: nil +// End: |