]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/src/controlserver.cpp
Se corrige el bug encontrado por Nico.
[z.facultad/75.42/plaqui.git] / Server / src / controlserver.cpp
index 69de3a7c69612936d1b745bdd31881d62038746c..64f4cfe1f99c0b69c282a84d678e0193e12f3bf6 100644 (file)
 #include "plaqui/server/request.h"
 #include <cstring>
 #include <sstream>
+#ifdef DEBUG
+#      include <iostream>
+#endif // DEBUG
 
-using namespace Plaqui;
+PlaQui::Server::ControlServer::~ControlServer(void) {
+#ifdef DEBUG
+       std::cerr << __FILE__ << ": destructor." << std::endl;
+#endif // DEBUG
+}
 
-ControlServer::ControlServer(const sockbuf::sockdesc& sd):
-               Connection(sd) {
+PlaQui::Server::ControlServer::ControlServer(const sockbuf::sockdesc& sd):
+               PlaQui::Server::ServerConnection(sd) {
 #ifdef DEBUG
-       std::cerr << "Compilado el " << __DATE__ << std::endl;
        std::cerr << __FILE__ << ": sd = " << sd.sock << std::endl;
 #endif // DEBUG
 }
 
-void ControlServer::real_run(void) {
+void PlaQui::Server::ControlServer::real_run(void) {
        // FIXME se tiene que ir a la clase para poder frenarlo desde afuera.
        bool stop = false;
        char buf[BUFFER_SIZE];
@@ -50,20 +56,13 @@ void ControlServer::real_run(void) {
                bool is_first = true;
                while (!stop && socket.getline(buf, BUFFER_SIZE)) {
 #ifdef DEBUG
-                       std::cerr << "Reciviendo (crudo): " << buf << std::endl;
+                       std::cerr << "Reciviendo linea: " << buf << std::endl;
 #endif // DEBUG
                        int len = strlen(buf);
                        // Si tiene un retorno de carro, lo elimina.
                        if (len && (buf[len-1] == '\r')) {
                                buf[--len] = '\0';
                        }
-#ifdef DEBUG
-                       std::cerr << "Reciviendo (sin \\r): " << buf << std::endl;
-                       std::cerr << "len: " << len << std::endl;
-                       if (len == 1) {
-                               std::cerr << std::hex << "Caracter: " << *buf << std::endl;
-                       }
-#endif // DEBUG
                        // Si tiene contenido, lo agrego a la información del request.
                        if (len) {
                                // Si es la primera línea, es el request.
@@ -85,7 +84,8 @@ void ControlServer::real_run(void) {
                                // Si es la primera, no pasa nada, sigue esperando un request.
                        }
                }
-               // Manda mensaje a la planta.
+               // TODO: Manda mensaje a la planta.
+               //signal_command_received().emit(request);
                //dispatch_command(parse_command(sstr.str()));
 #ifdef DEBUG
                std::cerr << "Request: " << std::endl;