18 #ifndef IOX_POSH_POPO_BASE_PUBLISHER_HPP
19 #define IOX_POSH_POPO_BASE_PUBLISHER_HPP
21 #include "iceoryx_posh/internal/popo/ports/publisher_port_user.hpp"
22 #include "iceoryx_posh/internal/popo/sample_deleter.hpp"
23 #include "iceoryx_posh/popo/sample.hpp"
24 #include "iceoryx_utils/cxx/expected.hpp"
25 #include "iceoryx_utils/cxx/optional.hpp"
31 using uid_t = UniquePortId;
37 template <
typename port_t = iox::PublisherPortUserType>
41 using PortType = port_t;
64 void offer() noexcept;
91 const port_t&
port()
const noexcept;
97 port_t&
port() noexcept;
99 port_t m_port{
nullptr};
105 #include "iceoryx_posh/internal/popo/base_publisher.inl"
class for the identification of a communication event including information on the service,...
Definition: service_description.hpp:86
The BasePublisher class contains the common implementation for the different publisher specialization...
Definition: base_publisher.hpp:39
bool hasSubscribers() const noexcept
hasSubscribers
Definition: base_publisher.inl:71
capro::ServiceDescription getServiceDescription() const noexcept
getServiceDescription Get the service description of the publisher.
Definition: base_publisher.inl:47
uid_t getUid() const noexcept
uid Get the UID of the publisher.
Definition: base_publisher.inl:41
void stopOffer() noexcept
stopOffer Stop offering the service.
Definition: base_publisher.inl:59
bool isOffered() const noexcept
isOffered
Definition: base_publisher.inl:65
void offer() noexcept
offer Offer the service to be subscribed to.
Definition: base_publisher.inl:53
const port_t & port() const noexcept
port
Definition: base_publisher.inl:77
Definition: service_description.hpp:29
This struct is used to configure the publisher.
Definition: publisher_options.hpp:30