DdsDcpsDomain.idl

Go to the documentation of this file.
00001 /*
00002  *
00003  *
00004  * Distributed under the OpenDDS License.
00005  * See: http://www.opendds.org/license.html
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     // Factory interfaces
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     // Note:
00045     //     If the create_topic and find_topic are called multiple times
00046     //     then the delete_topic has to be called the same number of
00047     //     times.
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     // Note:
00060     //     Do not call delete_topic for lookup_topicdescription since
00061     //     topic is not duplicated.
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     // Note:
00153     //       The caller will NOT have ownership of the DomainParticipant.
00154     //       To destroy the object, the caller has to call delete_participant.
00155     //       The domain participant defaults to not enabled.
00156     //       The caller has to enable it after the domain participant is created.
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 /* OPENDDS_DCPS_DOMAIN_IDL */

Generated on Fri Feb 12 20:05:22 2016 for OpenDDS by  doxygen 1.4.7