00001
00002
00003
00004
00005
00006
00007
00008 #ifndef OPENDDS_DCPS_DOMAIN_IDL
00009 #define OPENDDS_DCPS_DOMAIN_IDL
00010
00011 #include "dds/DdsDcpsInfrastructure.idl"
00012 #include "dds/DdsDcpsTopic.idl"
00013 #include "dds/DdsDcpsPublication.idl"
00014 #include "dds/DdsDcpsSubscription.idl"
00015
00016 #pragma ciao lem "dds/DdsDcpsDomainE.idl"
00017
00018 module DDS
00019 {
00020 local interface DomainParticipantListener : TopicListener,
00021 PublisherListener,
00022 SubscriberListener
00023 {
00024 };
00025
00026
00027 local interface DomainParticipant : Entity
00028 {
00029
00030 Publisher create_publisher(in PublisherQos qos,
00031 in PublisherListener a_listener,
00032 in StatusMask mask);
00033
00034 ReturnCode_t delete_publisher(in Publisher p);
00035
00036 Subscriber create_subscriber(in SubscriberQos qos,
00037 in SubscriberListener a_listener,
00038 in StatusMask mask);
00039
00040 ReturnCode_t delete_subscriber(in Subscriber s);
00041
00042 Subscriber get_builtin_subscriber();
00043
00044
00045
00046
00047
00048 Topic create_topic(in string topic_name,
00049 in string type_name,
00050 in TopicQos qos,
00051 in TopicListener a_listener,
00052 in StatusMask mask);
00053
00054 ReturnCode_t delete_topic(in Topic a_topic);
00055
00056 Topic find_topic(in string topic_name,
00057 in Duration_t timeout);
00058
00059
00060
00061
00062 TopicDescription lookup_topicdescription(in string name);
00063
00064
00065 #ifndef OPENDDS_NO_CONTENT_FILTERED_TOPIC
00066
00067 ContentFilteredTopic create_contentfilteredtopic(
00068 in string name,
00069 in Topic related_topic,
00070 in string filter_expression,
00071 in StringSeq expression_parameters);
00072
00073 ReturnCode_t delete_contentfilteredtopic(
00074 in ContentFilteredTopic a_contentfilteredtopic);
00075
00076 #endif
00077
00078 #ifndef OPENDDS_NO_MULTI_TOPIC
00079
00080 MultiTopic create_multitopic(
00081 in string name,
00082 in string type_name,
00083 in string subscription_expression,
00084 in StringSeq expression_parameters);
00085
00086 ReturnCode_t delete_multitopic(in MultiTopic a_multitopic);
00087
00088 #endif
00089
00090
00091 ReturnCode_t delete_contained_entities();
00092
00093 boolean contains_entity(in InstanceHandle_t a_handle);
00094
00095 ReturnCode_t set_qos(in DomainParticipantQos qos);
00096
00097 ReturnCode_t get_qos(inout DomainParticipantQos qos);
00098
00099 ReturnCode_t set_listener(in DomainParticipantListener a_listener,
00100 in StatusMask mask);
00101
00102 DomainParticipantListener get_listener();
00103
00104 ReturnCode_t ignore_participant(in InstanceHandle_t handle);
00105
00106 ReturnCode_t ignore_topic(in InstanceHandle_t handle);
00107
00108 ReturnCode_t ignore_publication(in InstanceHandle_t handle);
00109
00110 ReturnCode_t ignore_subscription(in InstanceHandle_t handle);
00111
00112 DomainId_t get_domain_id();
00113
00114 ReturnCode_t assert_liveliness();
00115
00116 ReturnCode_t set_default_publisher_qos(in PublisherQos qos);
00117
00118 ReturnCode_t get_default_publisher_qos(inout PublisherQos qos);
00119
00120 ReturnCode_t set_default_subscriber_qos(in SubscriberQos qos);
00121
00122 ReturnCode_t get_default_subscriber_qos(inout SubscriberQos qos);
00123
00124 ReturnCode_t set_default_topic_qos(in TopicQos qos);
00125
00126 ReturnCode_t get_default_topic_qos(inout TopicQos qos);
00127
00128 ReturnCode_t get_current_time( inout Time_t current_time);
00129
00130 #if !defined (DDS_HAS_MINIMUM_BIT)
00131
00132 ReturnCode_t get_discovered_participants(
00133 inout InstanceHandleSeq participant_handles);
00134
00135 ReturnCode_t get_discovered_participant_data(
00136 inout ParticipantBuiltinTopicData participant_data,
00137 in InstanceHandle_t participant_handle);
00138
00139 ReturnCode_t get_discovered_topics(
00140 inout InstanceHandleSeq topic_handles);
00141
00142 ReturnCode_t get_discovered_topic_data(
00143 inout TopicBuiltinTopicData topic_data,
00144 in InstanceHandle_t topic_handle);
00145
00146 #endif
00147
00148 };
00149
00150 local interface DomainParticipantFactory
00151 {
00152
00153
00154
00155
00156
00157 DomainParticipant create_participant(in DomainId_t domainId,
00158 in DomainParticipantQos qos,
00159 in DomainParticipantListener a_listener,
00160 in StatusMask mask);
00161
00162 ReturnCode_t delete_participant(in DomainParticipant a_participant);
00163
00164 DomainParticipant lookup_participant(in DomainId_t domainId);
00165
00166 ReturnCode_t set_default_participant_qos(in DomainParticipantQos qos);
00167
00168 ReturnCode_t get_default_participant_qos(inout DomainParticipantQos qos);
00169
00170 DomainParticipantFactory get_instance();
00171
00172 ReturnCode_t set_qos(
00173 in DomainParticipantFactoryQos qos);
00174
00175 ReturnCode_t get_qos(
00176 inout DomainParticipantFactoryQos qos);
00177 };
00178 };
00179
00180 #endif