summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/framing
diff options
context:
space:
mode:
authorStephen D. Huston <shuston@apache.org>2009-03-12 20:55:34 +0000
committerStephen D. Huston <shuston@apache.org>2009-03-12 20:55:34 +0000
commit0398410e8894287da530cfb63d6344817445bfc2 (patch)
treee4d789cd965f25c8fb0a51e1cf71df0a5330e73b /cpp/src/qpid/framing
parent47db7ebfc533d2dc8a3dfc3b9d1273730b8779e6 (diff)
downloadqpid-python-0398410e8894287da530cfb63d6344817445bfc2.tar.gz
Changes to build DLLs instead of static libs on Windows; primarily added decorators to exported names. Fixes QPID-1673
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@753014 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/framing')
-rw-r--r--cpp/src/qpid/framing/AMQBody.h5
-rw-r--r--cpp/src/qpid/framing/AMQContentBody.h23
-rw-r--r--cpp/src/qpid/framing/AMQFrame.h21
-rw-r--r--cpp/src/qpid/framing/AMQHeaderBody.h13
-rw-r--r--cpp/src/qpid/framing/AMQHeartbeatBody.h5
-rw-r--r--cpp/src/qpid/framing/AMQMethodBody.h4
-rw-r--r--cpp/src/qpid/framing/AccumulatedAck.h17
-rw-r--r--cpp/src/qpid/framing/Array.h51
-rw-r--r--cpp/src/qpid/framing/Buffer.h91
-rw-r--r--cpp/src/qpid/framing/FieldTable.h67
-rw-r--r--cpp/src/qpid/framing/FieldValue.h27
-rw-r--r--cpp/src/qpid/framing/FrameSet.h19
-rw-r--r--cpp/src/qpid/framing/ProtocolInitiation.h15
-rw-r--r--cpp/src/qpid/framing/ProtocolVersion.h17
-rw-r--r--cpp/src/qpid/framing/Proxy.h18
-rw-r--r--cpp/src/qpid/framing/SendContent.h5
-rw-r--r--cpp/src/qpid/framing/SequenceNumber.h27
-rw-r--r--cpp/src/qpid/framing/SequenceNumberSet.h7
-rw-r--r--cpp/src/qpid/framing/SequenceSet.h17
-rw-r--r--cpp/src/qpid/framing/StructHelper.h1
-rw-r--r--cpp/src/qpid/framing/TransferContent.h27
-rw-r--r--cpp/src/qpid/framing/Uuid.h13
22 files changed, 256 insertions, 234 deletions
diff --git a/cpp/src/qpid/framing/AMQBody.h b/cpp/src/qpid/framing/AMQBody.h
index 9e66b9738f..60ac2d3b7e 100644
--- a/cpp/src/qpid/framing/AMQBody.h
+++ b/cpp/src/qpid/framing/AMQBody.h
@@ -26,6 +26,7 @@
#include "qpid/framing/BodyFactory.h"
#include <boost/intrusive_ptr.hpp>
#include <ostream>
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -48,7 +49,7 @@ struct AMQBodyConstVisitor {
class AMQBody : public RefCounted {
public:
AMQBody() {}
- virtual ~AMQBody();
+ QPID_COMMON_EXTERN virtual ~AMQBody();
// Make AMQBody copyable even though RefCounted.
AMQBody(const AMQBody&) : RefCounted() {}
@@ -71,7 +72,7 @@ class AMQBody : public RefCounted {
virtual boost::intrusive_ptr<AMQBody> clone() const = 0;
};
-std::ostream& operator<<(std::ostream& out, const AMQBody& body) ;
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& out, const AMQBody& body) ;
enum BodyTypes {
METHOD_BODY = 1,
diff --git a/cpp/src/qpid/framing/AMQContentBody.h b/cpp/src/qpid/framing/AMQContentBody.h
index a81cf36168..9606ae5ec5 100644
--- a/cpp/src/qpid/framing/AMQContentBody.h
+++ b/cpp/src/qpid/framing/AMQContentBody.h
@@ -21,6 +21,7 @@
#include "amqp_types.h"
#include "AMQBody.h"
#include "Buffer.h"
+#include "qpid/CommonImportExport.h"
#ifndef _AMQContentBody_
#define _AMQContentBody_
@@ -33,18 +34,18 @@ class AMQContentBody : public AMQBody
string data;
public:
- AMQContentBody();
- AMQContentBody(const string& data);
+ QPID_COMMON_EXTERN AMQContentBody();
+ QPID_COMMON_EXTERN AMQContentBody(const string& data);
inline virtual ~AMQContentBody(){}
- inline uint8_t type() const { return CONTENT_BODY; };
- inline const string& getData() const { return data; }
- inline string& getData() { return data; }
- uint32_t encodedSize() const;
- void encode(Buffer& buffer) const;
- void decode(Buffer& buffer, uint32_t size);
- void print(std::ostream& out) const;
- void accept(AMQBodyConstVisitor& v) const { v.visit(*this); }
- boost::intrusive_ptr<AMQBody> clone() const { return BodyFactory::copy(*this); }
+ QPID_COMMON_EXTERN inline uint8_t type() const { return CONTENT_BODY; };
+ QPID_COMMON_EXTERN inline const string& getData() const { return data; }
+ QPID_COMMON_EXTERN inline string& getData() { return data; }
+ QPID_COMMON_EXTERN uint32_t encodedSize() const;
+ QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+ QPID_COMMON_EXTERN void decode(Buffer& buffer, uint32_t size);
+ QPID_COMMON_EXTERN void print(std::ostream& out) const;
+ QPID_COMMON_EXTERN void accept(AMQBodyConstVisitor& v) const { v.visit(*this); }
+ QPID_COMMON_EXTERN boost::intrusive_ptr<AMQBody> clone() const { return BodyFactory::copy(*this); }
};
}
diff --git a/cpp/src/qpid/framing/AMQFrame.h b/cpp/src/qpid/framing/AMQFrame.h
index 02a1ea4622..34319e7ed4 100644
--- a/cpp/src/qpid/framing/AMQFrame.h
+++ b/cpp/src/qpid/framing/AMQFrame.h
@@ -29,6 +29,7 @@
#include "qpid/sys/LatencyMetric.h"
#include <boost/intrusive_ptr.hpp>
#include <boost/cast.hpp>
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -36,15 +37,15 @@ namespace framing {
class AMQFrame : public AMQDataBlock, public sys::LatencyMetricTimestamp
{
public:
- AMQFrame(const boost::intrusive_ptr<AMQBody>& b=0);
- AMQFrame(const AMQBody& b);
- ~AMQFrame();
+ QPID_COMMON_EXTERN AMQFrame(const boost::intrusive_ptr<AMQBody>& b=0);
+ QPID_COMMON_EXTERN AMQFrame(const AMQBody& b);
+ QPID_COMMON_EXTERN ~AMQFrame();
ChannelId getChannel() const { return channel; }
void setChannel(ChannelId c) { channel = c; }
- AMQBody* getBody();
- const AMQBody* getBody() const;
+ QPID_COMMON_EXTERN AMQBody* getBody();
+ QPID_COMMON_EXTERN const AMQBody* getBody() const;
AMQMethodBody* getMethod() { return getBody()->getMethod(); }
const AMQMethodBody* getMethod() const { return getBody()->getMethod(); }
@@ -59,9 +60,9 @@ class AMQFrame : public AMQDataBlock, public sys::LatencyMetricTimestamp
return boost::polymorphic_downcast<const T*>(getBody());
}
- void encode(Buffer& buffer) const;
- bool decode(Buffer& buffer);
- uint32_t encodedSize() const;
+ QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+ QPID_COMMON_EXTERN bool decode(Buffer& buffer);
+ QPID_COMMON_EXTERN uint32_t encodedSize() const;
// 0-10 terminology: first/last frame (in segment) first/last segment (in assembly)
@@ -88,7 +89,7 @@ class AMQFrame : public AMQDataBlock, public sys::LatencyMetricTimestamp
void setEos(bool isEos) { eos = isEos; }
static uint16_t DECODE_SIZE_MIN;
- static uint32_t frameOverhead();
+ QPID_COMMON_EXTERN static uint32_t frameOverhead();
/** Must point to at least DECODE_SIZE_MIN bytes of data */
static uint16_t decodeSize(char* data);
@@ -105,7 +106,7 @@ class AMQFrame : public AMQDataBlock, public sys::LatencyMetricTimestamp
mutable uint32_t encodedSizeCache;
};
-std::ostream& operator<<(std::ostream&, const AMQFrame&);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const AMQFrame&);
}} // namespace qpid::framing
diff --git a/cpp/src/qpid/framing/AMQHeaderBody.h b/cpp/src/qpid/framing/AMQHeaderBody.h
index 9846544949..b8099f2e51 100644
--- a/cpp/src/qpid/framing/AMQHeaderBody.h
+++ b/cpp/src/qpid/framing/AMQHeaderBody.h
@@ -26,6 +26,7 @@
#include "Buffer.h"
#include "qpid/framing/DeliveryProperties.h"
#include "qpid/framing/MessageProperties.h"
+#include "qpid/CommonImportExport.h"
#include <iostream>
#include <boost/optional.hpp>
@@ -83,12 +84,12 @@ public:
inline uint8_t type() const { return HEADER_BODY; }
- uint32_t encodedSize() const;
- void encode(Buffer& buffer) const;
- void decode(Buffer& buffer, uint32_t size);
- uint64_t getContentLength() const;
- void print(std::ostream& out) const;
- void accept(AMQBodyConstVisitor&) const;
+ QPID_COMMON_EXTERN uint32_t encodedSize() const;
+ QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+ QPID_COMMON_EXTERN void decode(Buffer& buffer, uint32_t size);
+ QPID_COMMON_EXTERN uint64_t getContentLength() const;
+ QPID_COMMON_EXTERN void print(std::ostream& out) const;
+ QPID_COMMON_EXTERN void accept(AMQBodyConstVisitor&) const;
template <class T> T* get(bool create) {
boost::optional<T>& p=properties.OptProps<T>::props;
diff --git a/cpp/src/qpid/framing/AMQHeartbeatBody.h b/cpp/src/qpid/framing/AMQHeartbeatBody.h
index 3fb41c128e..5d3f633576 100644
--- a/cpp/src/qpid/framing/AMQHeartbeatBody.h
+++ b/cpp/src/qpid/framing/AMQHeartbeatBody.h
@@ -21,6 +21,7 @@
#include "amqp_types.h"
#include "AMQBody.h"
#include "Buffer.h"
+#include "qpid/CommonImportExport.h"
#ifndef _AMQHeartbeatBody_
#define _AMQHeartbeatBody_
@@ -31,12 +32,12 @@ namespace framing {
class AMQHeartbeatBody : public AMQBody
{
public:
- virtual ~AMQHeartbeatBody();
+ QPID_COMMON_EXTERN virtual ~AMQHeartbeatBody();
inline uint32_t encodedSize() const { return 0; }
inline uint8_t type() const { return HEARTBEAT_BODY; }
inline void encode(Buffer& ) const {}
inline void decode(Buffer& , uint32_t /*size*/) {}
- virtual void print(std::ostream& out) const;
+ QPID_COMMON_EXTERN virtual void print(std::ostream& out) const;
void accept(AMQBodyConstVisitor& v) const { v.visit(*this); }
boost::intrusive_ptr<AMQBody> clone() const { return BodyFactory::copy(*this); }
};
diff --git a/cpp/src/qpid/framing/AMQMethodBody.h b/cpp/src/qpid/framing/AMQMethodBody.h
index cc7489ddd9..a38726b0fc 100644
--- a/cpp/src/qpid/framing/AMQMethodBody.h
+++ b/cpp/src/qpid/framing/AMQMethodBody.h
@@ -25,7 +25,7 @@
#include "AMQBody.h"
#include "qpid/framing/ProtocolVersion.h"
#include "qpid/shared_ptr.h"
-
+#include "qpid/CommonImportExport.h"
#include <ostream>
#include <assert.h>
@@ -40,7 +40,7 @@ class MethodBodyConstVisitor;
class AMQMethodBody : public AMQBody {
public:
AMQMethodBody() {}
- virtual ~AMQMethodBody();
+ QPID_COMMON_EXTERN virtual ~AMQMethodBody();
virtual void accept(MethodBodyConstVisitor&) const = 0;
diff --git a/cpp/src/qpid/framing/AccumulatedAck.h b/cpp/src/qpid/framing/AccumulatedAck.h
index ea78b797e0..ede73897c7 100644
--- a/cpp/src/qpid/framing/AccumulatedAck.h
+++ b/cpp/src/qpid/framing/AccumulatedAck.h
@@ -27,6 +27,7 @@
#include <ostream>
#include "SequenceNumber.h"
#include "SequenceNumberSet.h"
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -58,17 +59,17 @@ namespace qpid {
*/
std::list<Range> ranges;
- explicit AccumulatedAck(SequenceNumber r = SequenceNumber());
- void update(SequenceNumber firstTag, SequenceNumber lastTag);
- void consolidate();
- void clear();
- bool covers(SequenceNumber tag) const;
+ QPID_COMMON_EXTERN explicit AccumulatedAck(SequenceNumber r = SequenceNumber());
+ QPID_COMMON_EXTERN void update(SequenceNumber firstTag, SequenceNumber lastTag);
+ QPID_COMMON_EXTERN void consolidate();
+ QPID_COMMON_EXTERN void clear();
+ QPID_COMMON_EXTERN bool covers(SequenceNumber tag) const;
void collectRanges(SequenceNumberSet& set) const;
- void update(const SequenceNumber cumulative, const SequenceNumberSet& range);
+ QPID_COMMON_EXTERN void update(const SequenceNumber cumulative, const SequenceNumberSet& range);
void operator()(SequenceNumber first, SequenceNumber last) { update(first, last); }
};
- std::ostream& operator<<(std::ostream&, const Range&);
- std::ostream& operator<<(std::ostream&, const AccumulatedAck&);
+ QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const Range&);
+ QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const AccumulatedAck&);
}
}
diff --git a/cpp/src/qpid/framing/Array.h b/cpp/src/qpid/framing/Array.h
index 183fcb6d5c..0b6b704ed2 100644
--- a/cpp/src/qpid/framing/Array.h
+++ b/cpp/src/qpid/framing/Array.h
@@ -24,6 +24,7 @@
#include <boost/shared_ptr.hpp>
#include <iostream>
#include <vector>
+#include "qpid/CommonImportExport.h"
#ifndef _Array_
#define _Array_
@@ -41,38 +42,38 @@ class Array
typedef ValueVector::const_iterator const_iterator;
typedef ValueVector::iterator iterator;
- uint32_t encodedSize() const;
- void encode(Buffer& buffer) const;
- void decode(Buffer& buffer);
+ QPID_COMMON_EXTERN uint32_t encodedSize() const;
+ QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+ QPID_COMMON_EXTERN void decode(Buffer& buffer);
- int count() const;
- bool operator==(const Array& other) const;
+ QPID_COMMON_EXTERN int count() const;
+ QPID_COMMON_EXTERN bool operator==(const Array& other) const;
- Array();
- Array(TypeCode type);
- Array(uint8_t type);
+ QPID_COMMON_EXTERN Array();
+ QPID_COMMON_EXTERN Array(TypeCode type);
+ QPID_COMMON_EXTERN Array(uint8_t type);
//creates a longstr array
- Array(const std::vector<std::string>& in);
+ QPID_COMMON_EXTERN Array(const std::vector<std::string>& in);
- TypeCode getType() const { return type; }
+ QPID_COMMON_EXTERN TypeCode getType() const { return type; }
// std collection interface.
- const_iterator begin() const { return values.begin(); }
- const_iterator end() const { return values.end(); }
- iterator begin() { return values.begin(); }
- iterator end(){ return values.end(); }
-
- ValuePtr front() const { return values.front(); }
- ValuePtr back() const { return values.back(); }
- size_t size() const { return values.size(); }
-
- void insert(iterator i, ValuePtr value);
- void erase(iterator i) { values.erase(i); }
- void push_back(ValuePtr value) { values.insert(end(), value); }
- void pop_back() { values.pop_back(); }
+ QPID_COMMON_EXTERN const_iterator begin() const { return values.begin(); }
+ QPID_COMMON_EXTERN const_iterator end() const { return values.end(); }
+ QPID_COMMON_EXTERN iterator begin() { return values.begin(); }
+ QPID_COMMON_EXTERN iterator end(){ return values.end(); }
+
+ QPID_COMMON_EXTERN ValuePtr front() const { return values.front(); }
+ QPID_COMMON_EXTERN ValuePtr back() const { return values.back(); }
+ QPID_COMMON_EXTERN size_t size() const { return values.size(); }
+
+ QPID_COMMON_EXTERN void insert(iterator i, ValuePtr value);
+ QPID_COMMON_EXTERN void erase(iterator i) { values.erase(i); }
+ QPID_COMMON_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
+ QPID_COMMON_EXTERN void pop_back() { values.pop_back(); }
// Non-std interface
- void add(ValuePtr value) { push_back(value); }
+ QPID_COMMON_EXTERN void add(ValuePtr value) { push_back(value); }
template <class T>
void collect(std::vector<T>& out) const
@@ -86,7 +87,7 @@ class Array
TypeCode type;
ValueVector values;
- friend std::ostream& operator<<(std::ostream& out, const Array& body);
+ friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& out, const Array& body);
};
}
diff --git a/cpp/src/qpid/framing/Buffer.h b/cpp/src/qpid/framing/Buffer.h
index 828e6e963a..57fb1e32a0 100644
--- a/cpp/src/qpid/framing/Buffer.h
+++ b/cpp/src/qpid/framing/Buffer.h
@@ -20,6 +20,7 @@
*/
#include "amqp_types.h"
#include "qpid/Exception.h"
+#include "qpid/CommonImportExport.h"
#include <boost/iterator/iterator_facade.hpp>
#ifndef _Buffer_
@@ -66,65 +67,65 @@ class Buffer
friend class Iterator;
- Buffer(char* data=0, uint32_t size=0);
+ QPID_COMMON_EXTERN Buffer(char* data=0, uint32_t size=0);
- void record();
- void restore(bool reRecord = false);
- void reset();
+ QPID_COMMON_EXTERN void record();
+ QPID_COMMON_EXTERN void restore(bool reRecord = false);
+ QPID_COMMON_EXTERN void reset();
- uint32_t available() { return size - position; }
- uint32_t getSize() { return size; }
- uint32_t getPosition() { return position; }
- Iterator getIterator() { return Iterator(*this); }
- char* getPointer() { return data; }
+ QPID_COMMON_EXTERN uint32_t available() { return size - position; }
+ QPID_COMMON_EXTERN uint32_t getSize() { return size; }
+ QPID_COMMON_EXTERN uint32_t getPosition() { return position; }
+ QPID_COMMON_EXTERN Iterator getIterator() { return Iterator(*this); }
+ QPID_COMMON_EXTERN char* getPointer() { return data; }
- void putOctet(uint8_t i);
- void putShort(uint16_t i);
- void putLong(uint32_t i);
- void putLongLong(uint64_t i);
- void putInt8(int8_t i);
- void putInt16(int16_t i);
- void putInt32(int32_t i);
- void putInt64(int64_t i);
- void putFloat(float f);
- void putDouble(double f);
- void putBin128(uint8_t* b);
-
- uint8_t getOctet();
- uint16_t getShort();
- uint32_t getLong();
- uint64_t getLongLong();
- int8_t getInt8();
- int16_t getInt16();
- int32_t getInt32();
- int64_t getInt64();
- float getFloat();
- double getDouble();
+ QPID_COMMON_EXTERN void putOctet(uint8_t i);
+ QPID_COMMON_EXTERN void putShort(uint16_t i);
+ QPID_COMMON_EXTERN void putLong(uint32_t i);
+ QPID_COMMON_EXTERN void putLongLong(uint64_t i);
+ QPID_COMMON_EXTERN void putInt8(int8_t i);
+ QPID_COMMON_EXTERN void putInt16(int16_t i);
+ QPID_COMMON_EXTERN void putInt32(int32_t i);
+ QPID_COMMON_EXTERN void putInt64(int64_t i);
+ QPID_COMMON_EXTERN void putFloat(float f);
+ QPID_COMMON_EXTERN void putDouble(double f);
+ QPID_COMMON_EXTERN void putBin128(uint8_t* b);
+
+ QPID_COMMON_EXTERN uint8_t getOctet();
+ QPID_COMMON_EXTERN uint16_t getShort();
+ QPID_COMMON_EXTERN uint32_t getLong();
+ QPID_COMMON_EXTERN uint64_t getLongLong();
+ QPID_COMMON_EXTERN int8_t getInt8();
+ QPID_COMMON_EXTERN int16_t getInt16();
+ QPID_COMMON_EXTERN int32_t getInt32();
+ QPID_COMMON_EXTERN int64_t getInt64();
+ QPID_COMMON_EXTERN float getFloat();
+ QPID_COMMON_EXTERN double getDouble();
template <int n>
- uint64_t getUInt();
+ QPID_COMMON_EXTERN uint64_t getUInt();
template <int n>
- void putUInt(uint64_t);
+ QPID_COMMON_EXTERN void putUInt(uint64_t);
- void putShortString(const string& s);
- void putMediumString(const string& s);
- void putLongString(const string& s);
- void getShortString(string& s);
- void getMediumString(string& s);
- void getLongString(string& s);
- void getBin128(uint8_t* b);
+ QPID_COMMON_EXTERN void putShortString(const string& s);
+ QPID_COMMON_EXTERN void putMediumString(const string& s);
+ QPID_COMMON_EXTERN void putLongString(const string& s);
+ QPID_COMMON_EXTERN void getShortString(string& s);
+ QPID_COMMON_EXTERN void getMediumString(string& s);
+ QPID_COMMON_EXTERN void getLongString(string& s);
+ QPID_COMMON_EXTERN void getBin128(uint8_t* b);
- void putRawData(const string& s);
- void getRawData(string& s, uint32_t size);
+ QPID_COMMON_EXTERN void putRawData(const string& s);
+ QPID_COMMON_EXTERN void getRawData(string& s, uint32_t size);
- void putRawData(const uint8_t* data, size_t size);
- void getRawData(uint8_t* data, size_t size);
+ QPID_COMMON_EXTERN void putRawData(const uint8_t* data, size_t size);
+ QPID_COMMON_EXTERN void getRawData(uint8_t* data, size_t size);
template <class T> void put(const T& data) { data.encode(*this); }
template <class T> void get(T& data) { data.decode(*this); }
- void dump(std::ostream&) const;
+ QPID_COMMON_EXTERN void dump(std::ostream&) const;
};
std::ostream& operator<<(std::ostream&, const Buffer&);
diff --git a/cpp/src/qpid/framing/FieldTable.h b/cpp/src/qpid/framing/FieldTable.h
index 9e1214a28c..a07568559f 100644
--- a/cpp/src/qpid/framing/FieldTable.h
+++ b/cpp/src/qpid/framing/FieldTable.h
@@ -23,6 +23,7 @@
#include <boost/shared_ptr.hpp>
#include <map>
#include "amqp_types.h"
+#include "qpid/CommonImportExport.h"
#ifndef _FieldTable_
#define _FieldTable_
@@ -51,45 +52,45 @@ class FieldTable
typedef std::map<std::string, ValuePtr> ValueMap;
typedef ValueMap::iterator iterator;
- FieldTable() {};
- FieldTable(const FieldTable& ft);
- ~FieldTable();
- FieldTable& operator=(const FieldTable& ft);
- uint32_t encodedSize() const;
- void encode(Buffer& buffer) const;
- void decode(Buffer& buffer);
-
- int count() const;
- void set(const std::string& name, const ValuePtr& value);
- ValuePtr get(const std::string& name) const;
- bool isSet(const std::string& name) const { return get(name).get() != 0; }
-
- void setString(const std::string& name, const std::string& value);
- void setInt(const std::string& name, const int value);
- void setInt64(const std::string& name, const int64_t value);
- void setTimestamp(const std::string& name, const uint64_t value);
- void setUInt64(const std::string& name, const uint64_t value);
- void setTable(const std::string& name, const FieldTable& value);
- void setArray(const std::string& name, const Array& value);
- void setFloat(const std::string& name, const float value);
- void setDouble(const std::string& name, const double value);
+ QPID_COMMON_EXTERN FieldTable() {};
+ QPID_COMMON_EXTERN FieldTable(const FieldTable& ft);
+ QPID_COMMON_EXTERN ~FieldTable();
+ QPID_COMMON_EXTERN FieldTable& operator=(const FieldTable& ft);
+ QPID_COMMON_EXTERN uint32_t encodedSize() const;
+ QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+ QPID_COMMON_EXTERN void decode(Buffer& buffer);
+
+ QPID_COMMON_EXTERN int count() const;
+ QPID_COMMON_EXTERN void set(const std::string& name, const ValuePtr& value);
+ QPID_COMMON_EXTERN ValuePtr get(const std::string& name) const;
+ QPID_COMMON_EXTERN bool isSet(const std::string& name) const { return get(name).get() != 0; }
+
+ QPID_COMMON_EXTERN void setString(const std::string& name, const std::string& value);
+ QPID_COMMON_EXTERN void setInt(const std::string& name, const int value);
+ QPID_COMMON_EXTERN void setInt64(const std::string& name, const int64_t value);
+ QPID_COMMON_EXTERN void setTimestamp(const std::string& name, const uint64_t value);
+ QPID_COMMON_EXTERN void setUInt64(const std::string& name, const uint64_t value);
+ QPID_COMMON_EXTERN void setTable(const std::string& name, const FieldTable& value);
+ QPID_COMMON_EXTERN void setArray(const std::string& name, const Array& value);
+ QPID_COMMON_EXTERN void setFloat(const std::string& name, const float value);
+ QPID_COMMON_EXTERN void setDouble(const std::string& name, const double value);
//void setDecimal(string& name, xxx& value);
- int getAsInt(const std::string& name) const;
- uint64_t getAsUInt64(const std::string& name) const;
- int64_t getAsInt64(const std::string& name) const;
- std::string getAsString(const std::string& name) const;
+ QPID_COMMON_EXTERN int getAsInt(const std::string& name) const;
+ QPID_COMMON_EXTERN uint64_t getAsUInt64(const std::string& name) const;
+ QPID_COMMON_EXTERN int64_t getAsInt64(const std::string& name) const;
+ QPID_COMMON_EXTERN std::string getAsString(const std::string& name) const;
- bool getTable(const std::string& name, FieldTable& value) const;
- bool getArray(const std::string& name, Array& value) const;
- bool getFloat(const std::string& name, float& value) const;
- bool getDouble(const std::string& name, double& value) const;
+ QPID_COMMON_EXTERN bool getTable(const std::string& name, FieldTable& value) const;
+ QPID_COMMON_EXTERN bool getArray(const std::string& name, Array& value) const;
+ QPID_COMMON_EXTERN bool getFloat(const std::string& name, float& value) const;
+ QPID_COMMON_EXTERN bool getDouble(const std::string& name, double& value) const;
//bool getTimestamp(const std::string& name, uint64_t& value) const;
//bool getDecimal(string& name, xxx& value);
- void erase(const std::string& name);
+ QPID_COMMON_EXTERN void erase(const std::string& name);
- bool operator==(const FieldTable& other) const;
+ QPID_COMMON_EXTERN bool operator==(const FieldTable& other) const;
// Map-like interface.
// TODO: may need to duplicate into versions that return mutable iterator
@@ -107,7 +108,7 @@ class FieldTable
private:
ValueMap values;
- friend std::ostream& operator<<(std::ostream& out, const FieldTable& body);
+ QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream& out, const FieldTable& body);
};
//class FieldNotFoundException{};
diff --git a/cpp/src/qpid/framing/FieldValue.h b/cpp/src/qpid/framing/FieldValue.h
index 29760619e5..0f27700ac8 100644
--- a/cpp/src/qpid/framing/FieldValue.h
+++ b/cpp/src/qpid/framing/FieldValue.h
@@ -25,6 +25,7 @@
#include "amqp_types.h"
#include "Buffer.h"
#include "FieldTable.h"
+#include "qpid/CommonImportExport.h"
#include "assert.h"
@@ -87,8 +88,8 @@ class FieldValue {
bool empty() const { return data.get() == 0; }
void encode(Buffer& buffer);
void decode(Buffer& buffer);
- bool operator==(const FieldValue&) const;
- bool operator!=(const FieldValue& v) const { return !(*this == v); }
+ QPID_COMMON_EXTERN bool operator==(const FieldValue&) const;
+ QPID_COMMON_EXTERN bool operator!=(const FieldValue& v) const { return !(*this == v); }
void print(std::ostream& out) const;
@@ -244,28 +245,28 @@ class EncodedValue : public FieldValue::Data {
class Str8Value : public FieldValue {
public:
- Str8Value(const std::string& v);
+ QPID_COMMON_EXTERN Str8Value(const std::string& v);
};
class Str16Value : public FieldValue {
public:
- Str16Value(const std::string& v);
+ QPID_COMMON_EXTERN Str16Value(const std::string& v);
};
class Struct32Value : public FieldValue {
public:
- Struct32Value(const std::string& v);
+ QPID_COMMON_EXTERN Struct32Value(const std::string& v);
};
class FloatValue : public FieldValue
{
public:
- FloatValue(float f);
+ QPID_COMMON_EXTERN FloatValue(float f);
};
class DoubleValue : public FieldValue
{
public:
- DoubleValue(double f);
+ QPID_COMMON_EXTERN DoubleValue(double f);
};
/*
@@ -273,32 +274,32 @@ class DoubleValue : public FieldValue
*/
class IntegerValue : public FieldValue {
public:
- IntegerValue(int v);
+ QPID_COMMON_EXTERN IntegerValue(int v);
};
class TimeValue : public FieldValue {
public:
- TimeValue(uint64_t v);
+ QPID_COMMON_EXTERN TimeValue(uint64_t v);
};
class Integer64Value : public FieldValue {
public:
- Integer64Value(int64_t v);
+ QPID_COMMON_EXTERN Integer64Value(int64_t v);
};
class Unsigned64Value : public FieldValue {
public:
- Unsigned64Value(uint64_t v);
+ QPID_COMMON_EXTERN Unsigned64Value(uint64_t v);
};
class FieldTableValue : public FieldValue {
public:
- FieldTableValue(const FieldTable&);
+ QPID_COMMON_EXTERN FieldTableValue(const FieldTable&);
};
class ArrayValue : public FieldValue {
public:
- ArrayValue(const Array&);
+ QPID_COMMON_EXTERN ArrayValue(const Array&);
};
template <class T>
diff --git a/cpp/src/qpid/framing/FrameSet.h b/cpp/src/qpid/framing/FrameSet.h
index b13ca16e97..e3e8727600 100644
--- a/cpp/src/qpid/framing/FrameSet.h
+++ b/cpp/src/qpid/framing/FrameSet.h
@@ -23,6 +23,7 @@
#include "qpid/framing/amqp_framing.h"
#include "qpid/framing/AMQFrame.h"
#include "qpid/framing/SequenceNumber.h"
+#include "qpid/CommonImportExport.h"
#ifndef _FrameSet_
#define _FrameSet_
@@ -44,20 +45,20 @@ class FrameSet
public:
typedef boost::shared_ptr<FrameSet> shared_ptr;
- FrameSet(const SequenceNumber& id);
- void append(const AMQFrame& part);
- bool isComplete() const;
+ QPID_COMMON_EXTERN FrameSet(const SequenceNumber& id);
+ QPID_COMMON_EXTERN void append(const AMQFrame& part);
+ QPID_COMMON_EXTERN bool isComplete() const;
- uint64_t getContentSize() const;
+ QPID_COMMON_EXTERN uint64_t getContentSize() const;
- void getContent(std::string&) const;
- std::string getContent() const;
+ QPID_COMMON_EXTERN void getContent(std::string&) const;
+ QPID_COMMON_EXTERN std::string getContent() const;
bool isContentBearing() const;
- const AMQMethodBody* getMethod() const;
- const AMQHeaderBody* getHeaders() const;
- AMQHeaderBody* getHeaders();
+ QPID_COMMON_EXTERN const AMQMethodBody* getMethod() const;
+ QPID_COMMON_EXTERN const AMQHeaderBody* getHeaders() const;
+ QPID_COMMON_EXTERN AMQHeaderBody* getHeaders();
template <class T> bool isA() const {
const AMQMethodBody* method = getMethod();
diff --git a/cpp/src/qpid/framing/ProtocolInitiation.h b/cpp/src/qpid/framing/ProtocolInitiation.h
index 6584fee55c..7a82b3575f 100644
--- a/cpp/src/qpid/framing/ProtocolInitiation.h
+++ b/cpp/src/qpid/framing/ProtocolInitiation.h
@@ -22,6 +22,7 @@
#include "Buffer.h"
#include "AMQDataBlock.h"
#include "ProtocolVersion.h"
+#include "qpid/CommonImportExport.h"
#ifndef _ProtocolInitiation_
#define _ProtocolInitiation_
@@ -35,12 +36,12 @@ private:
ProtocolVersion version;
public:
- ProtocolInitiation();
- ProtocolInitiation(uint8_t major, uint8_t minor);
- ProtocolInitiation(ProtocolVersion p);
- virtual ~ProtocolInitiation();
- virtual void encode(Buffer& buffer) const;
- virtual bool decode(Buffer& buffer);
+ QPID_COMMON_EXTERN ProtocolInitiation();
+ QPID_COMMON_EXTERN ProtocolInitiation(uint8_t major, uint8_t minor);
+ QPID_COMMON_EXTERN ProtocolInitiation(ProtocolVersion p);
+ QPID_COMMON_EXTERN virtual ~ProtocolInitiation();
+ QPID_COMMON_EXTERN virtual void encode(Buffer& buffer) const;
+ QPID_COMMON_EXTERN virtual bool decode(Buffer& buffer);
inline virtual uint32_t encodedSize() const { return 8; }
inline uint8_t getMajor() const { return version.getMajor(); }
inline uint8_t getMinor() const { return version.getMinor(); }
@@ -48,7 +49,7 @@ public:
bool operator==(ProtocolVersion v) const { return v == getVersion(); }
};
-std::ostream& operator<<(std::ostream& o, const framing::ProtocolInitiation& pi);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& o, const framing::ProtocolInitiation& pi);
}
diff --git a/cpp/src/qpid/framing/ProtocolVersion.h b/cpp/src/qpid/framing/ProtocolVersion.h
index 9a7ebec491..681c9daf21 100644
--- a/cpp/src/qpid/framing/ProtocolVersion.h
+++ b/cpp/src/qpid/framing/ProtocolVersion.h
@@ -22,6 +22,7 @@
#define _ProtocolVersion_
#include "amqp_types.h"
+#include "qpid/CommonImportExport.h"
namespace qpid
{
@@ -38,16 +39,16 @@ public:
explicit ProtocolVersion(uint8_t _major=0, uint8_t _minor=0)
: major_(_major), minor_(_minor) {}
- uint8_t getMajor() const { return major_; }
- void setMajor(uint8_t major) { major_ = major; }
- uint8_t getMinor() const { return minor_; }
- void setMinor(uint8_t minor) { minor_ = minor; }
- const std::string toString() const;
+ QPID_COMMON_EXTERN uint8_t getMajor() const { return major_; }
+ QPID_COMMON_EXTERN void setMajor(uint8_t major) { major_ = major; }
+ QPID_COMMON_EXTERN uint8_t getMinor() const { return minor_; }
+ QPID_COMMON_EXTERN void setMinor(uint8_t minor) { minor_ = minor; }
+ QPID_COMMON_EXTERN const std::string toString() const;
- ProtocolVersion& operator=(ProtocolVersion p);
+ QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
- bool operator==(ProtocolVersion p) const;
- bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
+ QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
+ QPID_COMMON_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
};
} // namespace framing
diff --git a/cpp/src/qpid/framing/Proxy.h b/cpp/src/qpid/framing/Proxy.h
index 5e2c886af2..a9a6ce981e 100644
--- a/cpp/src/qpid/framing/Proxy.h
+++ b/cpp/src/qpid/framing/Proxy.h
@@ -22,6 +22,8 @@
#include "FrameHandler.h"
#include "ProtocolVersion.h"
+#include "qpid/CommonImportExport.h"
+
namespace qpid {
namespace framing {
@@ -37,19 +39,19 @@ class Proxy
{
Proxy& proxy;
public:
- ScopedSync(Proxy& p);
- ~ScopedSync();
+ QPID_COMMON_EXTERN ScopedSync(Proxy& p);
+ QPID_COMMON_EXTERN ~ScopedSync();
};
- Proxy(FrameHandler& h);
- virtual ~Proxy();
+ QPID_COMMON_EXTERN Proxy(FrameHandler& h);
+ QPID_COMMON_EXTERN virtual ~Proxy();
- void send(const AMQBody&);
+ QPID_COMMON_EXTERN void send(const AMQBody&);
- ProtocolVersion getVersion() const;
+ QPID_COMMON_EXTERN ProtocolVersion getVersion() const;
- FrameHandler& getHandler();
- void setHandler(FrameHandler&);
+ QPID_COMMON_EXTERN FrameHandler& getHandler();
+ QPID_COMMON_EXTERN void setHandler(FrameHandler&);
private:
FrameHandler* out;
bool sync;
diff --git a/cpp/src/qpid/framing/SendContent.h b/cpp/src/qpid/framing/SendContent.h
index dcd5202b3e..745c948c9e 100644
--- a/cpp/src/qpid/framing/SendContent.h
+++ b/cpp/src/qpid/framing/SendContent.h
@@ -22,6 +22,7 @@
#include "qpid/framing/amqp_framing.h"
#include "qpid/framing/AMQFrame.h"
#include "qpid/framing/FrameHandler.h"
+#include "qpid/CommonImportExport.h"
#ifndef _SendContent_
#define _SendContent_
@@ -44,8 +45,8 @@ class SendContent
void sendFragment(const AMQContentBody& body, uint32_t offset, uint16_t size, bool first, bool last) const;
void setFlags(AMQFrame& f, bool first, bool last) const;
public:
- SendContent(FrameHandler& _handler, uint16_t _maxFrameSize, uint frameCount);
- void operator()(const AMQFrame& f);
+ QPID_COMMON_EXTERN SendContent(FrameHandler& _handler, uint16_t _maxFrameSize, uint frameCount);
+ QPID_COMMON_EXTERN void operator()(const AMQFrame& f);
};
}
diff --git a/cpp/src/qpid/framing/SequenceNumber.h b/cpp/src/qpid/framing/SequenceNumber.h
index 930e146863..3b18ce1360 100644
--- a/cpp/src/qpid/framing/SequenceNumber.h
+++ b/cpp/src/qpid/framing/SequenceNumber.h
@@ -23,6 +23,7 @@
#include "amqp_types.h"
#include <iosfwd>
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -37,22 +38,22 @@ class SequenceNumber
int32_t value;
public:
- SequenceNumber();
- SequenceNumber(uint32_t v);
+ QPID_COMMON_EXTERN SequenceNumber();
+ QPID_COMMON_EXTERN SequenceNumber(uint32_t v);
- SequenceNumber& operator++();//prefix ++
- const SequenceNumber operator++(int);//postfix ++
- SequenceNumber& operator--();//prefix ++
- bool operator==(const SequenceNumber& other) const;
- bool operator!=(const SequenceNumber& other) const;
- bool operator<(const SequenceNumber& other) const;
- bool operator>(const SequenceNumber& other) const;
- bool operator<=(const SequenceNumber& other) const;
- bool operator>=(const SequenceNumber& other) const;
+ QPID_COMMON_EXTERN SequenceNumber& operator++();//prefix ++
+ QPID_COMMON_EXTERN const SequenceNumber operator++(int);//postfix ++
+ QPID_COMMON_EXTERN SequenceNumber& operator--();//prefix ++
+ QPID_COMMON_EXTERN bool operator==(const SequenceNumber& other) const;
+ QPID_COMMON_EXTERN bool operator!=(const SequenceNumber& other) const;
+ QPID_COMMON_EXTERN bool operator<(const SequenceNumber& other) const;
+ QPID_COMMON_EXTERN bool operator>(const SequenceNumber& other) const;
+ QPID_COMMON_EXTERN bool operator<=(const SequenceNumber& other) const;
+ QPID_COMMON_EXTERN bool operator>=(const SequenceNumber& other) const;
uint32_t getValue() const { return (uint32_t) value; }
operator uint32_t() const { return (uint32_t) value; }
- friend int32_t operator-(const SequenceNumber& a, const SequenceNumber& b);
+ QPID_COMMON_EXTERN friend int32_t operator-(const SequenceNumber& a, const SequenceNumber& b);
void encode(Buffer& buffer) const;
void decode(Buffer& buffer);
@@ -67,7 +68,7 @@ struct Window
SequenceNumber lwm;
};
-std::ostream& operator<<(std::ostream& o, const SequenceNumber& n);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& o, const SequenceNumber& n);
}} // namespace qpid::framing
diff --git a/cpp/src/qpid/framing/SequenceNumberSet.h b/cpp/src/qpid/framing/SequenceNumberSet.h
index 666307f9d9..8e023ba535 100644
--- a/cpp/src/qpid/framing/SequenceNumberSet.h
+++ b/cpp/src/qpid/framing/SequenceNumberSet.h
@@ -27,6 +27,7 @@
#include "SequenceNumber.h"
#include "qpid/framing/reply_exceptions.h"
#include "qpid/InlineVector.h"
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -41,8 +42,8 @@ public:
void encode(Buffer& buffer) const;
void decode(Buffer& buffer);
uint32_t encodedSize() const;
- SequenceNumberSet condense() const;
- void addRange(const SequenceNumber& start, const SequenceNumber& end);
+ QPID_COMMON_EXTERN SequenceNumberSet condense() const;
+ QPID_COMMON_EXTERN void addRange(const SequenceNumber& start, const SequenceNumber& end);
template <class T>
void processRanges(T& t) const
@@ -58,7 +59,7 @@ public:
}
}
- friend std::ostream& operator<<(std::ostream&, const SequenceNumberSet&);
+ friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const SequenceNumberSet&);
};
diff --git a/cpp/src/qpid/framing/SequenceSet.h b/cpp/src/qpid/framing/SequenceSet.h
index 57b9c2c8e1..a5ee6cd649 100644
--- a/cpp/src/qpid/framing/SequenceSet.h
+++ b/cpp/src/qpid/framing/SequenceSet.h
@@ -23,6 +23,7 @@
#include "SequenceNumber.h"
#include "qpid/RangeSet.h"
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -41,13 +42,13 @@ class SequenceSet : public RangeSet<SequenceNumber> {
void decode(Buffer& buffer);
uint32_t encodedSize() const;
- bool contains(const SequenceNumber& s) const;
- void add(const SequenceNumber& s);
- void add(const SequenceNumber& start, const SequenceNumber& finish); // Closed range
- void add(const SequenceSet& set);
- void remove(const SequenceNumber& s);
- void remove(const SequenceNumber& start, const SequenceNumber& finish); // Closed range
- void remove(const SequenceSet& set);
+ QPID_COMMON_EXTERN bool contains(const SequenceNumber& s) const;
+ QPID_COMMON_EXTERN void add(const SequenceNumber& s);
+ QPID_COMMON_EXTERN void add(const SequenceNumber& start, const SequenceNumber& finish); // Closed range
+ QPID_COMMON_EXTERN void add(const SequenceSet& set);
+ QPID_COMMON_EXTERN void remove(const SequenceNumber& s);
+ QPID_COMMON_EXTERN void remove(const SequenceNumber& start, const SequenceNumber& finish); // Closed range
+ QPID_COMMON_EXTERN void remove(const SequenceSet& set);
template <class T> void for_each(T& t) const {
for (RangeIterator i = rangesBegin(); i != rangesEnd(); i++)
@@ -59,7 +60,7 @@ class SequenceSet : public RangeSet<SequenceNumber> {
t(i->first(), i->last());
}
- friend std::ostream& operator<<(std::ostream&, const SequenceSet&);
+ friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const SequenceSet&);
};
}} // namespace qpid::framing
diff --git a/cpp/src/qpid/framing/StructHelper.h b/cpp/src/qpid/framing/StructHelper.h
index e3dce4f5ec..89f556ad3c 100644
--- a/cpp/src/qpid/framing/StructHelper.h
+++ b/cpp/src/qpid/framing/StructHelper.h
@@ -22,6 +22,7 @@
#define _StructHelper_
#include "qpid/Exception.h"
+#include "qpid/CommonImportExport.h"
#include "Buffer.h"
#include <stdlib.h> // For alloca
diff --git a/cpp/src/qpid/framing/TransferContent.h b/cpp/src/qpid/framing/TransferContent.h
index e3f6666fa4..236a0b6d93 100644
--- a/cpp/src/qpid/framing/TransferContent.h
+++ b/cpp/src/qpid/framing/TransferContent.h
@@ -26,6 +26,7 @@
#include "qpid/Exception.h"
#include "qpid/framing/MessageProperties.h"
#include "qpid/framing/DeliveryProperties.h"
+#include "qpid/CommonImportExport.h"
namespace qpid {
namespace framing {
@@ -36,27 +37,27 @@ class TransferContent : public MethodContent
AMQHeaderBody header;
std::string data;
public:
- TransferContent(const std::string& data = std::string(), const std::string& key=std::string());
+ QPID_COMMON_EXTERN TransferContent(const std::string& data = std::string(), const std::string& key=std::string());
///@internal
- AMQHeaderBody getHeader() const;
+ QPID_COMMON_EXTERN AMQHeaderBody getHeader() const;
- void setData(const std::string&);
- const std::string& getData() const;
- std::string& getData();
+ QPID_COMMON_EXTERN void setData(const std::string&);
+ QPID_COMMON_EXTERN const std::string& getData() const;
+ QPID_COMMON_EXTERN std::string& getData();
- void appendData(const std::string&);
+ QPID_COMMON_EXTERN void appendData(const std::string&);
- bool hasMessageProperties() const;
- MessageProperties& getMessageProperties();
- const MessageProperties& getMessageProperties() const;
+ QPID_COMMON_EXTERN bool hasMessageProperties() const;
+ QPID_COMMON_EXTERN MessageProperties& getMessageProperties();
+ QPID_COMMON_EXTERN const MessageProperties& getMessageProperties() const;
- bool hasDeliveryProperties() const;
- DeliveryProperties& getDeliveryProperties();
- const DeliveryProperties& getDeliveryProperties() const;
+ QPID_COMMON_EXTERN bool hasDeliveryProperties() const;
+ QPID_COMMON_EXTERN DeliveryProperties& getDeliveryProperties();
+ QPID_COMMON_EXTERN const DeliveryProperties& getDeliveryProperties() const;
///@internal
- void populate(const FrameSet& frameset);
+ QPID_COMMON_EXTERN void populate(const FrameSet& frameset);
};
}}
diff --git a/cpp/src/qpid/framing/Uuid.h b/cpp/src/qpid/framing/Uuid.h
index 7037c5be29..fe0c32dc0b 100644
--- a/cpp/src/qpid/framing/Uuid.h
+++ b/cpp/src/qpid/framing/Uuid.h
@@ -19,6 +19,7 @@
*
*/
+#include "qpid/CommonImportExport.h"
#include "qpid/sys/uuid.h"
#include "qpid/sys/IntegerTypes.h"
@@ -64,12 +65,12 @@ struct Uuid : public boost::array<uint8_t, 16> {
// Default op= and copy ctor are fine.
// boost::array gives us ==, < etc.
- void encode(framing::Buffer& buf) const;
- void decode(framing::Buffer& buf);
- uint32_t encodedSize() const { return size(); }
+ QPID_COMMON_EXTERN void encode(framing::Buffer& buf) const;
+ QPID_COMMON_EXTERN void decode(framing::Buffer& buf);
+ QPID_COMMON_EXTERN uint32_t encodedSize() const { return size(); }
/** String value in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
- std::string str() const;
+ QPID_COMMON_EXTERN std::string str() const;
template <class S> void serialize(S& s) {
s.raw(begin(), size());
@@ -77,10 +78,10 @@ struct Uuid : public boost::array<uint8_t, 16> {
};
/** Print in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
-std::ostream& operator<<(std::ostream&, Uuid);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, Uuid);
/** Read from format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
-std::istream& operator>>(std::istream&, Uuid&);
+QPID_COMMON_EXTERN std::istream& operator>>(std::istream&, Uuid&);
}} // namespace qpid::framing