X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/184e15f0eedd1a3895987e59f5d39fad19c3b9b6..1767eccd7e3ea6de4101d6d29c1d29ac0fba2a51:/Server/include/plaqui/server/controlclient.h diff --git a/Server/include/plaqui/server/controlclient.h b/Server/include/plaqui/server/controlclient.h index 50ebe2a..7373fbc 100644 --- a/Server/include/plaqui/server/controlclient.h +++ b/Server/include/plaqui/server/controlclient.h @@ -30,6 +30,7 @@ #include "plaqui/server/command.h" #include "plaqui/server/connection.h" +#include "plaqui/server/receiver.h" // TODO TEMPRORAL #include namespace PlaQui { @@ -39,8 +40,15 @@ namespace Server { /// Conexión para enviar comandos de control a una planta. class ControlClient: public Connection { + ///////////////////////////////////////////////////////////////////// // Tipos. + public: + + ///////////////////////////////////////////////////////////////////// + /// \name Señales. + //@{ + public: /// Tipo de señal para indicar que se conectó. @@ -52,20 +60,31 @@ namespace Server { /// Tipo de señal para indicar que se recibió un error. typedef SigC::Signal1 SignalErrorReceived; - // Atributos. + /// Tipo de señal para indicar que se recibió un frame. FIXME + typedef Receiver::SignalFrameReceived SignalFrameReceived; - private: + /** + * Obtiene la señal para indicar que se recibió una respuesta OK. + */ + SignalOKReceived& signal_ok_received(void); - /// Host al cual conectarse. - std::string host; + /** + * Obtiene la señal para indicar que se recibió un error. + */ + SignalErrorReceived& signal_error_received(void); - /// Puerto al cual conectarse. - int port; + /** + * Obtiene la señal que avisa cuando se recibió un cuadro. + * \todo TODO Temporal. + */ + SignalFrameReceived& signal_frame_received(void); - protected: + //@} - /// Señal para indicar que se conectó. - SignalConnected connected; + ///////////////////////////////////////////////////////////////////// + // Atributos. + + protected: /// Señal para indicar que se recibió una respuesta OK. SignalOKReceived ok_received; @@ -73,6 +92,10 @@ namespace Server { /// Señal para indicar que se recibió un error. SignalErrorReceived error_received; + /// Receptor del estado de la planta TODO Temporal. + Receiver* receiver; + + ///////////////////////////////////////////////////////////////////// // Métodos. private: @@ -80,7 +103,7 @@ namespace Server { /** * Realiza la conexión al servidor. */ - virtual void real_run(void); + virtual void real_run(void) throw(); public: @@ -92,11 +115,12 @@ namespace Server { /** * Constructor. * - * \param host Host al cual conectarse para enviar comandos de + * \param _host Host al cual conectarse para enviar comandos de * control. - * \param port Puerto al cual conectarse. + * \param _port Puerto al cual conectarse. */ - ControlClient(std::string host = "localhost", int port = 7522); + ControlClient(const std::string& _host = "localhost", + const Connection::Port& _port = 7522) throw(sockerr); /** * Envía un comando al servidor. @@ -105,21 +129,6 @@ namespace Server { */ void send(const Command& command); - /** - * Obtiene la señal para indicar que se conectó. - */ - SignalConnected& signal_connected(void); - - /** - * 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); - }; }