00001 /* 00002 * Distributed under the OpenDDS License. 00003 * See: http://www.opendds.org/license.html 00004 */ 00005 00006 #ifndef OPENDDS_DCPS_TYPE_SUPPORT_IDL 00007 #define OPENDDS_DCPS_TYPE_SUPPORT_IDL 00008 00009 #include "dds/DdsDcpsTopic.idl" 00010 #include "dds/DdsDcpsPublication.idl" 00011 #include "dds/DdsDcpsSubscription.idl" 00012 00013 00014 module OpenDDS { 00015 module DCPS { 00016 00017 local interface TypeSupport : ::DDS::TypeSupport { 00018 00019 /** 00020 * create and activate a FooDataWriter. 00021 * Implemented by FooTypeSupportImpl. 00022 * Publisher::create_datawriter() will set the topic, listener, qos and 00023 * other initialization so the implementation of this method 00024 * is as small and simple as possible. 00025 */ 00026 ::DDS::DataWriter create_datawriter(); 00027 00028 /** 00029 * create and activate a FooDataReader. 00030 * Implemented by FooTypeSupportImpl. 00031 * Subscriber::create_datareader() will set the topic, listener, qos and 00032 * other initialization so the implementation of this method 00033 * is as small and simple as possible. 00034 */ 00035 ::DDS::DataReader create_datareader(); 00036 00037 #ifndef OPENDDS_NO_MULTI_TOPIC 00038 ::DDS::DataReader create_multitopic_datareader(); 00039 #endif 00040 00041 boolean has_dcps_key(); 00042 00043 ::DDS::ReturnCode_t unregister_type( 00044 in ::DDS::DomainParticipant domain, 00045 in string type_name); 00046 00047 }; 00048 }; 00049 }; 00050 00051 #endif /* OPENDDS_DCPS_TYPE_SUPPORT_IDL */