X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/6e0194f46ac77c18bfeabf84ef94a32f23e41073..289cd57714db01c97f3fa7cb65efedf30114919f:/Server/include/plaqui/server/controlserver.h?ds=sidebyside diff --git a/Server/include/plaqui/server/controlserver.h b/Server/include/plaqui/server/controlserver.h index 99f8dea..c954cb1 100644 --- a/Server/include/plaqui/server/controlserver.h +++ b/Server/include/plaqui/server/controlserver.h @@ -29,26 +29,50 @@ #define PLAQUI_CONTROLSERVER_H #include "plaqui/server/connection.h" +#include "plaqui/server/command.h" +#include "plaqui/server/httpresponse.h" #include +#include -namespace Plaqui { +namespace PlaQui { + +namespace Server { /// Conexión para recibir comandos de control para una planta. class ControlServer: public Connection { + ///////////////////////////////////////////////////////////////////// + // Tipos. + + public: + + /// Tipo de señal para indicar que se recibió un comando. + typedef SigC::Signal1 SignalCommandReceived; + + ///////////////////////////////////////////////////////////////////// + // Atributos. + + private: + + /// Señal para indicar que se recibió un comando. + SignalCommandReceived command_received; + + ///////////////////////////////////////////////////////////////////// + // Métodos. + protected: /** * Atiende la conexión. */ - virtual void real_run(void); + virtual void real_run(void) throw(); public: /** * Destructor. */ - virtual ~ControlServer(void) {} + virtual ~ControlServer(void); /** * Constructor. @@ -57,9 +81,20 @@ namespace Plaqui { */ ControlServer(const sockbuf::sockdesc& sd); + /** + * Envia una respuesta. + */ + void send(const HTTPResponse& response); + + /** + * Obtiene la señal que avisa cuando se recibió un comando. + */ + SignalCommandReceived& signal_command_received(void); + }; } +} #endif // PLAQUI_CONTROLSERVER_H