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       TOPIC_DISABLED
00057     };
00058 
00059     struct WriterAssociation {
00060       TransportLocatorSeq writerTransInfo;
00061       RepoId writerId;
00062       ::DDS::PublisherQos pubQos;
00063       ::DDS::DataWriterQos writerQos;
00064     };
00065 
00066     struct ReaderAssociation {
00067       TransportLocatorSeq readerTransInfo;
00068       RepoId readerId;
00069       ::DDS::SubscriberQos subQos;
00070       ::DDS::DataReaderQos readerQos;
00071       string filterClassName;
00072       string filterExpression;
00073       ::DDS::StringSeq exprParams;
00074     };
00075 
00076     typedef sequence<RepoId> WriterIdSeq;
00077 
00078     typedef sequence<RepoId> ReaderIdSeq;
00079 
00080     typedef octet OctetArray16[16];
00081 
00082     /* Type used to represent the addressing information needed to send a
00083        message to an RTPS Endpoint */
00084     struct Locator_t {
00085       long kind;
00086       unsigned long _port;
00087       OctetArray16 address;
00088     };
00089 
00090     typedef sequence<Locator_t> LocatorSeq;
00091 
00092     typedef string<256> String256;
00093 
00094     /* information to enable content filtering */
00095     struct ContentFilterProperty_t {
00096       String256 contentFilteredTopicName;
00097       String256 relatedTopicName;
00098       String256 filterClassName;
00099       string filterExpression;
00100       DDS::StringSeq expressionParameters;
00101     };
00102 
00103     struct ReaderProxy_t {
00104       GUID_t remoteReaderGuid;  // optional in DiscoveredReaderData
00105       boolean expectsInlineQos;
00106       LocatorSeq unicastLocatorList;
00107       LocatorSeq multicastLocatorList;
00108       TransportLocatorSeq allLocators;
00109       GUIDSeq associatedWriters;
00110     };
00111 
00112     // top-level data type for SEDPbuiltinSubscriptions
00113     struct DiscoveredReaderData {
00114       DDS::SubscriptionBuiltinTopicData ddsSubscriptionData;
00115       ReaderProxy_t readerProxy;
00116       ContentFilterProperty_t contentFilterProperty;
00117     };
00118 
00119     struct WriterProxy_t {
00120       GUID_t remoteWriterGuid;  // optional in DiscoveredWriterData
00121       LocatorSeq unicastLocatorList;
00122       LocatorSeq multicastLocatorList;
00123       TransportLocatorSeq allLocators;
00124     };
00125 
00126     // top-level data type for SEDPbuiltinPublications
00127     struct DiscoveredWriterData {
00128       DDS::PublicationBuiltinTopicData ddsPublicationData;
00129       WriterProxy_t writerProxy;
00130     };
00131 
00132   }; // module DDS
00133 }; // module OpenDDS
00134 
00135 #endif /* OPENDDS_DCPS_INFO_UTILS_IDL */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Aug 2018 for OpenDDS by  doxygen 1.6.1