3.15.5.3. Navigation Interfaces
module Components
{
typedef string FeatureName;
typedef sequence<FeatureName> NameList;
valuetype PortDescription
{
public FeatureName name;
public CORBA::RepositoryId type_id;
};
...
valuetype FacetDescription : PortDescription
{
public Object facet_ref;
};
typedef sequence<FacetDescription> FacetDescriptions;
interface Navigation
{
FacetDescriptions get_all_facets ();
Object provide_facet (in FeatureName name) raises (InvalidName);
FacetDescriptions get_named_facets (in NameList names) raises (InvalidName);
...
};
...
valuetype PublisherDescription : PortDescription
{
public SubscriberDescriptions consumers;
};
typedef sequence<PublisherDescription> PublisherDescriptions;
valuetype ConsumerDescription : PortDescription
{
public EventConsumerBase consumer;
};
typedef sequence<ConsumerDescription> ConsumerDescriptions;
PublisherDescriptions get_all_publishers ();
PublisherDescriptions get_named_publishers (in NameList names) raises (InvalidName);
ConsumerDescriptions get_all_consumers ();
ConsumerDescriptions get_named_consumers (in NameList names) raises (InvalidName);
...
};