]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/tests/client_test.cpp
El cliente pinta de color las lineas que conectan items y logica. Si la pinta de...
[z.facultad/75.42/plaqui.git] / Server / tests / client_test.cpp
index 2bf118a518c389247205fca4ac334d1715b0c59a..9ff2fbb54f9c9fe041032c630b0f4ee12888b36d 100644 (file)
@@ -27,9 +27,7 @@
 
 #include "plaqui/server/controlclient.h"
 #include "plaqui/server/string.h"
-//#include <socket++/sockinet.h>
 #include <iostream>
-#include <sstream>
 #include <exception>
 #include <vector>
 
@@ -38,6 +36,14 @@ using namespace PlaQui::Server;
 
 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;
 }
@@ -51,6 +57,11 @@ void on_ok_received(const string& body) {
        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;
 }
@@ -72,11 +83,10 @@ int main(int argc, char* argv[]) {
                // 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.
@@ -85,10 +95,12 @@ int main(int argc, char* argv[]) {
        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)) {
@@ -108,7 +120,7 @@ int main(int argc, char* argv[]) {
                                        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;