X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/212f9ae5dc8899bab8b23ed13d81c28c510db3c3..cba39b63dc2c5ba1ee85f3db718adf0e8075c88f:/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 254f815..2cc26ad 100644 --- a/Server/include/plaqui/server/controlclient.h +++ b/Server/include/plaqui/server/controlclient.h @@ -30,7 +30,7 @@ #include "plaqui/server/command.h" #include "plaqui/server/connection.h" -#include "plaqui/server/receiver.h" // TODO TEMPRORAL +#include "plaqui/server/receiver.h" // FIXME TEMPRORAL #include namespace PlaQui { @@ -41,34 +41,51 @@ namespace Server { class ControlClient: public Connection { ///////////////////////////////////////////////////////////////////// - // Tipos. + /// \name Señales + //@{ public: - /// Tipo de señal para indicar que se conectó. - typedef SigC::Signal0 SignalConnected; - /// Tipo de señal para indicar que se recibió una respuesta OK. typedef SigC::Signal1 SignalOKReceived; /// Tipo de señal para indicar que se recibió un error. - typedef SigC::Signal1 SignalErrorReceived; + typedef SigC::Signal2 + SignalErrorReceived; + + /// Tipo de señal para indicar que se recibió un frame. FIXME + typedef Receiver::SignalFrameReceived SignalFrameReceived; + + /** + * 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); + + /** + * Obtiene la señal que avisa cuando se recibió un cuadro. + * \todo FIXME Temporal. + */ + SignalFrameReceived& signal_frame_received(void); + + //@} ///////////////////////////////////////////////////////////////////// // Atributos. protected: - /// Señal para indicar que se conectó. - SignalConnected connected; - /// 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; - /// Receptor del estado de la planta TODO Temporal. + /// Receptor del estado de la planta FIXME Temporal. Receiver* receiver; ///////////////////////////////////////////////////////////////////// @@ -79,7 +96,7 @@ namespace Server { /** * Realiza la conexión al servidor. */ - virtual void real_run(void); + virtual void real_run(void) throw(); public: @@ -106,24 +123,16 @@ 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. + * Envia una señal de error si hay un error en la recepción. + * \todo FIXME Temporal. */ - SignalErrorReceived& signal_error_received(void); + void on_receiver_error(const Error& code, const std::string& desc); /** - * Obtiene la señal que avisa cuando se recibió un cuadro. + * Limpia el puntero del receptor cuando termina. + * \todo FIXME Temporal. */ - Receiver::SignalFrameReceived& signal_frame_received(void); + void on_receiver_finished(void); };