X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/98871795be266e4ea8b4662737ac618ebee0fb79..eb72ddd1b0a1004fa3da51db5b7790370cc5c2e9:/Model/include/elementoplanta.h diff --git a/Model/include/elementoplanta.h b/Model/include/elementoplanta.h index 502c265..f4a2935 100644 --- a/Model/include/elementoplanta.h +++ b/Model/include/elementoplanta.h @@ -3,6 +3,7 @@ #ifndef _ELEMENTO_PLANTA_H_ #define _ELEMENTO_PLANTA_H_ +#include #include "iconector.h" #include "rgb.h" @@ -11,7 +12,8 @@ namespace PlaQui { class ElementoPlanta:public IConector { public: /// Constructor - ElementoPlanta(); + ElementoPlanta(const std::string &_name); + ElementoPlanta(unsigned ins, unsigned outs); virtual ~ElementoPlanta(); // FIXME: ver que parametros seran necesarios @@ -28,16 +30,26 @@ public: /// Retorna el actual color del fluido const RGB &getColor() { return fluid_color; } - /// Recibe un mensage - virtual void recieve_msg(int msg, IConector *who); + virtual void recieve_msg(int msg, IConector *who, void *data); /// Mensages manejados por los elementos de la planta enum { MSG_QUERY_MAX_FLOW = IConector::MSG_LAST, ///< pregunta por el maximo flujo + MSG_RESPONSE_MAX_FLOW, ///< responde al mensage QUERY_MAX_FLOW. data == float MSG_LAST }; + + /// Devuelve el nombre de la instancia + std::string get_name() const { return name; } protected: RGB fluid_color; + // es de solo lectura + std::string name; + +private: + // Hago que no se puedan copiar objetos ElementosPlanta + ElementoPlanta(const ElementoPlanta &):IConector(0,0) {} + ElementoPlanta &operator = (const ElementoPlanta &) { return (*this); } }; }