#include "plaqui/server/controlclient.h"
#include "plaqui/server/string.h"
-//#include <socket++/sockinet.h>
#include <iostream>
-#include <sstream>
#include <exception>
#include <vector>
ControlClient* client = NULL;
+void on_error(const Runnable::Error& code, const string& desc) {
+ cerr << "--------------------------------------------------------" << endl;
+ cerr << "Error en el cliente:" << endl;
+ cerr << "Código: " << code << endl;
+ cerr << "Descripción: " << desc << endl;
+ cerr << "--------------------------------------------------------" << endl;
+}
+
void on_finished(void) {
client = NULL;
}
cout << " Conectado! :-)" << endl;
}
-void on_ok_received(void) {
+void on_ok_received(const string& body) {
cout << " Respuesta recibida: OK! :-D" << 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) {
// Obtengo host.
host = argv[1];
}
- unsigned port = 7522;
+ // Obtengo puerto.
+ Connection::Port port = 7522;
if (argc > 2) {
- // Obtengo puerto.
- stringstream str(argv[2]);
- str >> port;
+ to(argv[2], port);
}
// Inicializa threads.
try {
// Corre el cliente.
client = new ControlClient(host, port);
+ client->signal_error().connect(SigC::slot(on_error));
client->signal_finished().connect(SigC::slot(on_finished));
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)) {
break;
default:
Command cmd(v[0], v[1]);
- v.erase(v.begin(), v.begin() + 1);
+ v.erase(v.begin(), v.begin() + 2);
cmd.set_args(v);
client->send(cmd);
break;