mqtt_cpp
Public Member Functions | List of all members
MQTT_NS::v5::basic_publish_message< PacketIdBytes > Class Template Reference

#include <v5_message.hpp>

Public Member Functions

template<typename ConstBufferSequence , typename std::enable_if< as::is_const_buffer_sequence< ConstBufferSequence >::value, std::nullptr_t >::type = nullptr>
 basic_publish_message (typename packet_id_type< PacketIdBytes >::type packet_id, as::const_buffer topic_name, ConstBufferSequence payloads, publish_options pubopts, properties props)
 
 basic_publish_message (buffer buf)
 
std::vector< as::const_buffer > const_buffer_sequence () const
 Create const buffer sequence it is for boost asio APIs. More...
 
std::size_t size () const
 Get whole size of sequence. More...
 
constexpr std::size_t num_of_const_buffer_sequence () const
 Get number of element of const_buffer_sequence. More...
 
std::string continuous_buffer () const
 Create one continuours buffer. All sequence of buffers are concatinated. It is useful to store to file/database. More...
 
packet_id_type< PacketIdBytes >::type packet_id () const
 Get packet id. More...
 
constexpr publish_options get_options () const
 Get publish_options. More...
 
constexpr qos get_qos () const
 Get qos. More...
 
constexpr bool is_retain () const
 Check retain flag. More...
 
constexpr bool is_dup () const
 Check dup flag. More...
 
string_view topic () const
 Get topic name. More...
 
std::vector< string_viewpayload () const
 Get payload. More...
 
buffer payload_as_buffer () const
 Get payload as single buffer. More...
 
properties const & props () const
 Get properties. More...
 
void add_prop (property_variant p)
 Add property. More...
 
template<typename Property >
std::enable_if_t< std::is_base_of< property::detail::n_bytes_property< 1 >, Property >::value||std::is_base_of< property::detail::n_bytes_property< 2 >, Property >::value||std::is_base_of< property::detail::n_bytes_property< 4 >, Property >::value > update_prop (Property update_prop)
 Update property Only fixed size property can be updated. More...
 
void remove_prop (v5::property::id id)
 Remove property. More...
 
constexpr void set_dup (bool dup)
 Set dup flag. More...
 
void set_topic_name (as::const_buffer topic_name)
 Set topic name. More...
 

Constructor & Destructor Documentation

◆ basic_publish_message() [1/2]

template<std::size_t PacketIdBytes>
template<typename ConstBufferSequence , typename std::enable_if< as::is_const_buffer_sequence< ConstBufferSequence >::value, std::nullptr_t >::type = nullptr>
MQTT_NS::v5::basic_publish_message< PacketIdBytes >::basic_publish_message ( typename packet_id_type< PacketIdBytes >::type  packet_id,
as::const_buffer  topic_name,
ConstBufferSequence  payloads,
publish_options  pubopts,
properties  props 
)
inline

◆ basic_publish_message() [2/2]

template<std::size_t PacketIdBytes>
MQTT_NS::v5::basic_publish_message< PacketIdBytes >::basic_publish_message ( buffer  buf)
inline

Member Function Documentation

◆ add_prop()

template<std::size_t PacketIdBytes>
void MQTT_NS::v5::basic_publish_message< PacketIdBytes >::add_prop ( property_variant  p)
inline

Add property.

Parameters
pproperty to add

◆ const_buffer_sequence()

template<std::size_t PacketIdBytes>
std::vector<as::const_buffer> MQTT_NS::v5::basic_publish_message< PacketIdBytes >::const_buffer_sequence ( ) const
inline

Create const buffer sequence it is for boost asio APIs.

Returns
const buffer sequence

◆ continuous_buffer()

template<std::size_t PacketIdBytes>
std::string MQTT_NS::v5::basic_publish_message< PacketIdBytes >::continuous_buffer ( ) const
inline

Create one continuours buffer. All sequence of buffers are concatinated. It is useful to store to file/database.

Returns
continuous buffer

