]> git.llucax.com Git - z.facultad/75.42/plaqui.git/blobdiff - Model/src/iconector.cpp
se mejora la conexion entre compuertas, se salvan en el XML, hay un par de cosas...
[z.facultad/75.42/plaqui.git] / Model / src / iconector.cpp
index c4db5d3c157dcbe34acf8a9eb67964ba84f3c86f..68d40247e1da654db633122eaa9c845ed9ba2ddf 100644 (file)
@@ -1,8 +1,8 @@
 
 
 #include "iconector.h"
 
 
 #include "iconector.h"
-
-using namespace PlaQui;
+#include <iostream>
+using namespace PlaQui::Model;
 
 IConector::IConector(unsigned in, unsigned out)
 {
 
 IConector::IConector(unsigned in, unsigned out)
 {
@@ -17,7 +17,7 @@ IConector::~IConector()
        out_list.clear();
 }
 
        out_list.clear();
 }
 
-int IConector::send_msg(int where, int msg)
+void IConector::send_msg(int where, int msg, void *data)
 {
        // Recorro toda la lista y envío el mensage a cada
        // elemento conectado en "where"
 {
        // Recorro toda la lista y envío el mensage a cada
        // elemento conectado en "where"
@@ -25,18 +25,16 @@ int IConector::send_msg(int where, int msg)
        switch (where) {
                case IN:
                        for(it=in_list.begin(); it!=in_list.end(); it++)
        switch (where) {
                case IN:
                        for(it=in_list.begin(); it!=in_list.end(); it++)
-                               (*it)->recieve_msg(msg, this);
+                               (*it)->recieve_msg(msg, this, data);
                        break;
                case OUT:
                        break;
                case OUT:
-                       for(it=out_list.begin(); it!=out_list.end(); it++)
-                               (*it)->recieve_msg(msg, this);
+                       for(it=out_list.begin(); it!=out_list.end(); it++) {
+                               (*it)->recieve_msg(msg, this, data);
+                       }
        }
        }
-
-       // TODO : ver el tema de los valores de retorno!!
-       return 0;
 }
 
 }
 
-void IConector::recieve_msg(int msg, IConector *who)
+void IConector::recieve_msg(int msg, IConector *who, void *data)
 {
        // Manejo los mensages que yo conozco
        switch (msg) {
 {
        // Manejo los mensages que yo conozco
        switch (msg) {
@@ -57,6 +55,7 @@ bool IConector::connect(IConector *obj, int place)
                        } else {
                                return false; // no se pudo conectar!
                        }
                        } else {
                                return false; // no se pudo conectar!
                        }
+               break;
                case OUT:
                        if (out_list.size() <= out_slots) {
                                out_list.push_back(obj);
                case OUT:
                        if (out_list.size() <= out_slots) {
                                out_list.push_back(obj);