Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
Grupo ARCO - Universidad de Castilla-La Mancha
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
2. ANTECEDENTES 13<br />
el tipo es la <strong>de</strong>finición <strong>de</strong>l contenido <strong>de</strong> los datos en el canal.<br />
Se utiliza IDL como la forma para <strong>de</strong>scribir los datos <strong>de</strong> representación comunes en el<br />
canal. IDL es una sintaxis estándar para expresar varios tipos manteniendo la in<strong>de</strong>pen<strong>de</strong>ncia<br />
<strong>de</strong> un lenguaje <strong>de</strong> programación específico.<br />
Un tipo <strong>de</strong> canal está compuesto por una estructura IDL y una clave o un conjunto <strong>de</strong><br />
claves asociadas. <strong>La</strong> clave pue<strong>de</strong> ser vacía o pue<strong>de</strong> incluir un número arbitrario <strong>de</strong> atributos<br />
<strong>de</strong>finidos en el tipo <strong>de</strong> datos <strong>de</strong>l canal.<br />
<strong>La</strong> estructura pue<strong>de</strong> tener uno o más campos y cada campo pue<strong>de</strong> ser alguno <strong>de</strong> los siguientes<br />
tipos:<br />
char<br />
octet<br />
short<br />
unsigned short<br />
long<br />
unsigned long<br />
long long<br />
unsigned long long<br />
float<br />
double<br />
long double<br />
boolean<br />
enum<br />
union<br />
array o una secuencia<br />
string<br />
Si la clave <strong>de</strong>l tipo <strong>de</strong> datos es vacía, el canal tiene una única instancia. Este tipo <strong>de</strong><br />
canales pue<strong>de</strong>n ser consi<strong>de</strong>rados como singletons 3 . Los tipos <strong>de</strong> datos <strong>de</strong> los canales que<br />
tienen claves <strong>de</strong>finidas tienen una instancia por cada valor <strong>de</strong> la clave.<br />
En listado 2.2 se muestra una <strong>de</strong>finición <strong>de</strong> un tipo <strong>de</strong> canal cuya clave es la variable<br />
provi<strong>de</strong>r.<br />
struct LocEvent<br />
{<br />
string provi<strong>de</strong>r;<br />
string msid;<br />
long time;<br />
};<br />
#pragma keylist LocEvent provi<strong>de</strong>r<br />
Listado 2.2: Tipo <strong>de</strong> canal DDS<br />
Un ejemplo que muestra la diferencia entre estos dos tipos <strong>de</strong> datos <strong>de</strong> un canal pue<strong>de</strong><br />
verse en 2.3.<br />
3 Patrón <strong>de</strong> diseño que garantiza que haya una sola instancia <strong>de</strong> una <strong>de</strong>terminada clase.