diff options
Diffstat (limited to 'qpid/cpp/src/qpid/messaging/amqp/PnData.h')
-rw-r--r-- | qpid/cpp/src/qpid/messaging/amqp/PnData.h | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/qpid/cpp/src/qpid/messaging/amqp/PnData.h b/qpid/cpp/src/qpid/messaging/amqp/PnData.h index 6d03235432..b0119f88fd 100644 --- a/qpid/cpp/src/qpid/messaging/amqp/PnData.h +++ b/qpid/cpp/src/qpid/messaging/amqp/PnData.h @@ -32,28 +32,29 @@ namespace messaging { namespace amqp { /** - * Helper class to read/write messaging types to/from pn_data_t. + * Helper class to put/get messaging types to/from pn_data_t. */ class PnData { public: - PnData(pn_data_t* d) : data(d) {} + pn_data_t* data; - void write(const types::Variant& value); - void write(const types::Variant::Map& map); - void write(const types::Variant::List& list); + PnData(pn_data_t* d) : data(d) {} - bool read(pn_type_t type, types::Variant& value); - bool read(types::Variant& value); - void readList(types::Variant::List& value); - void readMap(types::Variant::Map& value); - void readArray(types::Variant::List& value); + void put(const types::Variant& value); + void put(const types::Variant::Map& map); + void put(const types::Variant::List& list); + void put(int32_t n) { pn_data_put_int(data, n); } + void putSymbol(const std::string& symbol) { pn_data_put_symbol(data, bytes(symbol)); } - static pn_bytes_t str(const std::string&); - static std::string str(const pn_bytes_t&); + bool get(pn_type_t type, types::Variant& value); + bool get(types::Variant& value); + void getList(types::Variant::List& value); + void getMap(types::Variant::Map& value); + void getArray(types::Variant::List& value); - private: - pn_data_t* data; + static pn_bytes_t bytes(const std::string&); + static std::string string(const pn_bytes_t&); }; }}} // namespace messaging::amqp |