6 #ifndef OPENDDS_DCPS_PUBLISHER_IMPL_H 7 #define OPENDDS_DCPS_PUBLISHER_IMPL_H 12 #include <dds/DdsDcpsInfoUtilsC.h> 16 #ifndef ACE_LACKS_PRAGMA_ONCE 25 class DomainParticipantImpl;
48 DDS::PublisherListener_ptr a_listener,
58 virtual DDS::DataWriter_ptr create_datawriter(
59 DDS::Topic_ptr a_topic,
61 DDS::DataWriterListener_ptr a_listener,
65 DDS::DataWriter_ptr a_datawriter);
67 virtual DDS::DataWriter_ptr lookup_datawriter(
68 const char* topic_name);
79 DDS::PublisherListener_ptr a_listener,
82 virtual DDS::PublisherListener_ptr get_listener();
88 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE 99 virtual DDS::DomainParticipant_ptr get_participant();
120 bool is_clean(
String* leftover_entities = 0)
const;
144 void get_publication_ids(PublicationIdVec& pubs);
146 bool is_suspended()
const;
151 DDS::Topic_ptr a_topic,
154 bool prepare_to_delete_datawriters();
189 #ifndef OPENDDS_NO_OBJECT_MODEL_PROFILE DDS::PublisherQos qos_
Publisher QoS policy list.
DataWriterMap datawriter_map_
This map is used to support datawriter lookup by topic name.
Implements the OpenDDS::DCPS::DomainParticipant interfaces.
Implements the OpenDDS::DCPS::Entity interfaces.
DDS::PublisherListener_var listener_
Used to notify the entity for relevant events.
ACE_Reverse_Lock< lock_type > reverse_lock_type
#define OpenDDS_Dcps_Export
DDS::InstanceHandle_t handle_
#define OPENDDS_MULTIMAP(K, T)
DDS::StatusMask listener_mask_
ACE_Recursive_Thread_Mutex lock_type
DDS::DomainId_t domain_id_
Domain in which we are contained.
Implements the OpenDDS::DCPS::Publisher interfaces.
unique_ptr< Monitor > monitor_
Monitor object for this entity.
DOMAINID_TYPE_NATIVE DomainId_t
Implements the OpenDDS::DCPS::DataWriterRemote interfaces and DDS::DataWriter interfaces.
PublicationMap publication_map_
typedef OPENDDS_MAP_CMP(GUID_t, WriterCoherentSample, GUID_tKeyLessThan) GroupCoherentSamples
std::size_t change_depth_
The number of times begin_coherent_changes as been called.
HANDLE_TYPE_NATIVE InstanceHandle_t
SequenceNumber sequence_number_
Sequence number abstraction. Only allows positive 64 bit values.
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
MonotonicTimePoint aggregation_period_start_
Start of current aggregation period. - NOT USED IN FIRST IMPL.
CORBA::Short suspend_depth_count_
The suspend depth count.
DataWriterSet writers_not_enabled_
ACE_Thread_Mutex listener_mutex_
Mutex to protect listener info.
WeakRcHandle< DomainParticipantImpl > participant_
The DomainParticipant servant that owns this Publisher.
typedef OPENDDS_VECTOR(ActionConnectionRecord) ConnectionRecords
reverse_lock_type reverse_pi_lock_
The Internal API and Implementation of OpenDDS.
DDS::DataWriterQos default_datawriter_qos_
Default datawriter Qos policy list.
lock_type pi_suspended_lock_
ACE_Recursive_Thread_Mutex & get_pi_lock()
typedef OPENDDS_SET(NetworkAddress) AddrSet
lock_type pi_lock_
The recursive lock to protect datawriter map and suspend count.