]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blob - Model/src/conducto.cpp
0b5e9a23049af551620ec63c8ffdf1a773496871
[z.facultad/75.42/plaqui.git] / Model / src / conducto.cpp
1
2 #include "conducto.h"
3
4 using namespace PlaQui;
5
6 Conducto::Conducto(const std::string &_name):Transporte(_name)
7 {
8         max_flow = actual_flow = 0.0f;
9
10         // Inicio los parametros de conectores
11         in_slots = 1;
12         out_slots = 1;
13 }
14
15 Conducto::~Conducto()
16 {
17 }
18
19 void Conducto::recieve_msg(int msg, IConector *who, void *data)
20 {
21         switch (msg) {
22                 case MSG_QUERY_MAX_FLOW: {
23                         // Me preguntan por el flujo máximo. Le respondo
24                         float tmp = actual_flow;
25                         who->recieve_msg(MSG_RESPONSE_MAX_FLOW, this, &tmp);
26                 }
27                 break;
28                 case MSG_RESPONSE_MAX_FLOW: {
29                         float max = *((float *)data);
30                         // Actualizo mi flujo en base a la respuesta
31                         if (max < actual_flow) {
32                                 actual_flow = max;
33                         }
34                 }
35                 break;
36                 default:
37                         Transporte::recieve_msg(msg, who, data);
38         }
39 }
40