summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
6674183)
Esta hecho un poco a las patadas, pero asi puedo laburar un poco mas tranquilo
sabiendo que no trabo el avance del cliente grafico.
El Receiver se levanta cuando se crea el ControlClient, asi que todo lo que hay
que hacer es mandar un comando /transmission/start/default/localhost/7528 para
que empiece a transmitirnos el server (bueno, localhost si corre local).
Se actualiza el ejemplo para tener de referencia (igual todo lo que hay que
hacer es atender la signal_frame_received(const std::string& frame) que entrega
el XML del frame recibido).
#include "plaqui/server/command.h"
#include "plaqui/server/connection.h"
#include "plaqui/server/command.h"
#include "plaqui/server/connection.h"
+#include "plaqui/server/receiver.h" // TODO TEMPRORAL
#include <string>
namespace PlaQui {
#include <string>
namespace PlaQui {
/// Señal para indicar que se recibió un error.
SignalErrorReceived error_received;
/// Señal para indicar que se recibió un error.
SignalErrorReceived error_received;
+ /// Receptor del estado de la planta TODO Temporal.
+ Receiver receiver;
+
*/
SignalErrorReceived& signal_error_received(void);
*/
SignalErrorReceived& signal_error_received(void);
+ /**
+ * Obtiene la señal que avisa cuando se recibió un cuadro.
+ */
+ Receiver::SignalFrameReceived& signal_frame_received(void);
+
#ifdef DEBUG
cerr << __FILE__ << ": destructor." << endl;
#endif // DEBUG
#ifdef DEBUG
cerr << __FILE__ << ": destructor." << endl;
#endif // DEBUG
+ // TODO Temporal: espero que el receiver muera.
+ receiver.finish(true);
}
ControlClient::ControlClient(const string& host, const Connection::Port& port):
}
ControlClient::ControlClient(const string& host, const Connection::Port& port):
}
host = socket->localhost();
port = socket->localport();
}
host = socket->localhost();
port = socket->localport();
- // TODO sacar a la mierda?
+ // TODO sacar signal_connected?
+ // TODO Temporal: el receiver empieza a escuchar.
+ receiver.run();
while (!stop) {
HTTPResponse response;
try {
while (!stop) {
HTTPResponse response;
try {
+// TODO - temporal
+Receiver::SignalFrameReceived& ControlClient::signal_frame_received(void) {
+ return receiver.signal_frame_received();
+}
+
} // namespace Server
} // namespace PlaQui
} // namespace Server
} // namespace PlaQui
cout << " Body: " << body << endl;
}
cout << " Body: " << body << endl;
}
+void on_frame_received(const string& frame) {
+ cout << " Frame recibido! :-D" << endl;
+ cout << frame << endl;
+}
+
void on_error_received(unsigned code) {
cout << " Respuesta recibida: Error nro " << code << "! :-(" << endl;
}
void on_error_received(unsigned code) {
cout << " Respuesta recibida: Error nro " << code << "! :-(" << endl;
}
client->signal_connected().connect(SigC::slot(on_connected));
client->signal_ok_received().connect(SigC::slot(on_ok_received));
client->signal_error_received().connect(SigC::slot(on_error_received));
client->signal_connected().connect(SigC::slot(on_connected));
client->signal_ok_received().connect(SigC::slot(on_ok_received));
client->signal_error_received().connect(SigC::slot(on_error_received));
+ client->signal_frame_received().connect(SigC::slot(on_frame_received));
client->run();
char buf[BUFSIZ];
while (cin.getline(buf, BUFSIZ)) {
client->run();
char buf[BUFSIZ];
while (cin.getline(buf, BUFSIZ)) {