summaryrefslogtreecommitdiff
path: root/cpp/include/qpid/messaging
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/include/qpid/messaging')
-rw-r--r--cpp/include/qpid/messaging/Address.h12
-rw-r--r--cpp/include/qpid/messaging/Codec.h8
-rw-r--r--cpp/include/qpid/messaging/Connection.h6
-rw-r--r--cpp/include/qpid/messaging/ListContent.h32
-rw-r--r--cpp/include/qpid/messaging/ListView.h12
-rw-r--r--cpp/include/qpid/messaging/MapContent.h22
-rw-r--r--cpp/include/qpid/messaging/MapView.h12
-rw-r--r--cpp/include/qpid/messaging/Message.h6
-rw-r--r--cpp/include/qpid/messaging/Uuid.h94
-rw-r--r--cpp/include/qpid/messaging/Variant.h174
10 files changed, 56 insertions, 322 deletions
diff --git a/cpp/include/qpid/messaging/Address.h b/cpp/include/qpid/messaging/Address.h
index fd790a613c..307e0cfa8d 100644
--- a/cpp/include/qpid/messaging/Address.h
+++ b/cpp/include/qpid/messaging/Address.h
@@ -23,7 +23,7 @@
*/
#include <string>
#include "qpid/Exception.h"
-#include "qpid/messaging/Variant.h"
+#include "qpid/types/Variant.h"
#include "qpid/messaging/ImportExport.h"
#include <ostream>
@@ -124,7 +124,7 @@ class Address
QPID_CLIENT_EXTERN Address();
QPID_CLIENT_EXTERN Address(const std::string& address);
QPID_CLIENT_EXTERN Address(const std::string& name, const std::string& subject,
- const Variant::Map& options, const std::string& type = "");
+ const qpid::types::Variant::Map& options, const std::string& type = "");
QPID_CLIENT_EXTERN Address(const Address& address);
QPID_CLIENT_EXTERN ~Address();
QPID_CLIENT_EXTERN Address& operator=(const Address&);
@@ -133,14 +133,14 @@ class Address
QPID_CLIENT_EXTERN const std::string& getSubject() const;
QPID_CLIENT_EXTERN void setSubject(const std::string&);
QPID_CLIENT_EXTERN bool hasSubject() const;
- QPID_CLIENT_EXTERN const Variant::Map& getOptions() const;
- QPID_CLIENT_EXTERN Variant::Map& getOptions();
- QPID_CLIENT_EXTERN void setOptions(const Variant::Map&);
+ QPID_CLIENT_EXTERN const qpid::types::Variant::Map& getOptions() const;
+ QPID_CLIENT_EXTERN qpid::types::Variant::Map& getOptions();
+ QPID_CLIENT_EXTERN void setOptions(const qpid::types::Variant::Map&);
QPID_CLIENT_EXTERN std::string getType() const;
QPID_CLIENT_EXTERN void setType(const std::string&);
- QPID_CLIENT_EXTERN const Variant& getOption(const std::string& key) const;
+ QPID_CLIENT_EXTERN const qpid::types::Variant& getOption(const std::string& key) const;
QPID_CLIENT_EXTERN std::string toStr() const;
QPID_CLIENT_EXTERN operator bool() const;
diff --git a/cpp/include/qpid/messaging/Codec.h b/cpp/include/qpid/messaging/Codec.h
index b9b1cc862a..a69baa5af1 100644
--- a/cpp/include/qpid/messaging/Codec.h
+++ b/cpp/include/qpid/messaging/Codec.h
@@ -25,9 +25,11 @@
#include "qpid/messaging/ImportExport.h"
namespace qpid {
+namespace types{
+class Variant;
+}
namespace messaging {
-class Variant;
/**
*
*/
@@ -35,8 +37,8 @@ class Codec
{
public:
QPID_CLIENT_EXTERN virtual ~Codec() {}
- virtual void encode(const Variant&, std::string&) = 0;
- virtual void decode(const std::string&, Variant&) = 0;
+ virtual void encode(const qpid::types::Variant&, std::string&) = 0;
+ virtual void decode(const std::string&, qpid::types::Variant&) = 0;
private:
};
}} // namespace qpid::messaging
diff --git a/cpp/include/qpid/messaging/Connection.h b/cpp/include/qpid/messaging/Connection.h
index b5eeeb2980..24fb9650d8 100644
--- a/cpp/include/qpid/messaging/Connection.h
+++ b/cpp/include/qpid/messaging/Connection.h
@@ -24,7 +24,7 @@
#include <string>
#include "qpid/messaging/ImportExport.h"
#include "qpid/messaging/Handle.h"
-#include "qpid/messaging/Variant.h"
+#include "qpid/types/Variant.h"
namespace qpid {
namespace messaging {
@@ -74,11 +74,11 @@ class Connection : public qpid::messaging::Handle<ConnectionImpl>
* doubled every failure until the value of max-retry-interval
* is reached.
*/
- QPID_CLIENT_EXTERN Connection(const Variant::Map& options = Variant::Map());
+ QPID_CLIENT_EXTERN Connection(const qpid::types::Variant::Map& options = qpid::types::Variant::Map());
QPID_CLIENT_EXTERN Connection(const std::string& options);
QPID_CLIENT_EXTERN ~Connection();
QPID_CLIENT_EXTERN Connection& operator=(const Connection&);
- QPID_CLIENT_EXTERN void setOption(const std::string& name, const Variant& value);
+ QPID_CLIENT_EXTERN void setOption(const std::string& name, const qpid::types::Variant& value);
QPID_CLIENT_EXTERN void open(const std::string& url);
/**
* Closes a connection and all sessions associated with it. An
diff --git a/cpp/include/qpid/messaging/ListContent.h b/cpp/include/qpid/messaging/ListContent.h
index 3db8a8eac6..1e7d34af54 100644
--- a/cpp/include/qpid/messaging/ListContent.h
+++ b/cpp/include/qpid/messaging/ListContent.h
@@ -22,7 +22,7 @@
*
*/
#include "qpid/messaging/ImportExport.h"
-#include "Variant.h"
+#include "qpid/types/Variant.h"
namespace qpid {
namespace messaging {
@@ -36,13 +36,13 @@ class Message;
class ListContent
{
public:
- typedef Variant::List::iterator iterator;
- typedef Variant::List::reverse_iterator reverse_iterator;
- typedef Variant::List::const_iterator const_iterator;
- typedef Variant::List::const_reverse_iterator const_reverse_iterator;
+ typedef qpid::types::Variant::List::iterator iterator;
+ typedef qpid::types::Variant::List::reverse_iterator reverse_iterator;
+ typedef qpid::types::Variant::List::const_iterator const_iterator;
+ typedef qpid::types::Variant::List::const_reverse_iterator const_reverse_iterator;
QPID_CLIENT_EXTERN ListContent(Message&);
- QPID_CLIENT_EXTERN ListContent(Message&, const Variant::List&);
+ QPID_CLIENT_EXTERN ListContent(Message&, const qpid::types::Variant::List&);
QPID_CLIENT_EXTERN ~ListContent();
QPID_CLIENT_EXTERN const_iterator begin() const;
@@ -57,27 +57,27 @@ class ListContent
QPID_CLIENT_EXTERN bool empty() const;
QPID_CLIENT_EXTERN size_t size() const;
- QPID_CLIENT_EXTERN const Variant& front() const;
- QPID_CLIENT_EXTERN Variant& front();
- QPID_CLIENT_EXTERN const Variant& back() const;
- QPID_CLIENT_EXTERN Variant& back();
+ QPID_CLIENT_EXTERN const qpid::types::Variant& front() const;
+ QPID_CLIENT_EXTERN qpid::types::Variant& front();
+ QPID_CLIENT_EXTERN const qpid::types::Variant& back() const;
+ QPID_CLIENT_EXTERN qpid::types::Variant& back();
- QPID_CLIENT_EXTERN void push_front(const Variant&);
- QPID_CLIENT_EXTERN void push_back(const Variant&);
+ QPID_CLIENT_EXTERN void push_front(const qpid::types::Variant&);
+ QPID_CLIENT_EXTERN void push_back(const qpid::types::Variant&);
QPID_CLIENT_EXTERN void pop_front();
QPID_CLIENT_EXTERN void pop_back();
- QPID_CLIENT_EXTERN iterator insert(iterator position, const Variant&);
- QPID_CLIENT_EXTERN void insert(iterator position, size_t n, const Variant&);
+ QPID_CLIENT_EXTERN iterator insert(iterator position, const qpid::types::Variant&);
+ QPID_CLIENT_EXTERN void insert(iterator position, size_t n, const qpid::types::Variant&);
QPID_CLIENT_EXTERN iterator erase(iterator position);
QPID_CLIENT_EXTERN iterator erase(iterator first, iterator last);
QPID_CLIENT_EXTERN void clear();
QPID_CLIENT_EXTERN void encode();
- QPID_CLIENT_EXTERN const Variant::List& asList() const;
- QPID_CLIENT_EXTERN Variant::List& asList();
+ QPID_CLIENT_EXTERN const qpid::types::Variant::List& asList() const;
+ QPID_CLIENT_EXTERN qpid::types::Variant::List& asList();
private:
ListContentImpl* impl;
diff --git a/cpp/include/qpid/messaging/ListView.h b/cpp/include/qpid/messaging/ListView.h
index d7c3536a9c..dce82a657c 100644
--- a/cpp/include/qpid/messaging/ListView.h
+++ b/cpp/include/qpid/messaging/ListView.h
@@ -23,7 +23,7 @@
*/
#include "qpid/messaging/ImportExport.h"
-#include "Variant.h"
+#include "qpid/types/Variant.h"
namespace qpid {
namespace messaging {
@@ -37,8 +37,8 @@ class Message;
class ListView
{
public:
- typedef Variant::List::const_iterator const_iterator;
- typedef Variant::List::const_reverse_iterator const_reverse_iterator;
+ typedef qpid::types::Variant::List::const_iterator const_iterator;
+ typedef qpid::types::Variant::List::const_reverse_iterator const_reverse_iterator;
QPID_CLIENT_EXTERN ListView(const Message&);
QPID_CLIENT_EXTERN ~ListView();
@@ -52,10 +52,10 @@ class ListView
QPID_CLIENT_EXTERN bool empty() const;
QPID_CLIENT_EXTERN size_t size() const;
- QPID_CLIENT_EXTERN const Variant& front() const;
- QPID_CLIENT_EXTERN const Variant& back() const;
+ QPID_CLIENT_EXTERN const qpid::types::Variant& front() const;
+ QPID_CLIENT_EXTERN const qpid::types::Variant& back() const;
- QPID_CLIENT_EXTERN const Variant::List& asList() const;
+ QPID_CLIENT_EXTERN const qpid::types::Variant::List& asList() const;
private:
ListViewImpl* impl;
};
diff --git a/cpp/include/qpid/messaging/MapContent.h b/cpp/include/qpid/messaging/MapContent.h
index 78ef51e593..863eaed786 100644
--- a/cpp/include/qpid/messaging/MapContent.h
+++ b/cpp/include/qpid/messaging/MapContent.h
@@ -23,7 +23,7 @@
*/
#include "qpid/messaging/ImportExport.h"
-#include "Variant.h"
+#include "qpid/types/Variant.h"
#include <map>
#include <string>
@@ -40,14 +40,14 @@ class MapContent
{
public:
typedef std::string key_type;
- typedef std::pair<std::string, Variant> value_type;
- typedef std::map<key_type, Variant>::const_iterator const_iterator;
- typedef std::map<key_type, Variant>::iterator iterator;
- typedef std::map<key_type, Variant>::const_reverse_iterator const_reverse_iterator;
- typedef std::map<key_type, Variant>::reverse_iterator reverse_iterator;
+ typedef std::pair<std::string, qpid::types::Variant> value_type;
+ typedef std::map<key_type, qpid::types::Variant>::const_iterator const_iterator;
+ typedef std::map<key_type, qpid::types::Variant>::iterator iterator;
+ typedef std::map<key_type, qpid::types::Variant>::const_reverse_iterator const_reverse_iterator;
+ typedef std::map<key_type, qpid::types::Variant>::reverse_iterator reverse_iterator;
QPID_CLIENT_EXTERN MapContent(Message&);
- QPID_CLIENT_EXTERN MapContent(Message&, const Variant::Map&);
+ QPID_CLIENT_EXTERN MapContent(Message&, const qpid::types::Variant::Map&);
QPID_CLIENT_EXTERN ~MapContent();
QPID_CLIENT_EXTERN const_iterator begin() const;
@@ -64,8 +64,8 @@ class MapContent
QPID_CLIENT_EXTERN const_iterator find(const key_type&) const;
QPID_CLIENT_EXTERN iterator find(const key_type&);
- QPID_CLIENT_EXTERN const Variant& operator[](const key_type&) const;
- QPID_CLIENT_EXTERN Variant& operator[](const key_type&);
+ QPID_CLIENT_EXTERN const qpid::types::Variant& operator[](const key_type&) const;
+ QPID_CLIENT_EXTERN qpid::types::Variant& operator[](const key_type&);
QPID_CLIENT_EXTERN std::pair<iterator,bool> insert(const value_type&);
QPID_CLIENT_EXTERN iterator insert(iterator position, const value_type&);
@@ -76,8 +76,8 @@ class MapContent
QPID_CLIENT_EXTERN void encode();
- QPID_CLIENT_EXTERN const std::map<key_type, Variant>& asMap() const;
- QPID_CLIENT_EXTERN std::map<key_type, Variant>& asMap();
+ QPID_CLIENT_EXTERN const std::map<key_type, qpid::types::Variant>& asMap() const;
+ QPID_CLIENT_EXTERN std::map<key_type, qpid::types::Variant>& asMap();
private:
MapContentImpl* impl;
diff --git a/cpp/include/qpid/messaging/MapView.h b/cpp/include/qpid/messaging/MapView.h
index baa999b4ad..e359a9d929 100644
--- a/cpp/include/qpid/messaging/MapView.h
+++ b/cpp/include/qpid/messaging/MapView.h
@@ -22,7 +22,7 @@
*
*/
#include "qpid/messaging/ImportExport.h"
-#include "Variant.h"
+#include "qpid/types/Variant.h"
#include <map>
#include <string>
@@ -39,9 +39,9 @@ class MapView
{
public:
typedef std::string key_type;
- typedef std::pair<key_type, Variant> value_type;
- typedef std::map<key_type, Variant>::const_iterator const_iterator;
- typedef std::map<key_type, Variant>::const_reverse_iterator const_reverse_iterator;
+ typedef std::pair<key_type, qpid::types::Variant> value_type;
+ typedef std::map<key_type, qpid::types::Variant>::const_iterator const_iterator;
+ typedef std::map<key_type, qpid::types::Variant>::const_reverse_iterator const_reverse_iterator;
QPID_CLIENT_EXTERN MapView(const Message&);
QPID_CLIENT_EXTERN ~MapView();
@@ -56,9 +56,9 @@ class MapView
QPID_CLIENT_EXTERN size_t size() const;
QPID_CLIENT_EXTERN const_iterator find(const key_type&) const;
- QPID_CLIENT_EXTERN const Variant& operator[](const key_type&) const;
+ QPID_CLIENT_EXTERN const qpid::types::Variant& operator[](const key_type&) const;
- QPID_CLIENT_EXTERN const std::map<key_type, Variant>& asMap() const;
+ QPID_CLIENT_EXTERN const std::map<key_type, qpid::types::Variant>& asMap() const;
private:
MapViewImpl* impl;
};
diff --git a/cpp/include/qpid/messaging/Message.h b/cpp/include/qpid/messaging/Message.h
index 21404d482b..04923ee03b 100644
--- a/cpp/include/qpid/messaging/Message.h
+++ b/cpp/include/qpid/messaging/Message.h
@@ -24,7 +24,7 @@
#include <string>
#include "qpid/messaging/Duration.h"
-#include "qpid/messaging/Variant.h"
+#include "qpid/types/Variant.h"
#include "qpid/messaging/ImportExport.h"
namespace qpid {
@@ -79,8 +79,8 @@ class Message
QPID_CLIENT_EXTERN bool isRedelivered() const;
- QPID_CLIENT_EXTERN const Variant::Map& getHeaders() const;
- QPID_CLIENT_EXTERN Variant::Map& getHeaders();
+ QPID_CLIENT_EXTERN const qpid::types::Variant::Map& getHeaders() const;
+ QPID_CLIENT_EXTERN qpid::types::Variant::Map& getHeaders();
QPID_CLIENT_EXTERN const std::string& getContent() const;
QPID_CLIENT_EXTERN std::string& getContent();
diff --git a/cpp/include/qpid/messaging/Uuid.h b/cpp/include/qpid/messaging/Uuid.h
deleted file mode 100644
index d83f8495b7..0000000000
--- a/cpp/include/qpid/messaging/Uuid.h
+++ /dev/null
@@ -1,94 +0,0 @@
-#ifndef QPID_MESSAGING_UUID_H
-#define QPID_MESSAGING_UUID_H
-
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-#include "qpid/messaging/ImportExport.h"
-#include <iosfwd>
-#include <string>
-
-namespace qpid {
-namespace messaging {
-
-class Uuid
-{
- public:
- static const size_t SIZE;
- /**
- * If unique is true, this will generate a new unique uuid, if not
- * it will construct a null uuid.
- */
- QPID_CLIENT_EXTERN Uuid(bool unique=false);
- QPID_CLIENT_EXTERN Uuid(const Uuid&);
- QPID_CLIENT_EXTERN Uuid& operator=(const Uuid&);
- /** Copy the UUID from data16, which must point to a 16-byte UUID */
- QPID_CLIENT_EXTERN Uuid(const unsigned char* data16);
-
- /** Set to a new unique identifier. */
- QPID_CLIENT_EXTERN void generate();
-
- /** Set to all zeros. */
- QPID_CLIENT_EXTERN void clear();
-
- /** Test for null (all zeros). */
- QPID_CLIENT_EXTERN bool isNull() const;
- QPID_CLIENT_EXTERN operator bool() const;
- QPID_CLIENT_EXTERN bool operator!() const;
-
- /** String value in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
- QPID_CLIENT_EXTERN std::string str() const;
-
- QPID_CLIENT_EXTERN size_t size() const;
- QPID_CLIENT_EXTERN const unsigned char* data() const;
-
- friend QPID_CLIENT_EXTERN bool operator==(const Uuid&, const Uuid&);
- friend QPID_CLIENT_EXTERN bool operator!=(const Uuid&, const Uuid&);
- friend QPID_CLIENT_EXTERN bool operator<(const Uuid&, const Uuid&);
- friend QPID_CLIENT_EXTERN bool operator>(const Uuid&, const Uuid&);
- friend QPID_CLIENT_EXTERN bool operator<=(const Uuid&, const Uuid&);
- friend QPID_CLIENT_EXTERN bool operator>=(const Uuid&, const Uuid&);
- friend QPID_CLIENT_EXTERN std::ostream& operator<<(std::ostream&, Uuid);
- friend QPID_CLIENT_EXTERN std::istream& operator>>(std::istream&, Uuid&);
-
- private:
- unsigned char bytes[16];
-};
-
-/** Returns true if the uuids are equal, false otherwise. **/
-QPID_CLIENT_EXTERN bool operator==(const Uuid&, const Uuid&);
-/** Returns true if the uuids are NOT equal, false if they are. **/
-QPID_CLIENT_EXTERN bool operator!=(const Uuid&, const Uuid&);
-
-QPID_CLIENT_EXTERN bool operator<(const Uuid&, const Uuid&);
-QPID_CLIENT_EXTERN bool operator>(const Uuid&, const Uuid&);
-QPID_CLIENT_EXTERN bool operator<=(const Uuid&, const Uuid&);
-QPID_CLIENT_EXTERN bool operator>=(const Uuid&, const Uuid&);
-
-/** Print in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
-QPID_CLIENT_EXTERN std::ostream& operator<<(std::ostream&, Uuid);
-
-/** Read from format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
-QPID_CLIENT_EXTERN std::istream& operator>>(std::istream&, Uuid&);
-
-}} // namespace qpid::messaging
-
-#endif /*!QPID_MESSAGING_UUID_H*/
diff --git a/cpp/include/qpid/messaging/Variant.h b/cpp/include/qpid/messaging/Variant.h
deleted file mode 100644
index 51c6bd98fe..0000000000
--- a/cpp/include/qpid/messaging/Variant.h
+++ /dev/null
@@ -1,174 +0,0 @@
-#ifndef QPID_MESSAGING_VARIANT_H
-#define QPID_MESSAGING_VARIANT_H
-
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-#include <list>
-#include <map>
-#include <ostream>
-#include <string>
-#include "Uuid.h"
-#include "qpid/Exception.h"
-#include "qpid/sys/IntegerTypes.h"
-#include "qpid/messaging/ImportExport.h"
-
-namespace qpid {
-namespace messaging {
-
-/**
- * Thrown when an illegal conversion of a variant is attempted.
- */
-struct InvalidConversion : public qpid::Exception
-{
- InvalidConversion(const std::string& msg);
-};
-
-enum VariantType {
- VAR_VOID = 0,
- VAR_BOOL,
- VAR_UINT8,
- VAR_UINT16,
- VAR_UINT32,
- VAR_UINT64,
- VAR_INT8,
- VAR_INT16,
- VAR_INT32,
- VAR_INT64,
- VAR_FLOAT,
- VAR_DOUBLE,
- VAR_STRING,
- VAR_MAP,
- VAR_LIST,
- VAR_UUID
-};
-
-class VariantImpl;
-
-/**
- * Represents a value of variable type.
- */
-class Variant
-{
- public:
- typedef std::map<std::string, Variant> Map;
- typedef std::list<Variant> List;
-
- QPID_CLIENT_EXTERN Variant();
- QPID_CLIENT_EXTERN Variant(bool);
- QPID_CLIENT_EXTERN Variant(uint8_t);
- QPID_CLIENT_EXTERN Variant(uint16_t);
- QPID_CLIENT_EXTERN Variant(uint32_t);
- QPID_CLIENT_EXTERN Variant(uint64_t);
- QPID_CLIENT_EXTERN Variant(int8_t);
- QPID_CLIENT_EXTERN Variant(int16_t);
- QPID_CLIENT_EXTERN Variant(int32_t);
- QPID_CLIENT_EXTERN Variant(int64_t);
- QPID_CLIENT_EXTERN Variant(float);
- QPID_CLIENT_EXTERN Variant(double);
- QPID_CLIENT_EXTERN Variant(const std::string&);
- QPID_CLIENT_EXTERN Variant(const char*);
- QPID_CLIENT_EXTERN Variant(const Map&);
- QPID_CLIENT_EXTERN Variant(const List&);
- QPID_CLIENT_EXTERN Variant(const Variant&);
- QPID_CLIENT_EXTERN Variant(const Uuid&);
-
- QPID_CLIENT_EXTERN ~Variant();
-
- QPID_CLIENT_EXTERN VariantType getType() const;
- QPID_CLIENT_EXTERN bool isVoid() const;
-
- QPID_CLIENT_EXTERN Variant& operator=(bool);
- QPID_CLIENT_EXTERN Variant& operator=(uint8_t);
- QPID_CLIENT_EXTERN Variant& operator=(uint16_t);
- QPID_CLIENT_EXTERN Variant& operator=(uint32_t);
- QPID_CLIENT_EXTERN Variant& operator=(uint64_t);
- QPID_CLIENT_EXTERN Variant& operator=(int8_t);
- QPID_CLIENT_EXTERN Variant& operator=(int16_t);
- QPID_CLIENT_EXTERN Variant& operator=(int32_t);
- QPID_CLIENT_EXTERN Variant& operator=(int64_t);
- QPID_CLIENT_EXTERN Variant& operator=(float);
- QPID_CLIENT_EXTERN Variant& operator=(double);
- QPID_CLIENT_EXTERN Variant& operator=(const std::string&);
- QPID_CLIENT_EXTERN Variant& operator=(const char*);
- QPID_CLIENT_EXTERN Variant& operator=(const Map&);
- QPID_CLIENT_EXTERN Variant& operator=(const List&);
- QPID_CLIENT_EXTERN Variant& operator=(const Variant&);
- QPID_CLIENT_EXTERN Variant& operator=(const Uuid&);
-
- QPID_CLIENT_EXTERN bool asBool() const;
- QPID_CLIENT_EXTERN uint8_t asUint8() const;
- QPID_CLIENT_EXTERN uint16_t asUint16() const;
- QPID_CLIENT_EXTERN uint32_t asUint32() const;
- QPID_CLIENT_EXTERN uint64_t asUint64() const;
- QPID_CLIENT_EXTERN int8_t asInt8() const;
- QPID_CLIENT_EXTERN int16_t asInt16() const;
- QPID_CLIENT_EXTERN int32_t asInt32() const;
- QPID_CLIENT_EXTERN int64_t asInt64() const;
- QPID_CLIENT_EXTERN float asFloat() const;
- QPID_CLIENT_EXTERN double asDouble() const;
- QPID_CLIENT_EXTERN std::string asString() const;
- QPID_CLIENT_EXTERN Uuid asUuid() const;
-
- QPID_CLIENT_EXTERN operator bool() const;
- QPID_CLIENT_EXTERN operator uint8_t() const;
- QPID_CLIENT_EXTERN operator uint16_t() const;
- QPID_CLIENT_EXTERN operator uint32_t() const;
- QPID_CLIENT_EXTERN operator uint64_t() const;
- QPID_CLIENT_EXTERN operator int8_t() const;
- QPID_CLIENT_EXTERN operator int16_t() const;
- QPID_CLIENT_EXTERN operator int32_t() const;
- QPID_CLIENT_EXTERN operator int64_t() const;
- QPID_CLIENT_EXTERN operator float() const;
- QPID_CLIENT_EXTERN operator double() const;
- QPID_CLIENT_EXTERN operator const char*() const;
- QPID_CLIENT_EXTERN operator Uuid() const;
-
- QPID_CLIENT_EXTERN const Map& asMap() const;
- QPID_CLIENT_EXTERN Map& asMap();
- QPID_CLIENT_EXTERN const List& asList() const;
- QPID_CLIENT_EXTERN List& asList();
- /**
- * Unlike asString(), getString() will not do any conversions and
- * will throw InvalidConversion if the type is not STRING.
- */
- QPID_CLIENT_EXTERN const std::string& getString() const;
- QPID_CLIENT_EXTERN std::string& getString();
-
- QPID_CLIENT_EXTERN void setEncoding(const std::string&);
- QPID_CLIENT_EXTERN const std::string& getEncoding() const;
-
- QPID_CLIENT_EXTERN bool isEqualTo(const Variant& a) const;
-
- QPID_CLIENT_EXTERN void reset();
- private:
- VariantImpl* impl;
-};
-
-QPID_CLIENT_EXTERN std::ostream& operator<<(std::ostream& out, const Variant& value);
-QPID_CLIENT_EXTERN std::ostream& operator<<(std::ostream& out, const Variant::Map& map);
-QPID_CLIENT_EXTERN std::ostream& operator<<(std::ostream& out, const Variant::List& list);
-QPID_CLIENT_EXTERN bool operator==(const Variant& a, const Variant& b);
-
-typedef Variant::Map VariantMap;
-
-}} // namespace qpid::messaging
-
-#endif /*!QPID_MESSAGING_VARIANT_H*/