6 #ifndef OPENDDS_DCPS_BUILTINTOPICUTILS_H 7 #define OPENDDS_DCPS_BUILTINTOPICUTILS_H 15 #include <dds/DdsDcpsInfrastructureC.h> 16 #include <dds/DdsDcpsInfoUtilsC.h> 17 #include <dds/DdsDcpsSubscriptionC.h> 18 #include <dds/DdsDcpsCoreC.h> 100 template<
typename TopicType>
103 #if !defined (DDS_HAS_MINIMUM_BIT) 105 template<
class BIT_Reader_var,
class BIT_DataSeq>
108 const char* bit_name,
113 if (!bit_subscriber) {
116 "Could not get BIT subscriber, might be in middle of shutdown\n"));
121 DDS::DataReader_var reader = bit_subscriber->lookup_datareader(bit_name);
122 typedef typename BIT_Reader_var::_obj_type BIT_Reader;
123 BIT_Reader_var bit_reader = BIT_Reader::_narrow(reader.in());
127 "Could not get BIT reader \"%C\", might be in middle of shutdown\n", bit_name));
142 BIT_DataSeq the_data;
144 bit_reader->read_instance(the_data,
154 data[0] = the_data[0];
161 "read_instance %C 0x%x error: %C\n",
171 "BIT reader read_instance returned \"%C\" - trying again...\n",
179 "read_instance %C 0x%x timed out\n",
196 #if !defined (DDS_HAS_MINIMUM_BIT) 201 keyFromSample<DDS::ParticipantBuiltinTopicData>(
210 keyFromSample<DDS::TopicBuiltinTopicData>(
219 keyFromSample<DDS::SubscriptionBuiltinTopicData>(
228 keyFromSample<DDS::PublicationBuiltinTopicData>(
236 template<
typename TopicType>
250 : bit_subscriber_(bit_subscriber)
253 DDS::Subscriber_ptr
get()
const 256 return DDS::Subscriber::_duplicate(bit_subscriber_.in());
305 template <
typename DataReaderImpl,
typename Sample>
310 void remove_i(
const char* topic_name,
const char *const BUILT_IN_SUBSCRIPTION_TOPIC_TYPE
BitSubscriber(const DDS::Subscriber_var &bit_subscriber)
Implements the OpenDDS::DCPS::DomainParticipant interfaces.
#define ACE_GUARD(MUTEX, OBJ, LOCK)
const LogLevel::Value value
const char *const BUILT_IN_CONNECTION_RECORD_TOPIC_TYPE
const char *const BUILT_IN_CONNECTION_RECORD_TOPIC
#define OpenDDS_Dcps_Export
sequence< SampleInfo > SampleInfoSeq
const SampleStateMask ANY_SAMPLE_STATE
DDS::Subscriber_var bit_subscriber_
const DDS::BuiltinTopicKey_t BUILTIN_TOPIC_KEY_UNKNOWN
bool topicIsBIT(const char *name, const char *type)
DDS::ReturnCode_t instance_handle_to_bit_data(DomainParticipantImpl *dp, const char *bit_name, const DDS::InstanceHandle_t &handle, BIT_DataSeq &data)
static TimePoint_T< MonotonicClock > now()
const char *const BUILT_IN_PUBLICATION_TOPIC
static TimeDuration from_msec(const ACE_UINT64 &ms)
const char *const BUILT_IN_PARTICIPANT_LOCATION_TOPIC_TYPE
const ReturnCode_t RETCODE_TIMEOUT
#define ACE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN)
virtual DDS::Subscriber_ptr get_builtin_subscriber()
const InstanceStateMask ANY_INSTANCE_STATE
const ViewStateMask ANY_VIEW_STATE
const char *const BUILT_IN_PARTICIPANT_TOPIC
const char *const BUILT_IN_PARTICIPANT_LOCATION_TOPIC
int strcmp(const char *s, const char *t)
HANDLE_TYPE_NATIVE InstanceHandle_t
const char *const BUILT_IN_PARTICIPANT_TOPIC_TYPE
const char *const BUILT_IN_SUBSCRIPTION_TOPIC
DDS::BuiltinTopicKey_t keyFromSample(TopicType *sample)
const ReturnCode_t RETCODE_NO_DATA
const char *const BUILT_IN_INTERNAL_THREAD_TOPIC
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
OpenDDS_Dcps_Export LogLevel log_level
const char *const BUILT_IN_TOPIC_TOPIC
const char * retcode_to_string(DDS::ReturnCode_t value)
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
bool operator()(const DDS::BuiltinTopicKey_t &lhs, const DDS::BuiltinTopicKey_t &rhs) const
const size_t NUMBER_OF_BUILT_IN_TOPICS
const ReturnCode_t RETCODE_OK
const long LENGTH_UNLIMITED
unsigned long ViewStateKind
const char *const BUILT_IN_INTERNAL_THREAD_TOPIC_TYPE
#define TheServiceParticipant
The Internal API and Implementation of OpenDDS.
const char *const BUILT_IN_TOPIC_TOPIC_TYPE
const char *const BUILT_IN_PUBLICATION_TOPIC_TYPE
ACE_TCHAR * timestamp(const ACE_Time_Value &time_value, ACE_TCHAR date_and_time[], size_t time_len, bool return_pointer_to_first_digit=false)
const ReturnCode_t RETCODE_BAD_PARAMETER