/** * @file websocket_server.hpp * * @brief Settings daemon WebSocket server header. * * @author Ossama Othman @ * * @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 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: