+
+#include "exclusa.h"
+#include <iostream>
+
+using namespace PlaQui::Model;
+
+Exclusa::Exclusa(const std::string &_name):Control(_name)
+{
+ open = true;
+ in_slots = out_slots = 1;
+}
+
+Exclusa::~Exclusa()
+{
+}
+
+void Exclusa::update(int dir)
+{
+ // no hace nada
+}
+
+void Exclusa::simulate()
+{
+ std::cout << name << ": " << ((open)?"Abierta":"Cerrada") << std::endl;
+}
+
+void Exclusa::recieve_msg(int msg, IConector *who, void *data)
+{
+ float temp;
+ switch (msg) {
+ case MSG_QUERY_MAX_FLOW_OUT:
+ temp = *((float *)data);
+ send_msg(OUT, MSG_QUERY_MAX_FLOW_OUT, &temp);
+ break;
+ case MSG_RESPONSE_MAX_FLOW:
+ temp = *((float *)data);
+ break;
+ default:
+ Control::recieve_msg(msg, who, data);
+ }
+}
+