X-Git-Url: https://git.llucax.com/z.facultad/75.42/plaqui.git/blobdiff_plain/96b13d7548daed110c71f62fc9f466bb6fc84071..4ddd90e71988f16c5ea79f5de86a9fcb63973ded:/Model/include/iconector.h?ds=sidebyside diff --git a/Model/include/iconector.h b/Model/include/iconector.h index 44e1e32..98455fc 100644 --- a/Model/include/iconector.h +++ b/Model/include/iconector.h @@ -7,23 +7,34 @@ namespace PlaQui { +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 * @@ -52,7 +63,7 @@ public: /// Constantes de posición donde conectar enum { - IN, ///< conectar a la entrada + IN=0, ///< conectar a la entrada OUT ///< conectar a la salida }; @@ -63,13 +74,13 @@ public: * de evitar solapamiento de mensajes. * Por ejemplo, si tenemos una clase B con un mensaje TEST se declararía * como : - * \verbatim + * \code * class B:public IConector { * enum { * MSG_TEST=IConector::MSG_LAST, * MSG_LAST * }; - * \endverbatim + * \endcode */ enum { MSG_DISCONECT=0, ///< Desconectar el objeto que envía el mensaje @@ -92,6 +103,8 @@ private: IConector &operator = (const IConector &) { return (*this); } }; -} +} // namespace Model +} // namespace PlaQui #endif // _I_CONECTOR_H_ +