X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/dd5a5045d5549015b6500726098cb43d1e1c614c..9317ed8f3f8241a30fd09b6800ff96b2ac138747:/Server/include/plaqui/server/server.h diff --git a/Server/include/plaqui/server/server.h b/Server/include/plaqui/server/server.h index 75fbfda..611ac23 100644 --- a/Server/include/plaqui/server/server.h +++ b/Server/include/plaqui/server/server.h @@ -47,6 +47,7 @@ namespace Server { */ class Server: public TCPServer { + ///////////////////////////////////////////////////////////////////// // Tipos. private: @@ -54,6 +55,7 @@ namespace Server { /// Lista de plantas químicas. typedef std::map PlantList; + ///////////////////////////////////////////////////////////////////// // Atributos. private: @@ -64,6 +66,7 @@ namespace Server { /// Mutex para las plantas. Glib::Mutex plants_mutex; + ///////////////////////////////////////////////////////////////////// // Métodos. protected: @@ -112,11 +115,36 @@ namespace Server { */ HTTPResponse* cmd_plant_list(void); + /** + * Maneja el comando plant/get. + */ + HTTPResponse* cmd_plant_get(const Command& command); + + /** + * Maneja el comando plant/set. + */ + HTTPResponse* cmd_plant_set(const Command& command); + + /** + * Maneja el comando plant/set_frequency. + */ + HTTPResponse* cmd_plant_set_frequency(const Command& command); + + /** + * Maneja el comando plant/start. + */ + HTTPResponse* cmd_plant_start(const Command& command); + /** * Maneja el comando plant/stop. */ HTTPResponse* cmd_plant_stop(const Command& command); + /** + * Maneja el comando plant/remove. + */ + HTTPResponse* cmd_plant_remove(const Command& command); + public: /** @@ -127,10 +155,11 @@ namespace Server { /** * Constructor. * - * \param port Puerto en el cual escuchar. + * \param plant_filename Nombre del archivo con la planta a cargar. + * \param port Puerto en el cual escuchar. */ Server(const std::string& plant_filename, - const Connection::Port& port = 7522); + const Connection::Port& port = 7522) throw(sockerr); /** * Maneja los comandos recibidos por las conexiones. @@ -141,17 +170,10 @@ namespace Server { /** * Se encarga de borrar una planta de la lista cuando finaliza. * - * \param connection Conexión a eliminar. + * \param plant Nombre de la planta a elminar. */ void on_plant_finished(const char* plant); - /** - * Envia el estado de una planta cuando esta se actualiza. - * - * \param plant Planta actualizada. - */ - void on_plant_updated(const Plant* const); - }; }