monitor.idl
Go to the documentation of this file.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
00053 string host;
00054
00055 long pid;
00056 GUIDSeq domain_participants;
00057 CORBA::ULongSeq transports;
00058 NVPSeq values;
00059 };
00060
00061 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DomainParticipantReport"
00062
00063
00064
00065 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[11]"
00066 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[10]"
00067 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 9]"
00068 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 8]"
00069 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 7]"
00070 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 6]"
00071 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 5]"
00072 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 4]"
00073 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 3]"
00074 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 2]"
00075 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 1]"
00076 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.guidPrefix[ 0]"
00077 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKey[2]"
00078 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKey[1]"
00079 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKey[0]"
00080 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DomainParticipantReport dp_id.entityId.entityKind"
00081
00082 struct DomainParticipantReport {
00083
00084 string host;
00085
00086 long pid;
00087
00088 GUID_t dp_id;
00089 DDS::DomainId_t domain_id;
00090 GUIDSeq topics;
00091 NVPSeq values;
00092 };
00093
00094 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::TopicReport"
00095
00096
00097
00098 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[11]"
00099 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[10]"
00100 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 9]"
00101 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 8]"
00102 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 7]"
00103 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 6]"
00104 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 5]"
00105 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 4]"
00106 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 3]"
00107 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 2]"
00108 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 1]"
00109 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.guidPrefix[ 0]"
00110 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKey[2]"
00111 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKey[1]"
00112 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKey[0]"
00113 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TopicReport topic_id.entityId.entityKind"
00114
00115 struct TopicReport {
00116
00117 GUID_t dp_id;
00118
00119 GUID_t topic_id;
00120 string topic_name;
00121 string type_name;
00122 NVPSeq values;
00123 };
00124
00125 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::PublisherReport"
00126 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport handle"
00127
00128
00129
00130 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[11]"
00131 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[10]"
00132 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 9]"
00133 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 8]"
00134 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 7]"
00135 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 6]"
00136 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 5]"
00137 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 4]"
00138 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 3]"
00139 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 2]"
00140 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 1]"
00141 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.guidPrefix[ 0]"
00142 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKey[2]"
00143 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKey[1]"
00144 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKey[0]"
00145 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::PublisherReport dp_id.entityId.entityKind"
00146
00147 struct PublisherReport {
00148
00149 DDS::InstanceHandle_t handle;
00150
00151 GUID_t dp_id;
00152 unsigned long transport_id;
00153 GUIDSeq writers;
00154 NVPSeq values;
00155 };
00156
00157 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::SubscriberReport"
00158 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport handle"
00159
00160
00161
00162 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[11]"
00163 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[10]"
00164 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 9]"
00165 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 8]"
00166 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 7]"
00167 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 6]"
00168 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 5]"
00169 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 4]"
00170 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 3]"
00171 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 2]"
00172 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 1]"
00173 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.guidPrefix[ 0]"
00174 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKey[2]"
00175 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKey[1]"
00176 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKey[0]"
00177 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::SubscriberReport dp_id.entityId.entityKind"
00178
00179 struct SubscriberReport {
00180
00181 DDS::InstanceHandle_t handle;
00182
00183 GUID_t dp_id;
00184 unsigned long transport_id;
00185 GUIDSeq readers;
00186 NVPSeq values;
00187 };
00188
00189 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataWriterReport"
00190
00191
00192
00193 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[11]"
00194 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[10]"
00195 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 9]"
00196 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 8]"
00197 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 7]"
00198 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 6]"
00199 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 5]"
00200 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 4]"
00201 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 3]"
00202 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 2]"
00203 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 1]"
00204 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.guidPrefix[ 0]"
00205 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKey[2]"
00206 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKey[1]"
00207 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKey[0]"
00208 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterReport dw_id.entityId.entityKind"
00209
00210 struct DataWriterAssociation {
00211 GUID_t dr_id;
00212 };
00213 typedef sequence<DataWriterAssociation> DWAssociations;
00214 struct DataWriterReport {
00215
00216 GUID_t dp_id;
00217
00218 DDS::InstanceHandle_t pub_handle;
00219
00220 GUID_t dw_id;
00221
00222 GUID_t topic_id;
00223
00224 DDS::InstanceHandleSeq instances;
00225
00226 DWAssociations associations;
00227 NVPSeq values;
00228 };
00229
00230 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataWriterPeriodicReport"
00231
00232
00233
00234 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[11]"
00235 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[10]"
00236 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 9]"
00237 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 8]"
00238 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 7]"
00239 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 6]"
00240 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 5]"
00241 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 4]"
00242 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 3]"
00243 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 2]"
00244 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 1]"
00245 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.guidPrefix[ 0]"
00246 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKey[2]"
00247 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKey[1]"
00248 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKey[0]"
00249 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataWriterPeriodicReport dw_id.entityId.entityKind"
00250
00251 struct DataWriterAssociationPeriodic {
00252 GUID_t dr_id;
00253 unsigned long sequence_number;
00254 };
00255 typedef sequence<DataWriterAssociationPeriodic> DWAssociationsPeriodic;
00256 struct DataWriterPeriodicReport {
00257 GUID_t dw_id;
00258 unsigned long data_dropped_count;
00259 unsigned long data_delivered_count;
00260 unsigned long control_dropped_count;
00261 unsigned long control_delivered_count;
00262 DWAssociationsPeriodic associations;
00263 NVPSeq values;
00264 };
00265
00266 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataReaderReport"
00267
00268
00269
00270 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[11]"
00271 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[10]"
00272 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 9]"
00273 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 8]"
00274 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 7]"
00275 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 6]"
00276 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 5]"
00277 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 4]"
00278 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 3]"
00279 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 2]"
00280 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 1]"
00281 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.guidPrefix[ 0]"
00282 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKey[2]"
00283 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKey[1]"
00284 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKey[0]"
00285 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderReport dr_id.entityId.entityKind"
00286
00287 struct DataReaderAssociation {
00288 GUID_t dw_id;
00289 short state;
00290 };
00291 typedef sequence<DataReaderAssociation> DRAssociations;
00292 struct DataReaderReport {
00293
00294 GUID_t dp_id;
00295
00296 DDS::InstanceHandle_t sub_handle;
00297
00298 GUID_t dr_id;
00299
00300 GUID_t topic_id;
00301
00302 DDS::InstanceHandleSeq instances;
00303
00304 DRAssociations associations;
00305 NVPSeq values;
00306 };
00307
00308 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::DataReaderPeriodicReport"
00309
00310
00311
00312 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[11]"
00313 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[10]"
00314 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 9]"
00315 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 8]"
00316 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 7]"
00317 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 6]"
00318 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 5]"
00319 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 4]"
00320 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 3]"
00321 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 2]"
00322 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 1]"
00323 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.guidPrefix[ 0]"
00324 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKey[2]"
00325 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKey[1]"
00326 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKey[0]"
00327 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::DataReaderPeriodicReport dr_id.entityId.entityKind"
00328
00329 struct DataReaderAssociationPeriodic {
00330 GUID_t dw_id;
00331 unsigned long samples_available;
00332
00333 };
00334 typedef sequence<DataReaderAssociationPeriodic> DRAssociationsPeriodic;
00335 struct DataReaderPeriodicReport {
00336 GUID_t dr_id;
00337 DRAssociationsPeriodic associations;
00338 NVPSeq values;
00339 };
00340
00341 #pragma DCPS_DATA_TYPE "OpenDDS::DCPS::TransportReport"
00342 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TransportReport host"
00343 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TransportReport pid"
00344 #pragma DCPS_DATA_KEY "OpenDDS::DCPS::TransportReport transport_id"
00345
00346 struct TransportReport {
00347 string host;
00348 long pid;
00349 unsigned long transport_id;
00350 string transport_type;
00351 NVPSeq values;
00352 };
00353
00354 enum ReportType {
00355 SERVICE_PARTICIPANT_REPORT_TYPE,
00356 DOMAIN_PARTICIPANT_REPORT_TYPE,
00357 TOPIC_REPORT_TYPE,
00358 PUBLISHER_REPORT_TYPE,
00359 SUBSCRIBER_REPORT_TYPE,
00360 DATA_WRITER_REPORT_TYPE,
00361 DATA_WRITER_PERIODIC_REPORT_TYPE,
00362 DATA_READER_REPORT_TYPE,
00363 DATA_READER_PERIODIC_REPORT_TYPE,
00364 TRANSPORT_REPORT_TYPE
00365 };
00366 union GenericReport switch (ReportType) {
00367 case SERVICE_PARTICIPANT_REPORT_TYPE:
00368 ServiceParticipantReport sp_report;
00369 case DOMAIN_PARTICIPANT_REPORT_TYPE:
00370 DomainParticipantReport dp_report;
00371 case TOPIC_REPORT_TYPE:
00372 TopicReport topic_report;
00373 case PUBLISHER_REPORT_TYPE:
00374 PublisherReport publisher_report;
00375 case SUBSCRIBER_REPORT_TYPE:
00376 SubscriberReport subscriber_report;
00377 case DATA_WRITER_REPORT_TYPE:
00378 DataWriterReport dw_report;
00379 case DATA_WRITER_PERIODIC_REPORT_TYPE:
00380 DataWriterPeriodicReport dw_per_report;
00381 case DATA_READER_REPORT_TYPE:
00382 DataReaderReport dr_report;
00383 case DATA_READER_PERIODIC_REPORT_TYPE:
00384 DataReaderPeriodicReport dr_per_report;
00385 case TRANSPORT_REPORT_TYPE:
00386 TransportReport transport_report;
00387 };
00388
00389 interface ProcessMonitor {
00390
00391
00392
00393
00394
00395
00396 GenericReport retrieve_report(in string name);
00397
00398
00399
00400 void enable_report_collection();
00401 void disable_report_collection();
00402
00403
00404
00405 void enable_report_publishing();
00406 void diable_report_publishing();
00407
00408
00409 void set_publishing_period(in DDS::Duration_t period);
00410 DDS::Duration_t get_publishing_period();
00411 };
00412
00413 };
00414
00415 };