X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/00cffd5f7c35a915c09d55e6292775e9e01bdeec..cdce7c32e0b3dd06973cd4cbeb5e4f6eb38391ab:/Server/include/plaqui/server/controlserver.h diff --git a/Server/include/plaqui/server/controlserver.h b/Server/include/plaqui/server/controlserver.h index f269e4b..a04bee7 100644 --- a/Server/include/plaqui/server/controlserver.h +++ b/Server/include/plaqui/server/controlserver.h @@ -28,22 +28,50 @@ #ifndef PLAQUI_CONTROLSERVER_H #define PLAQUI_CONTROLSERVER_H -#include "plaqui/server/serverconnection.h" +#include "plaqui/server/connection.h" +#include "plaqui/server/command.h" +#include "plaqui/server/response.h" #include +#include namespace PlaQui { namespace Server { /// Conexión para recibir comandos de control para una planta. - class ControlServer: public ServerConnection { + class ControlServer: public Connection { + + ///////////////////////////////////////////////////////////////////// + /// \name Señales + //@{ + + public: + + /// Tipo de señal para indicar que se recibió un comando. + typedef SigC::Signal1 SignalCommandReceived; + + /// Obtiene la señal que avisa cuando se recibió un comando. + SignalCommandReceived& signal_command_received(void); + + //@} + + ///////////////////////////////////////////////////////////////////// + // 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: @@ -59,6 +87,11 @@ namespace Server { */ ControlServer(const sockbuf::sockdesc& sd); + /** + * Envia una respuesta. + */ + void send(const Response& response); + }; }