X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/f7e6ba4976cdafcb4aa3e39b03539d5a3d12f6a4..6dd05bd84faebf6d7e9e36a0f1dd040ef9fb24a3:/Model/include/logiccontrol.h diff --git a/Model/include/logiccontrol.h b/Model/include/logiccontrol.h index 758f238..e3c252e 100644 --- a/Model/include/logiccontrol.h +++ b/Model/include/logiccontrol.h @@ -3,6 +3,7 @@ #define _LOGIC_CONTROL_H_ #include "iconector.h" +#include namespace PlaQui { namespace Model { @@ -28,6 +29,29 @@ public: * implementar. */ virtual bool get_output() = 0; + + /** 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 (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" << std::endl; + out << "\t\t" << ((get_output())?"true":"false") << "" << std::endl; + out << "\t" << std::endl; + } + + void set_name(const std::string &_name) { name = _name; } + std::string get_name() { return name; } +protected: + std::string name; }; }