◆ get_options()

template<std::size_t PacketIdBytes>
constexpr publish_options MQTT_NS::v5::basic_publish_message< PacketIdBytes >::get_options ( ) const
inlineconstexpr

◆ get_qos()

template<std::size_t PacketIdBytes>
constexpr qos MQTT_NS::v5::basic_publish_message< PacketIdBytes >::get_qos ( ) const
inlineconstexpr

Get qos.

Returns
qos

◆ is_dup()

template<std::size_t PacketIdBytes>
constexpr bool MQTT_NS::v5::basic_publish_message< PacketIdBytes >::is_dup ( ) const
inlineconstexpr

Check dup flag.

Returns
true if dup, otherwise return false.

◆ is_retain()

template<std::size_t PacketIdBytes>
constexpr bool MQTT_NS::v5::basic_publish_message< PacketIdBytes >::is_retain ( ) const
inlineconstexpr

Check retain flag.

Returns
true if retain, otherwise return false.

◆ num_of_const_buffer_sequence()

template<std::size_t PacketIdBytes>
constexpr std::size_t MQTT_NS::v5::basic_publish_message< PacketIdBytes >::num_of_const_buffer_sequence ( ) const
inlineconstexpr

Get number of element of const_buffer_sequence.

Returns
number of element of const_buffer_sequence

◆ packet_id()

template<std::size_t PacketIdBytes>
packet_id_type<PacketIdBytes>::type MQTT_NS::v5::basic_publish_message< PacketIdBytes >::packet_id ( ) const
inline

Get packet id.

Returns
packet_id

◆ payload()

template<std::size_t PacketIdBytes>
std::vector<string_view> MQTT_NS::v5::basic_publish_message< PacketIdBytes >::payload ( ) const
inline

Get payload.

Returns
payload

◆ payload_as_buffer()

template<std::size_t PacketIdBytes>
buffer MQTT_NS::v5::basic_publish_message< PacketIdBytes >::payload_as_buffer ( ) const
inline

Get payload as single buffer.

Returns
payload

◆ props()

template<std::size_t PacketIdBytes>
properties const& MQTT_NS::v5::basic_publish_message< PacketIdBytes >::props ( ) const
inline

Get properties.

Returns
properties

◆ remove_prop()

template<std::size_t PacketIdBytes>
void MQTT_NS::v5::basic_publish_message< PacketIdBytes >::remove_prop ( v5::property::id  id)
inline

Remove property.

Parameters
idproperty::id to remove

◆ set_dup()

template<std::size_t PacketIdBytes>
constexpr void MQTT_NS::v5::basic_publish_message< PacketIdBytes >::set_dup ( bool  dup)
inlineconstexpr

Set dup flag.

Parameters
dupflag value to set

◆ set_topic_name()

template<std::size_t PacketIdBytes>
void MQTT_NS::v5::basic_publish_message< PacketIdBytes >::set_topic_name ( as::const_buffer  topic_name)
inline

Set topic name.

Parameters
topic_namevalue to set

◆ size()

template<std::size_t PacketIdBytes>
std::size_t MQTT_NS::v5::basic_publish_message< PacketIdBytes >::size ( ) const
inline

Get whole size of sequence.

Returns
whole size

◆ topic()

template<std::size_t PacketIdBytes>
string_view MQTT_NS::v5::basic_publish_message< PacketIdBytes >::topic ( ) const
inline

Get topic name.

Returns
topic name

◆ update_prop()

template<std::size_t PacketIdBytes>
template<typename Property >
std::enable_if_t< std::is_base_of<property::detail::n_bytes_property<1>, Property>::value || std::is_base_of<property::detail::n_bytes_property<2>, Property>::value || std::is_base_of<property::detail::n_bytes_property<4>, Property>::value > MQTT_NS::v5::basic_publish_message< PacketIdBytes >::update_prop ( Property  update_prop)
inline

Update property Only fixed size property can be updated.

Parameters
pproperty to update

The documentation for this class was generated from the following file: