]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Server/include/plaqui/server/server.h
Se arregla el bug que hacia que el cliente levante mal archivos XML grandes.
[z.facultad/75.42/plaqui.git] / Server / include / plaqui / server / server.h
index 20458bbcd6e7693a56df4d37fb1e6264bf3a7ae5..f0f1644b9e7de0c991cfa7631dd7cfbc90dffb3e 100644 (file)
@@ -44,7 +44,18 @@ namespace Server {
 
        /**
         * Servidor de plantas químicas.
-        * Maneja múltiples conexiones, de control o de transmisión.
+        *
+        * Esta clase se encarga, entre otras cosas, de definir el método
+        * new_connection() de TCPServer para crear una nueva
+        * \ref ControlServer "conexión de control" para atender las conexiones que
+        * éste recibe.
+        *
+        * Una vez recibida una conexión, esta clase se encarga de manejar los
+        * comandos que a través de ella se reciben a través de los métodos como
+        * cmd_server_info(), cmd_connection_list(), etc.
+        *
+        * Esta clase es también la encargado de mantener la \ref plants "lista" de
+        * \ref Plant "plantas" que se están sirviendo (y simulando).
         */
        class Server: public TCPServer {
 
@@ -156,11 +167,21 @@ namespace Server {
                        /**
                         * Constructor.
                         *
-                        * \param plant_filename Nombre del archivo con la planta a cargar.
-                        * \param port           Puerto en el cual escuchar.
+                        * \param port Puerto en el cual escuchar.
                         */
-                       Server(const std::string& plant_filename,
-                                       const Connection::Port& port = 7522) throw(sockerr);
+                       Server(const Connection::Port& port = 7522) throw(sockerr);
+
+                       /**
+                        * Agrega una planta al servidor.
+                        *
+                        * \param name     Nombre que utilizará el servidor para identificar
+                        *                 a la planta.
+                        * \param filename Nombre del archivo con la planta a cargar.
+                        * \return true si se agregó la planta, false si ya existía una
+                        *         planta con ese nombre.
+                        */
+                       bool add_plant(const std::string& name,
+                                       const std::string& filename);
 
                        /**
                         * Maneja los comandos recibidos por las conexiones.