00001
00002 #include "dds/DdsDcpsInfrastructure.idl"
00003 #include "dds/DdsDcpsGuid.idl"
00004 #include <tao/ULongSeq.pidl>
00005
00006 module OpenDDS {
00007
00008 module DCPS {
00009
00010 const long MONITOR_DOMAIN_ID = -999;
00011 const long MONITOR_TRANSPORT_ID = 999;
00012 const string SERVICE_PARTICIPANT_MONITOR_TOPIC = "Service Participant Monitor";
00013 const string DOMAIN_PARTICIPANT_MONITOR_TOPIC = "Domain Participant Monitor";
00014 const string TOPIC_MONITOR_TOPIC = "Topic Monitor";
00015 const string PUBLISHER_MONITOR_TOPIC = "Publisher Monitor";
00016 const string SUBSCRIBER_MONITOR_TOPIC = "Subscriber Monitor";
00017 const string DATA_WRITER_MONITOR_TOPIC = "Data Writer Monitor";
00018 const string DATA_WRITER_PERIODIC_MONITOR_TOPIC = "Data Writer Periodic Monitor";
00019 const string DATA_READER_MONITOR_TOPIC = "Data Reader Monitor";
00020 const string DATA_READER_PERIODIC_MONITOR_TOPIC = "Data Reader Periodic Monitor";
00021 const string TRANSPORT_MONITOR_TOPIC = "Transport Monitor";
00022
00023 struct Statistics {
00024 unsigned long n;
00025 double maximum;
00026 double minimum;
00027 double mean;
00028 double variance;
00029 };
00030
00031 enum ValueEnumType { INTEGER_TYPE, DOUBLE_TYPE, STRING_TYPE,
00032 STATISTICS_TYPE, STRING_LIST_TYPE };
00033 union ValueUnion switch (ValueEnumType) {
00034 case INTEGER_TYPE: long integer_value;
00035 case DOUBLE_TYPE: double double_value;
00036 case STRING_TYPE: string string_value;
00037 case STATISTICS_TYPE: Statistics stat_value;
00038 case STRING_LIST_TYPE: DDS::StringSeq string_seq_value;
00039 };
00040 struct NameValuePair {
00041 string name;
00042 ValueUnion value;
00043 };
00044 typedef sequence<NameValuePair> NVPSeq;
00045
00046
00047 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::ServiceParticipantReport"
00048 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::ServiceParticipantReport host"
00049 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::ServiceParticipantReport pid"
00050
00051 struct ServiceParticipantReport {
00052 string host;
00053 long pid;
00054 GUIDSeq domain_participants;
00055 CORBA::ULongSeq transports;
00056 NVPSeq values;
00057 };
00058
00059 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DomainParticipantReport"
00060
00061
00062
00063 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[11]"
00064 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[10]"
00065 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 9]"
00066 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 8]"
00067 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 7]"
00068 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 6]"
00069 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 5]"
00070 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 4]"
00071 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 3]"
00072 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 2]"
00073 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 1]"
00074 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 0]"
00075 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKey[2]"
00076 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKey[1]"
00077 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKey[0]"
00078 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKind"
00079
00080 struct DomainParticipantReport {
00081 string host;
00082 long pid;
00083 GUID_t dp_id;
00084 DDS::DomainId_t domain_id;
00085 GUIDSeq topics;
00086 NVPSeq values;
00087 };
00088
00089 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::TopicReport"
00090
00091
00092
00093 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[11]"
00094 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[10]"
00095 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 9]"
00096 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 8]"
00097 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 7]"
00098 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 6]"
00099 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 5]"
00100 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 4]"
00101 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 3]"
00102 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 2]"
00103 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 1]"
00104 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 0]"
00105 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKey[2]"
00106 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKey[1]"
00107 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKey[0]"
00108 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKind"
00109
00110 struct TopicReport {
00111 GUID_t dp_id;
00112 GUID_t topic_id;
00113 string topic_name;
00114 string type_name;
00115 NVPSeq values;
00116 };
00117
00118 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::PublisherReport"
00119 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport handle"
00120
00121
00122
00123 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[11]"
00124 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[10]"
00125 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 9]"
00126 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 8]"
00127 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 7]"
00128 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 6]"
00129 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 5]"
00130 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 4]"
00131 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 3]"
00132 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 2]"
00133 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 1]"
00134 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 0]"
00135 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKey[2]"
00136 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKey[1]"
00137 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKey[0]"
00138 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKind"
00139
00140 struct PublisherReport {
00141 DDS::InstanceHandle_t handle;
00142 GUID_t dp_id;
00143 unsigned long transport_id;
00144 GUIDSeq writers;
00145 NVPSeq values;
00146 };
00147
00148 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::SubscriberReport"
00149 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport handle"
00150
00151
00152
00153 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[11]"
00154 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[10]"
00155 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 9]"
00156 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 8]"
00157 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 7]"
00158 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 6]"
00159 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 5]"
00160 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 4]"
00161 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 3]"
00162 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 2]"
00163 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 1]"
00164 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 0]"
00165 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKey[2]"
00166 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKey[1]"
00167 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKey[0]"
00168 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKind"
00169
00170 struct SubscriberReport {
00171 DDS::InstanceHandle_t handle;
00172 GUID_t dp_id;
00173 unsigned long transport_id;
00174 GUIDSeq readers;
00175 NVPSeq values;
00176 };
00177
00178 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataWriterReport"
00179
00180
00181
00182 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[11]"
00183 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[10]"
00184 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 9]"
00185 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 8]"
00186 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 7]"
00187 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 6]"
00188 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 5]"
00189 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 4]"
00190 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 3]"
00191 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 2]"
00192 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 1]"
00193 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 0]"
00194 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKey[2]"
00195 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKey[1]"
00196 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKey[0]"
00197 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKind"
00198
00199 struct DataWriterAssociation {
00200 GUID_t dr_id;
00201 };
00202 typedef sequence<DataWriterAssociation> DWAssociations;
00203 struct DataWriterReport {
00204 GUID_t dp_id;
00205 DDS::InstanceHandle_t pub_handle;
00206 GUID_t dw_id;
00207 GUID_t topic_id;
00208 DDS::InstanceHandleSeq instances;
00209 DWAssociations associations;
00210 NVPSeq values;
00211 };
00212
00213 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataWriterPeriodicReport"
00214
00215
00216
00217 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[11]"
00218 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[10]"
00219 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 9]"
00220 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 8]"
00221 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 7]"
00222 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 6]"
00223 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 5]"
00224 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 4]"
00225 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 3]"
00226 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 2]"
00227 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 1]"
00228 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 0]"
00229 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKey[2]"
00230 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKey[1]"
00231 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKey[0]"
00232 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKind"
00233
00234 struct DataWriterAssociationPeriodic {
00235 GUID_t dr_id;
00236 unsigned long sequence_number;
00237 };
00238 typedef sequence<DataWriterAssociationPeriodic> DWAssociationsPeriodic;
00239 struct DataWriterPeriodicReport {
00240 GUID_t dw_id;
00241 unsigned long data_dropped_count;
00242 unsigned long data_delivered_count;
00243 unsigned long control_dropped_count;
00244 unsigned long control_delivered_count;
00245 DWAssociationsPeriodic associations;
00246 NVPSeq values;
00247 };
00248
00249 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataReaderReport"
00250
00251
00252
00253 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[11]"
00254 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[10]"
00255 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 9]"
00256 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 8]"
00257 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 7]"
00258 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 6]"
00259 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 5]"
00260 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 4]"
00261 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 3]"
00262 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 2]"
00263 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 1]"
00264 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 0]"
00265 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKey[2]"
00266 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKey[1]"
00267 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKey[0]"
00268 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKind"
00269
00270 struct DataReaderAssociation {
00271 GUID_t dw_id;
00272 short state;
00273 };
00274 typedef sequence<DataReaderAssociation> DRAssociations;
00275 struct DataReaderReport {
00276 GUID_t dp_id;
00277 DDS::InstanceHandle_t sub_handle;
00278 GUID_t dr_id;
00279 GUID_t topic_id;
00280 DDS::InstanceHandleSeq instances;
00281 DRAssociations associations;
00282 NVPSeq values;
00283 };
00284
00285 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataReaderPeriodicReport"
00286
00287
00288
00289 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[11]"
00290 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[10]"
00291 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 9]"
00292 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 8]"
00293 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 7]"
00294 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 6]"
00295 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 5]"
00296 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 4]"
00297 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 3]"
00298 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 2]"
00299 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 1]"
00300 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 0]"
00301 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKey[2]"
00302 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKey[1]"
00303 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKey[0]"
00304 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKind"
00305
00306 struct DataReaderAssociationPeriodic {
00307 GUID_t dw_id;
00308 unsigned long samples_available;
00309
00310 };
00311 typedef sequence<DataReaderAssociationPeriodic> DRAssociationsPeriodic;
00312 struct DataReaderPeriodicReport {
00313 GUID_t dr_id;
00314 DRAssociationsPeriodic associations;
00315 NVPSeq values;
00316 };
00317
00318 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::TransportReport"
00319 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TransportReport host"
00320 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TransportReport pid"
00321 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TransportReport transport_id"
00322
00323 struct TransportReport {
00324 string host;
00325 long pid;
00326 unsigned long transport_id;
00327 string transport_type;
00328 NVPSeq values;
00329 };
00330
00331 enum ReportType {
00332 SERVICE_PARTICIPANT_REPORT_TYPE,
00333 DOMAIN_PARTICIPANT_REPORT_TYPE,
00334 TOPIC_REPORT_TYPE,
00335 PUBLISHER_REPORT_TYPE,
00336 SUBSCRIBER_REPORT_TYPE,
00337 DATA_WRITER_REPORT_TYPE,
00338 DATA_WRITER_PERIODIC_REPORT_TYPE,
00339 DATA_READER_REPORT_TYPE,
00340 DATA_READER_PERIODIC_REPORT_TYPE,
00341 TRANSPORT_REPORT_TYPE
00342 };
00343 union GenericReport switch (ReportType) {
00344 case SERVICE_PARTICIPANT_REPORT_TYPE:
00345 ServiceParticipantReport sp_report;
00346 case DOMAIN_PARTICIPANT_REPORT_TYPE:
00347 DomainParticipantReport dp_report;
00348 case TOPIC_REPORT_TYPE:
00349 TopicReport topic_report;
00350 case PUBLISHER_REPORT_TYPE:
00351 PublisherReport publisher_report;
00352 case SUBSCRIBER_REPORT_TYPE:
00353 SubscriberReport subscriber_report;
00354 case DATA_WRITER_REPORT_TYPE:
00355 DataWriterReport dw_report;
00356 case DATA_WRITER_PERIODIC_REPORT_TYPE:
00357 DataWriterPeriodicReport dw_per_report;
00358 case DATA_READER_REPORT_TYPE:
00359 DataReaderReport dr_report;
00360 case DATA_READER_PERIODIC_REPORT_TYPE:
00361 DataReaderPeriodicReport dr_per_report;
00362 case TRANSPORT_REPORT_TYPE:
00363 TransportReport transport_report;
00364 };
00365
00366 interface ProcessMonitor {
00367
00368
00369
00370
00371
00372
00373 GenericReport retrieve_report(in string name);
00374
00375
00376
00377 void enable_report_collection();
00378 void disable_report_collection();
00379
00380
00381
00382 void enable_report_publishing();
00383 void diable_report_publishing();
00384
00385
00386 void set_publishing_period(in DDS::Duration_t period);
00387 DDS::Duration_t get_publishing_period();
00388 };
00389
00390 };
00391
00392 };