| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- // Copyright Takatoshi Kondo 2015
 
- //
 
- // Distributed under the Boost Software License, Version 1.0.
 
- // (See accompanying file LICENSE_1_0.txt or copy at
 
- // http://www.boost.org/LICENSE_1_0.txt)
 
- #if !defined(MQTT_WILL_HPP)
 
- #define MQTT_WILL_HPP
 
- #include <string>
 
- #include <mqtt/namespace.hpp>
 
- #include <mqtt/namespace.hpp>
 
- #include <mqtt/move.hpp>
 
- #include <mqtt/publish.hpp>
 
- #include <mqtt/property_variant.hpp>
 
- namespace MQTT_NS {
 
- class will {
 
- public:
 
-     /**
 
-      * @brief constructor
 
-      * @param topic
 
-      *        A topic name to publish as a will
 
-      * @param message
 
-      *        The contents to publish as a will
 
-      * @param pubopts
 
-      *        Qos and retain flag
 
-      * @param qos
 
-      *        qos
 
-      */
 
-     will(buffer topic,
 
-          buffer message,
 
-          publish_options pubopts = {},
 
-          v5::properties props = {})
 
-         :topic_(force_move(topic)),
 
-          message_(force_move(message)),
 
-          pubopts_(pubopts),
 
-          props_(force_move(props))
 
-     {}
 
-     constexpr buffer const& topic() const {
 
-         return topic_;
 
-     }
 
-     constexpr buffer& topic() {
 
-         return topic_;
 
-     }
 
-     constexpr buffer const& message() const {
 
-         return message_;
 
-     }
 
-     constexpr buffer& message() {
 
-         return message_;
 
-     }
 
-     constexpr retain get_retain() const {
 
-         return pubopts_.get_retain();
 
-     }
 
-     constexpr qos get_qos() const {
 
-         return pubopts_.get_qos();
 
-     }
 
-     constexpr v5::properties const& props() const {
 
-         return props_;
 
-     }
 
-     constexpr v5::properties& props() {
 
-         return props_;
 
-     }
 
- private:
 
-     buffer topic_;
 
-     buffer message_;
 
-     publish_options pubopts_;
 
-     v5::properties props_;
 
- };
 
- } // namespace MQTT_NS
 
- #endif // MQTT_WILL_HPP
 
 
  |