#include "plaqui/server/connection.h"
#include "plaqui/server/command.h"
+#include "plaqui/server/response.h"
#include <socket++/sockinet.h>
+#include <sigc++/signal.h>
namespace PlaQui {
/// Conexión para recibir comandos de control para una planta.
class ControlServer: public Connection {
- // Tipos.
+ /////////////////////////////////////////////////////////////////////
+ /// \name Señales
+ //@{
public:
/// Tipo de señal para indicar que se recibió un comando.
typedef SigC::Signal1<void, const Command&> 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:
ControlServer(const sockbuf::sockdesc& sd);
/**
- * Obtiene la señal que avisa cuando se recibió un comando.
+ * Envia una respuesta.
*/
- SignalCommandReceived& signal_command_received(void);
+ void send(const Response& response);
};