]> git.llucax.com Git - z.facultad/75.42/plaqui.git/commitdiff
- Se arreglan los nombres para estar todos acorde con el coding style
authorRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 20 Oct 2003 22:52:55 +0000 (22:52 +0000)
committerRicardo Markiewicz <gazer.arg@gmail.com>
Mon, 20 Oct 2003 22:52:55 +0000 (22:52 +0000)
- Se ocultan (private) constructores por default, de copia y operador =
  para evitar que se creen objetos sin utilizar new.

Model/include/elementoplanta.h
Model/include/iconector.h
Model/src/elementoplanta.cpp
Model/src/iconector.cpp

index 502c265833d52748c221bbf8f2f446d8e87d1420..82a3031173e0e1dd4493246a63d1c9e00378f9ff 100644 (file)
@@ -3,6 +3,7 @@
 #ifndef _ELEMENTO_PLANTA_H_
 #define _ELEMENTO_PLANTA_H_
 
+#include <string>
 #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
@@ -38,6 +40,12 @@ public:
        };
 protected:
        RGB fluid_color;
+       std::string name;
+
+private:
+       // Hago que no se puedan copiar objetos ElementosPlanta
+       ElementoPlanta(const ElementoPlanta &):IConector(0,0) {}
+       ElementoPlanta &operator = (const ElementoPlanta &) { return (*this); }
 };
 
 }
index bbb3c258339db5d4978c168ff229d7e705aa29cc..3ca3f2b394e9bbb5e4ce1e481203940dc609af4d 100644 (file)
@@ -12,7 +12,7 @@ namespace PlaQui {
 class IConector {
 public:
        /// Constructor
-       IConector();
+       IConector(unsigned in, unsigned out);
        /// Destructor
        virtual ~IConector();
 
@@ -63,10 +63,20 @@ public:
                MSG_LAST
        };
 protected:
-       std::list<IConector *> entradas;
-       std::list<IConector *> salidas;
-       unsigned int cant_entradas;
-       unsigned int cant_salidas;
+       /// Lista de objetos conectados a las entradas
+       std::list<IConector *> in_list;
+       /// Lista de objetos conectados a las salidas
+       std::list<IConector *> out_list;
+       /// Cantidad de entradas disponibles
+       unsigned int in_slots;
+       /// Canitidad de salidas disponibles
+       unsigned int out_slots;
+
+private:
+       // Oculto copia entre clases
+       IConector() {}
+       IConector(const IConector &) {}
+       IConector &operator = (const IConector &) { return (*this); }
 };
 
 }
index 244ea6e3bf21e96f6ad5905e68121904ea89e086..46fe70331470d1b33b5eaed42ac1a35c2ff43230 100644 (file)
@@ -4,7 +4,12 @@
 
 using namespace PlaQui;
 
-ElementoPlanta::ElementoPlanta()
+ElementoPlanta::ElementoPlanta(const std::string &_name):IConector(0, 0)
+{
+       name = _name;
+}
+
+ElementoPlanta::ElementoPlanta(unsigned ins, unsigned outs):IConector(ins, outs)
 {
 }
 
@@ -16,7 +21,7 @@ void ElementoPlanta::recieve_msg(int msg, IConector *who)
 {
        switch (msg) {
                case MSG_QUERY_MAX_FLOW:
-                       /// TODO
+                       // TODO
                        return;
                break;
                default:
index c1beafacf36e0280a0f8dd3a122cb99b6a3b009a..c4db5d3c157dcbe34acf8a9eb67964ba84f3c86f 100644 (file)
@@ -4,16 +4,17 @@
 
 using namespace PlaQui;
 
-IConector::IConector()
+IConector::IConector(unsigned in, unsigned out)
 {
-       cant_entradas = cant_salidas = 0;
+       in_slots = in;
+       out_slots = out;
 }
 
 IConector::~IConector()
 {
        // Limpio las listas. Los objetos no se destruyen!!
-       entradas.clear();
-       salidas.clear();
+       in_list.clear();
+       out_list.clear();
 }
 
 int IConector::send_msg(int where, int msg)
@@ -23,11 +24,11 @@ int IConector::send_msg(int where, int msg)
        std::list<IConector *>::iterator it;
        switch (where) {
                case IN:
-                       for(it=entradas.begin(); it!=entradas.end(); it++)
+                       for(it=in_list.begin(); it!=in_list.end(); it++)
                                (*it)->recieve_msg(msg, this);
                        break;
                case OUT:
-                       for(it=salidas.begin(); it!=salidas.end(); it++)
+                       for(it=out_list.begin(); it!=out_list.end(); it++)
                                (*it)->recieve_msg(msg, this);
        }
 
@@ -42,8 +43,8 @@ void IConector::recieve_msg(int msg, IConector *who)
                case MSG_DISCONECT:
                        // Elimino el objeto de las listas, si es que
                        // existe en alguna de las dos.
-                       entradas.remove(who);
-                       salidas.remove(who);
+                       in_list.remove(who);
+                       out_list.remove(who);
        }
 }
 
@@ -51,14 +52,14 @@ bool IConector::connect(IConector *obj, int place)
 {
        switch (place) {
                case IN:
-                       if (entradas.size() <= cant_entradas) {
-                               entradas.push_back(obj);
+                       if (in_list.size() <= in_slots) {
+                               in_list.push_back(obj);
                        } else {
                                return false; // no se pudo conectar!
                        }
                case OUT:
-                       if (salidas.size() <= cant_salidas) {
-                               salidas.push_back(obj);
+                       if (out_list.size() <= out_slots) {
+                               out_list.push_back(obj);
                        } else {
                                return false; // no se pudo conectar!
                        }