]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/include/logiccontrol.h
Se arregla un error de conexion en un caso particular de las compuertas
[z.facultad/75.42/plaqui.git] / Model / include / logiccontrol.h
index d4434f4bcdcd770436be2cf43eccac1e8c8a1b46..e3c252e4aa1023c0a0619f03b205d40145c3e920 100644 (file)
@@ -3,6 +3,7 @@
 #define _LOGIC_CONTROL_H_
 
 #include "iconector.h"
+#include <string>
 
 namespace PlaQui {
 namespace Model {
@@ -32,13 +33,25 @@ public:
        /** Dice si la logica esta o no en operacion
         *
         *  La logica de control puede no estar siendo utilizada, y eso
-        *  se deduce si tiene alguien conectado a sus entradas.
+        *  se deduce si tiene alguien conectado a sus entradas (o sea, si
+        *  tiene alguien a quien consultar por un estado logico).
         *  Si no hay nadie conectado, se contempla que no se esta utilizando
         *  y se debe utilizar en los casos que sea necesario para no recibir
         *  entradas falsas en los objetos controlados.
         *  \see Exclusa::update
         */
        bool is_operational() { return (in_list.begin() != in_list.end()); }
+
+       void get_state_as_xml(std::stringstream &out) {
+               out << "\t<logic name=\"" << name << "\">" << std::endl;
+               out << "\t\t<active>" << ((get_output())?"true":"false") << "</active>" << std::endl;
+               out << "\t</logic>" << std::endl;
+       }
+
+       void set_name(const std::string &_name) { name = _name; }
+       std::string get_name() { return name; }
+protected:
+       std::string name;
 };
 
 }