OpenDDS  Snapshot(2023/04/28-20:55)
DdsDcpsTopic.idl
Go to the documentation of this file.
1 /*
2  * Distributed under the OpenDDS License.
3  * See: http://www.opendds.org/license.html
4  */
5 
6 #ifndef OPENDDS_DDSDCPSTOPIC_IDL
7 #define OPENDDS_DDSDCPSTOPIC_IDL
8 
10 
11 #pragma ciao lem "dds/DdsDcpsTopicE.idl"
12 
13 module DDS {
14  local interface DomainParticipant;
15  local interface Topic;
16 #if !defined OPENDDS_SAFETY_PROFILE && !defined __OPENDDS_MPC
17  // MPC will make invalid rules in a Java build based on this forward
18  // declaration.
19  local interface DynamicType;
20 #endif
21 
22  local interface TopicDescription {
23  string get_type_name();
24  string get_name();
25  DomainParticipant get_participant();
26  };
27 
28  local interface TopicListener : Listener {
29  void on_inconsistent_topic(
30  in Topic the_topic,
31  in InconsistentTopicStatus status);
32  };
33 
34  local interface Topic : Entity, TopicDescription {
35  ReturnCode_t set_qos(
36  in TopicQos qos);
37  ReturnCode_t get_qos(
38  inout TopicQos qos);
39  ReturnCode_t set_listener(
40  in TopicListener a_listener,
41  in StatusMask mask);
42  TopicListener get_listener();
43  // Access the status
44  ReturnCode_t get_inconsistent_topic_status(
45  inout InconsistentTopicStatus a_status);
46  };
47 
48 
49 #ifndef OPENDDS_NO_CONTENT_FILTERED_TOPIC
51  string get_filter_expression();
52  ReturnCode_t get_expression_parameters(inout StringSeq params);
53  ReturnCode_t set_expression_parameters(
54  in StringSeq expression_parameters);
55  Topic get_related_topic();
56  };
57 #endif
58 
59 #ifndef OPENDDS_NO_MULTI_TOPIC
60  local interface MultiTopic : TopicDescription {
61  string get_subscription_expression();
62  ReturnCode_t get_expression_parameters(inout StringSeq params);
63  ReturnCode_t set_expression_parameters(
64  in StringSeq expression_parameters);
65  };
66 #endif
67 
68  local interface TypeSupport {
69  ReturnCode_t register_type(
70  in DomainParticipant domain,
71  in string type_name);
72  string get_type_name();
73 #ifndef OPENDDS_SAFETY_PROFILE
74  // valuetype isn't supported in Java. This will exclude this operation
75  // from the generated Java code and return null in get_type method of
76  // the TAOPeer generated C++ class so it isn't a pure virtual function.
77  @OpenDDS::hidden_op_in_java("return 0;")
78  DynamicType get_type();
79 #endif
80  };
81 };
82 
83 #endif /* OPENDDS_DCPS_TOPIC_IDL */
The End User API.
unsigned long StatusMask
sequence< string > StringSeq
Definition: DdsDcpsCore.idl:50