X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/6e0194f46ac77c18bfeabf84ef94a32f23e41073..cba39b63dc2c5ba1ee85f3db718adf0e8075c88f:/Server/include/plaqui/server/receiver.h diff --git a/Server/include/plaqui/server/receiver.h b/Server/include/plaqui/server/receiver.h index 91c3014..c418477 100644 --- a/Server/include/plaqui/server/receiver.h +++ b/Server/include/plaqui/server/receiver.h @@ -30,19 +30,65 @@ #include "plaqui/server/connection.h" #include +#include #include -namespace Plaqui { +namespace PlaQui { + +namespace Server { /// Conexión para recibir el estado de una planta. class Receiver: public Connection { + ///////////////////////////////////////////////////////////////////// + // Constantes. + + private: + + /// Marca de comienzo de frame. + static const std::string FRAME_BEGIN; + + /// Marca de fin de frame. + static const std::string FRAME_END; + + ///////////////////////////////////////////////////////////////////// + /// \name Señales + //@{ + + public: + + /// Tipo de señal para indicar que se recibió un cuadro. + typedef SigC::Signal1 SignalFrameReceived; + + /// Obtiene la señal que avisa cuando se recibió un cuadro. + SignalFrameReceived& signal_frame_received(void); + + //@} + + ///////////////////////////////////////////////////////////////////// + // Atributos. + + private: + + /// Señal que indica que se recibió un cuadro. + SignalFrameReceived frame_received; + + ///////////////////////////////////////////////////////////////////// + // Métodos. + + private: + + /** + * Recibe la transmisión. + */ + virtual void real_run(void) throw(); + public: /** * Destructor. */ - virtual ~Receiver(void) {} + virtual ~Receiver(void); /** * Constructor. @@ -50,15 +96,13 @@ namespace Plaqui { * \param port Puerto por el cual recibir estado de la planta. * \param host Host del cual recibir el estado de la planta. */ - Receiver(int port = 7528, std::string host = "localhost"); - - /** - * Recibe la transmisión. - */ - virtual void run(void); + Receiver(const Connection::Port& port = 7528, + const std::string& host = "localhost") throw(sockerr); }; } +} + #endif // PLAQUI_RECEIVER_H