27 const char* type_name,
28 OpenDDS::DCPS::TypeSupport_ptr type_support,
30 DDS::TopicListener_ptr a_listener,
79 ACE_TEXT(
"(%P|%t) TopicImpl::set_qos, ")
80 ACE_TEXT(
"failed on compatibility check.\n")),
105 listener_ = DDS::TopicListener::_duplicate(a_listener);
109 DDS::TopicListener_ptr
113 return DDS::TopicListener::_duplicate(
listener_.in());
157 ACE_TEXT(
"(%P|%t) ERROR: TopicImpl::enable, ")
158 ACE_TEXT(
"assert_topic failed with return value <%C>.\n"),
211 DDS::TopicListener_var listener;
224 listener->on_inconsistent_topic(
this, status);
238 type_support_->representations_allowed_by_type(type_allowed_reprs);
240 if (type_allowed_reprs.length() == 0) {
243 if (qos_ids.length() == 0) {
246 "representation qos is blank.\n"));
251 if (is_data_writer) {
253 for (
CORBA::ULong j = 0; j < type_allowed_reprs.length(); ++j) {
254 if (
id == type_allowed_reprs[j]) {
260 for (
CORBA::ULong j = 0; j < type_allowed_reprs.length(); ++j) {
261 if (qos_ids[i] == type_allowed_reprs[j]) {
269 "none of the data representation QoS: %C is allowed by the " DDS::InconsistentTopicStatus inconsistent_topic_status_
void set_status_changed_flag(DDS::StatusKind status, bool status_changed_flag)
Implements the OpenDDS::DCPS::DomainParticipant interfaces.
RcHandle< T > rchandle_from(T *pointer)
DDS::StatusMask listener_mask_
virtual DDS::TopicListener_ptr get_listener()
const char * c_str(void) const
DDS::ReturnCode_t set_enabled()
const ReturnCode_t RETCODE_PRECONDITION_NOT_MET
ACE_Thread_Mutex status_mutex_
Mutex to protect status info.
const ReturnCode_t RETCODE_INCONSISTENT_POLICY
DDS::TopicQos qos_
The topic qos.
#define OPENDDS_NO_DURABILITY_SERVICE_COMPATIBILITY_CHECK(qos, error_rtn_value)
const GUID_t GUID_UNKNOWN
Nil value for GUID.
virtual DDS::ReturnCode_t get_qos(DDS::TopicQos &qos)
static bool changeable(const DDS::UserDataQosPolicy &qos1, const DDS::UserDataQosPolicy &qos2)
ACE_CString type_name_
The datatype of the topic.
#define OPENDDS_NO_OWNERSHIP_KIND_EXCLUSIVE_COMPATIBILITY_CHECK(qos, error_rtn_value)
virtual DDS::ReturnCode_t set_listener(DDS::TopicListener_ptr a_listener, DDS::StatusMask mask)
sequence< DataRepresentationId_t > DataRepresentationIdSeq
DDS::DomainParticipantListener_ptr listener_for(DDS::StatusKind kind)
const ReturnCode_t RETCODE_IMMUTABLE_POLICY
#define OPENDDS_NO_OWNERSHIP_PROFILE_COMPATIBILITY_CHECK(qos, error_rtn_value)
ACE_CString topic_name_
The name of the topic.
virtual DDS::InstanceHandle_t get_instance_handle()
DOMAINID_TYPE_NATIVE DomainId_t
bool check_data_representation(const DDS::DataRepresentationIdSeq &qos_ids, bool is_data_writer)
void inconsistent_topic(int count)
virtual DDS::ReturnCode_t set_qos(const DDS::TopicQos &qos)
TopicImpl(const char *topic_name, const char *type_name, OpenDDS::DCPS::TypeSupport_ptr type_support, const DDS::TopicQos &qos, DDS::TopicListener_ptr a_listener, const DDS::StatusMask &mask, DomainParticipantImpl *participant)
TransportConfig_rch transport_config() const
OpenDDS::DCPS::TypeSupport_var type_support_
The type_support for this topic.
DDS::TopicListener_var listener_
The topic listener.
const char * topicstatus_to_string(TopicStatus value)
virtual DDS::DomainId_t get_domain_id()
ACE_Thread_Mutex listener_mutex_
Mutex to protect listener info.
virtual DDS::ReturnCode_t get_inconsistent_topic_status(DDS::InconsistentTopicStatus &a_status)
virtual DDS::ReturnCode_t enable()
DDS::InstanceHandle_t get_entity_instance_handle(const GUID_t &id, const RcHandle< DomainParticipantImpl > &participant)
HANDLE_TYPE_NATIVE InstanceHandle_t
DCPS::String repr_seq_to_string(const DDS::DataRepresentationIdSeq &id_seq, bool is_data_writer)
AtomicBool enabled_
The flag indicates the entity is enabled.
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
OpenDDS_Dcps_Export LogLevel log_level
DomainParticipantImpl * participant_
The participant that creates this topic.
Implements the DDS::TopicDescription interface.
const ReturnCode_t RETCODE_ERROR
const char * type_name() const
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
unique_ptr< Monitor > monitor_
Pointer to the monitor object for this entity.
const ReturnCode_t RETCODE_OK
void notify_status_condition()
const ReturnCode_t RETCODE_UNSUPPORTED
const StatusKind INCONSISTENT_TOPIC_STATUS
#define ACE_ERROR_RETURN(X, Y)
short DataRepresentationId_t
static bool valid(const DDS::UserDataQosPolicy &qos)
#define TheServiceParticipant
static bool consistent(const DDS::ResourceLimitsQosPolicy &resource_limits, const DDS::HistoryQosPolicy &history)
The Internal API and Implementation of OpenDDS.
GUID_t id_
The id given by discovery.
#define OPENDDS_NO_DURABILITY_KIND_TRANSIENT_PERSISTENT_COMPATIBILITY_CHECK(qos, error_rtn_value)
const char * topic_name() const