DdsDcpsInfoUtils.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_INFO_UTILS_IDL
00009 #define OPENDDS_DCPS_INFO_UTILS_IDL
00010 #include "dds/DdsDcpsCore.idl"
00011 #include "dds/DdsDcpsGuid.idl"
00012 
00013 module OpenDDS
00014 {
00015   module DCPS
00016   {
00017     // These are unique across a domain
00018     // They are also the InstanceHandle_t in Sample_Info for built-in Topics
00019     typedef GUID_t RepoId;
00020 
00021     typedef DDS::OctetSeq TransportBLOB;
00022 
00023     struct TransportLocator {
00024       /// The transport type (e.g. tcp or udp)
00025       string transport_type;
00026       /// Information about the transport instance that is opaque to all but
00027       /// code specific to that transport implementation.
00028       TransportBLOB data;
00029     };
00030 
00031     typedef sequence<TransportLocator> TransportLocatorSeq;
00032 
00033     struct IncompatibleQosStatus {
00034       long total_count;
00035       long count_since_last_send;
00036       DDS::QosPolicyId_t last_policy_id;
00037       DDS::QosPolicyCountSeq policies;
00038     };
00039 
00040     // Information returned from call to add_domain_participant()
00041     struct AddDomainStatus {
00042       RepoId  id;
00043       boolean federated;
00044     };
00045 
00046     // Status returned by a topic operation
00047     enum TopicStatus {
00048       CREATED,
00049       ENABLED,
00050       FOUND,
00051       NOT_FOUND,
00052       REMOVED,
00053       CONFLICTING_TYPENAME,
00054       PRECONDITION_NOT_MET,
00055       INTERNAL_ERROR
00056     };
00057 
00058     struct WriterAssociation {
00059       TransportLocatorSeq writerTransInfo;
00060       RepoId writerId;
00061       ::DDS::PublisherQos pubQos;
00062       ::DDS::DataWriterQos writerQos;
00063     };
00064 
00065     struct ReaderAssociation {
00066       TransportLocatorSeq readerTransInfo;
00067       RepoId readerId;
00068       ::DDS::SubscriberQos subQos;
00069       ::DDS::DataReaderQos readerQos;
00070       string filterClassName;
00071       string filterExpression;
00072       ::DDS::StringSeq exprParams;
00073     };
00074 
00075     typedef sequence<RepoId> WriterIdSeq;
00076 
00077     typedef sequence<RepoId> ReaderIdSeq;
00078 
00079     typedef octet OctetArray16[16];
00080 
00081     /* Type used to represent the addressing information needed to send a
00082        message to an RTPS Endpoint */
00083     struct Locator_t {
00084       long kind;
00085       unsigned long _port;
00086       OctetArray16 address;
00087     };
00088 
00089     typedef sequence<Locator_t> LocatorSeq;
00090 
00091     typedef string<256> String256;
00092 
00093     /* information to enable content filtering */
00094     struct ContentFilterProperty_t {
00095       String256 contentFilteredTopicName;
00096       String256 relatedTopicName;
00097       String256 filterClassName;
00098       string filterExpression;
00099       DDS::StringSeq expressionParameters;
00100     };
00101 
00102     struct ReaderProxy_t {
00103       GUID_t remoteReaderGuid;  // optional in DiscoveredReaderData
00104       boolean expectsInlineQos;
00105       LocatorSeq unicastLocatorList;
00106       LocatorSeq multicastLocatorList;
00107       TransportLocatorSeq allLocators;
00108       GUIDSeq associatedWriters;
00109     };
00110 
00111     // top-level data type for SEDPbuiltinSubscriptions
00112     struct DiscoveredReaderData {
00113       DDS::SubscriptionBuiltinTopicData ddsSubscriptionData;
00114       ReaderProxy_t readerProxy;
00115       ContentFilterProperty_t contentFilterProperty;
00116     };
00117 
00118     struct WriterProxy_t {
00119       GUID_t remoteWriterGuid;  // optional in DiscoveredWriterData
00120       LocatorSeq unicastLocatorList;
00121       LocatorSeq multicastLocatorList;
00122       TransportLocatorSeq allLocators;
00123     };
00124 
00125     // top-level data type for SEDPbuiltinPublications
00126     struct DiscoveredWriterData {
00127       DDS::PublicationBuiltinTopicData ddsPublicationData;
00128       WriterProxy_t writerProxy;
00129     };
00130 
00131   }; // module DDS
00132 }; // module OpenDDS
00133 
00134 #endif /* OPENDDS_DCPS_INFO_UTILS_IDL */

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