namespace Model {
/** Conector genérico de elementos
+ *
+ * El conector es un interfaz común que permite a objetos de distinto
+ * tipo comunicarse entre sí sin la necesidad de conocerse.
+ * Maneja una lista de elementos conectados a uno, que pueden estar
+ * tanto conectados a una entrada como a una salida.
*/
class IConector {
public:
- /// Constructor
+ /** Constructor
+ *
+ * \param in Cantidad de entradas
+ * \param out Cantidad de salidas
+ */
IConector(unsigned in, unsigned out);
/// Destructor
virtual ~IConector();
/** Envía un mensage a los elementos conectados
*
- * Esvía un mensage a los elementos conectados a la entrada o
+ * Envía un mensage a los elementos conectados a la entrada o
* a la salida.
* \param where Donde enviar el mensage, IConector::IN o IConector::OUT
* \param msg Mensage a enviar
+ * \param data dato opcional a mandar, según el mensage que se envíe
*/
- void send_msg(int where, int msg);
+ void send_msg(int where, int msg, void *data=NULL);
/** Recibe un mensage
*
/// Constantes de posición donde conectar
enum {
- IN, ///< conectar a la entrada
+ IN=0, ///< conectar a la entrada
OUT ///< conectar a la salida
};