diff options
| author | Stephen D. Huston <shuston@apache.org> | 2009-03-12 20:55:34 +0000 |
|---|---|---|
| committer | Stephen D. Huston <shuston@apache.org> | 2009-03-12 20:55:34 +0000 |
| commit | 0398410e8894287da530cfb63d6344817445bfc2 (patch) | |
| tree | e4d789cd965f25c8fb0a51e1cf71df0a5330e73b /cpp/src/qpid/framing | |
| parent | 47db7ebfc533d2dc8a3dfc3b9d1273730b8779e6 (diff) | |
| download | qpid-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')
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 |
