14 * La bomba es un elemento que toma líquido de alguna fuente
15 * misteriosa y lo envía por su salida. La cantidad de fluido que
16 * envía va a depender exclusivamente del sistema al cual está conectado.
17 * La bomba es "inteligente", y es capaz de reducir el flujo que envía
18 * dependiendo de las condiciones que le ponga el sistema, reduciendo
19 * así el flujo de manera automática para evitar sobrecargas.
21 * La bomba tiene 2 interruptores, uno manual y otro automático.
22 * Si el manual está apagado, la bomba se considera apagada e ignora
23 * todo mensage del interruptor automático. En esta condición envía
24 * 0 cuando se le consulta por su flojo máximo.
27 class Pump:public Source {
30 Pump(const std::string &_name);
34 virtual void update(int dir=OUT);
35 virtual void simulate();
37 virtual bool get_output();
39 virtual void recieve_msg(int msg, IConector *who, void *data);
42 void activate() { active = true; }
43 /// Desactiva la bomba
44 void deactivate() { active = false; }
45 void get_state_as_xml(std::stringstream &out);
47 /** Define si la bomba esta abierta o no. Esto lo maneja la logica de
51 /** Define si la bomba esta activa, es decir, si el control manual esta en
56 Pump(const Pump &):Control("null"),Source("null") {}
57 Pump &operator = (const Pump &) { return *this; }