23.04.2015 Views

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

Grupo ARCO - Universidad de Castilla-La Mancha

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5. DESARROLLO DEL PROYECTO 45<br />

Figura 5.8: Fe<strong>de</strong>ración <strong>de</strong> canales con filtro en IceDDS<br />

el enlace. Realmente, la acción ejecutada es una anulación <strong>de</strong> la suscripción <strong>de</strong>l publicador<br />

previamente suscrito.<br />

El listado 5.9 muestra el SLICE <strong>de</strong> IceDDS añadiendo las propieda<strong>de</strong>s anteriores.<br />

module DDS {<br />

struct VariableTypeCo<strong>de</strong> {<br />

string variableName;<br />

string variableType;<br />

};<br />

sequence TypeCo<strong>de</strong>;<br />

sequence FilterSeq;<br />

exception FilterError {<br />

string msg;<br />

};<br />

interface Topic {<br />

Object∗ getPublisher();<br />

Object∗ getFilteredPublisher(string publisherName, FilterSeq filters,<br />

TypeCo<strong>de</strong> eventTypeco<strong>de</strong>) throws<br />

FilterError;<br />

};<br />

Object∗ subscribeAndGetPublisher(Object∗ subscriber);<br />

Object∗ subscribeWithFilters(Object∗ subscriber, FilterSeq filters,<br />

TypeCo<strong>de</strong> eventTypeco<strong>de</strong>) throws FilterError;<br />

void unsubscribe(Object∗ subscriber);<br />

void linkFiltered(Object∗ publisher);<br />

void unlinkFiltered(Object∗ publisher);<br />

interface TopicManager {<br />

Topic∗ createTopic(string name);<br />

Topic∗ createFilteredTopic(string name, FilterSeq filters,<br />

TypeCo<strong>de</strong> eventTypeco<strong>de</strong>);<br />

};<br />

};<br />

Listado 5.9: SLICE para el mo<strong>de</strong>lo <strong>de</strong> comunicaciones DDS con ZeroC Ice

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!