#ifndef PLAQUI_CONTROLCLIENT_H
#define PLAQUI_CONTROLCLIENT_H
+#include "plaqui/server/command.h"
#include "plaqui/server/connection.h"
#include <string>
/// Conexión para enviar comandos de control a una planta.
class ControlClient: public Connection {
+ // Tipos.
+
+ public:
+
+ /// Tipo de señal para indicar que se recibió una respuesta OK.
+ typedef SigC::Signal0<void> SignalOKReceived;
+
+ /// Tipo de señal para indicar que se recibió un error.
+ typedef SigC::Signal0<void> SignalErrorReceived;
+
// Atributos.
- private:
+ protected:
+
+ /// 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;
- /// Mutex para el socket.
- Glib::Mutex socket_mutex;
-
// Métodos.
private:
*/
ControlClient(std::string host = "localhost", int port = 7522);
+ /**
+ * 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);
+
+ /**
+ * Envía un comando al servidor.
+ *
+ * \param command Comando a enviar.
+ */
+ void send(const Command& command);
+
};
}