X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/f27c218d18ebf7198e07249aca1eed625da914fd..f29a7129de56edca96ea8ef58576898c1e52ed6f:/Server/include/plaqui/server/controlclient.h?ds=sidebyside diff --git a/Server/include/plaqui/server/controlclient.h b/Server/include/plaqui/server/controlclient.h index faf3a27..95682c5 100644 --- a/Server/include/plaqui/server/controlclient.h +++ b/Server/include/plaqui/server/controlclient.h @@ -28,6 +28,7 @@ #ifndef PLAQUI_CONTROLCLIENT_H #define PLAQUI_CONTROLCLIENT_H +#include "plaqui/server/command.h" #include "plaqui/server/connection.h" #include @@ -38,13 +39,26 @@ namespace Server { /// Conexión para enviar comandos de control a una planta. class ControlClient: public Connection { + // Tipos. + + public: + + /// Tipo de señal para indicar que se recibió una respuesta OK. + typedef SigC::Signal0 SignalOKReceived; + + /// Tipo de señal para indicar que se recibió un error. + typedef SigC::Signal0 SignalErrorReceived; + // Atributos. - private: + protected: + + /// Señal para indicar que se recibió una respuesta OK. + SignalOKReceived ok_received; + + /// Señal para indicar que se recibió un error. + SignalErrorReceived error_received; - /// Mutex para el socket. - Glib::Mutex socket_mutex; - // Métodos. private: @@ -70,6 +84,23 @@ namespace Server { */ ControlClient(std::string host = "localhost", int port = 7522); + /** + * Obtiene la señal para indicar que se recibió una respuesta OK. + */ + SignalOKReceived& signal_ok_received(void); + + /** + * Obtiene la señal para indicar que se recibió un error. + */ + SignalErrorReceived& signal_error_received(void); + + /** + * Envía un comando al servidor. + * + * \param command Comando a enviar. + */ + void send(const Command& command); + }; }