diff options
Diffstat (limited to 'qpid/cpp/include')
32 files changed, 102 insertions, 100 deletions
diff --git a/qpid/cpp/include/qmf/Subscription.h b/qpid/cpp/include/qmf/Subscription.h index 398a45b922..580a5ea296 100644 --- a/qpid/cpp/include/qmf/Subscription.h +++ b/qpid/cpp/include/qmf/Subscription.h @@ -9,9 +9,9 @@ * 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 diff --git a/qpid/cpp/include/qmf/engine/ConnectionSettings.h b/qpid/cpp/include/qmf/engine/ConnectionSettings.h index 36312400b1..c570a6b9f5 100644 --- a/qpid/cpp/include/qmf/engine/ConnectionSettings.h +++ b/qpid/cpp/include/qmf/engine/ConnectionSettings.h @@ -9,9 +9,9 @@ * 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 @@ -34,7 +34,7 @@ namespace engine { * * \ingroup qmfapi */ - class ConnectionSettings { + class QMFE_CLASS_EXTERN ConnectionSettings { public: /** diff --git a/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h b/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h index cf8fffdb17..580f805bba 100644 --- a/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h +++ b/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h @@ -20,23 +20,16 @@ * under the License. */ -#if defined(WIN32) && !defined(QPID_DECLARE_STATIC) -# if defined(QMF_EXPORT) || defined (qmfengine_EXPORTS) -# define QMFE_EXTERN __declspec(dllexport) -# else -# define QMFE_EXTERN __declspec(dllimport) -# endif -# ifdef _MSC_VER -# define QMFE_CLASS_EXTERN -# define QMFE_INLINE_EXTERN QMFE_EXTERN -# else -# define QMFE_CLASS_EXTERN QMFE_EXTERN -# define QMFE_INLINE_EXTERN -# endif +#include "qpid/ImportExport.h" + +#if defined(QMF_EXPORT) || defined (qmfengine_EXPORTS) +# define QMFE_EXTERN QPID_EXPORT +# define QMFE_CLASS_EXTERN QPID_CLASS_EXPORT +# define QMFE_INLINE_EXTERN QPID_INLINE_EXPORT #else -# define QMFE_EXTERN -# define QMFE_CLASS_EXTERN -# define QMFE_INLINE_EXTERN +# define QMFE_EXTERN QPID_IMPORT +# define QMFE_CLASS_EXTERN QPID_CLASS_IMPORT +# define QMFE_INLINE_EXTERN QPID_INLINE_IMPORT #endif #endif diff --git a/qpid/cpp/include/qpid/Address.h b/qpid/cpp/include/qpid/Address.h index f5b19d0532..a60942e4f0 100755 --- a/qpid/cpp/include/qpid/Address.h +++ b/qpid/cpp/include/qpid/Address.h @@ -29,13 +29,13 @@ namespace client { struct ConnectionSettings; } /** - * Contains the protocol address of an AMQP broker. + * Contains the protocol address of an AMQP broker. */ -struct Address { +struct QPID_COMMON_CLASS_EXTERN Address { public: static const std::string TCP; // Default TCP protocol tag. static const uint16_t AMQP_PORT=5672; // Default AMQP port. - + QPID_COMMON_INLINE_EXTERN explicit Address( const std::string& protocol_=std::string(), const std::string& host_=std::string(), diff --git a/qpid/cpp/include/qpid/Exception.h b/qpid/cpp/include/qpid/Exception.h index cbd175214d..9617076eab 100644 --- a/qpid/cpp/include/qpid/Exception.h +++ b/qpid/cpp/include/qpid/Exception.h @@ -82,7 +82,7 @@ struct QPID_COMMON_CLASS_EXTERN ClosedException : public Exception { /** * Exception representing transport failure */ -struct TransportFailure : public Exception { +struct QPID_COMMON_CLASS_EXTERN TransportFailure : public Exception { TransportFailure(const std::string& msg=std::string()) : Exception(msg) {} }; diff --git a/qpid/cpp/include/qpid/ImportExport.h b/qpid/cpp/include/qpid/ImportExport.h index e62399faf7..a169c7da49 100644 --- a/qpid/cpp/include/qpid/ImportExport.h +++ b/qpid/cpp/include/qpid/ImportExport.h @@ -56,10 +56,21 @@ # define QPID_INLINE_EXPORT # define QPID_INLINE_IMPORT # endif -#else +#elif __GNUC__ >= 4 // - // Non-Windows (Linux, etc.) definitions: + // GCC visibility attribute // +# define QPID_IMPORT __attribute__ ((visibility("default"))) +# define QPID_EXPORT __attribute__ ((visibility("default"))) +# define QPID_CLASS_EXPORT QPID_EXPORT +# define QPID_CLASS_IMPORT QPID_IMPORT +# define QPID_INLINE_EXPORT QPID_EXPORT +# define QPID_INLINE_IMPORT QPID_IMPORT + +#else + // + // No import/export definitions + // # define QPID_EXPORT # define QPID_IMPORT # define QPID_CLASS_EXPORT diff --git a/qpid/cpp/include/qpid/Options.h b/qpid/cpp/include/qpid/Options.h index 63d91c2d72..8f4cc1b1b2 100644 --- a/qpid/cpp/include/qpid/Options.h +++ b/qpid/cpp/include/qpid/Options.h @@ -53,7 +53,7 @@ QPID_COMMON_EXTERN std::string prettyArg(const std::string&, const std::string&) /** @internal Normally only constructed by optValue() */ template <class T> -class OptionValue : public po::typed_value<T> { +class QPID_COMMON_CLASS_EXTERN OptionValue : public po::typed_value<T> { public: OptionValue(T& value, const std::string& arg) : po::typed_value<T>(&value), argName(arg) {} @@ -135,7 +135,7 @@ inline po::value_semantic* optValue(bool& value) { return po::bool_switch(&value struct Options : public po::options_description { - struct Exception : public qpid::Exception { + struct QPID_COMMON_CLASS_EXTERN Exception : public qpid::Exception { Exception(const std::string& msg) : qpid::Exception(msg) {} }; @@ -161,7 +161,7 @@ struct Options : public po::options_description { /** * Standard options for configuration */ -struct CommonOptions : public Options { +struct QPID_COMMON_CLASS_EXTERN CommonOptions : public Options { QPID_COMMON_EXTERN CommonOptions(const std::string& name=std::string(), const std::string& configfile=std::string()); bool help; diff --git a/qpid/cpp/include/qpid/RangeSet.h b/qpid/cpp/include/qpid/RangeSet.h index 36991fd784..32b623780e 100644 --- a/qpid/cpp/include/qpid/RangeSet.h +++ b/qpid/cpp/include/qpid/RangeSet.h @@ -190,8 +190,6 @@ class RangeSet static size_t accumulateSize(size_t s, const Range<T>& r) { return s+r.size(); } Ranges ranges; - template <class U> friend std::ostream& operator<<(std::ostream& o, const RangeSet<U>& r); - friend class iterator; }; @@ -204,7 +202,7 @@ template <class T> std::ostream& operator<<(std::ostream& o, const RangeSet<T>& rs) { std::ostream_iterator<Range<T> > i(o, " "); o << "{ "; - std::copy(rs.ranges.begin(), rs.ranges.end(), i); + std::copy(rs.rangesBegin(), rs.rangesEnd(), i); return o << "}"; } diff --git a/qpid/cpp/include/qpid/SessionId.h b/qpid/cpp/include/qpid/SessionId.h index e18b360999..4720949175 100644 --- a/qpid/cpp/include/qpid/SessionId.h +++ b/qpid/cpp/include/qpid/SessionId.h @@ -39,7 +39,7 @@ namespace qpid { * The name must be unique among sessions with the same authentication * principal. */ -class SessionId : boost::totally_ordered1<SessionId> { +class QPID_COMMON_CLASS_EXTERN SessionId : boost::totally_ordered1<SessionId> { std::string userId; std::string name; public: diff --git a/qpid/cpp/include/qpid/Url.h b/qpid/cpp/include/qpid/Url.h index 915b08ac5f..8845fc4a60 100644 --- a/qpid/cpp/include/qpid/Url.h +++ b/qpid/cpp/include/qpid/Url.h @@ -30,7 +30,7 @@ namespace qpid { /** An AMQP URL contains a list of addresses */ -struct Url : public std::vector<Address> { +struct QPID_COMMON_CLASS_EXTERN Url : public std::vector<Address> { /** Url with the hostname as returned by gethostname(2) */ QPID_COMMON_EXTERN static Url getHostNameUrl(uint16_t port); @@ -39,7 +39,7 @@ struct Url : public std::vector<Address> { * on a multi-homed host. */ QPID_COMMON_EXTERN static Url getIpAddressesUrl(uint16_t port); - struct Invalid : public Exception { Invalid(const std::string& s); }; + struct QPID_COMMON_CLASS_EXTERN Invalid : public Exception { Invalid(const std::string& s); }; /** Convert to string form. */ QPID_COMMON_EXTERN std::string str() const; diff --git a/qpid/cpp/include/qpid/agent/ManagementAgent.h b/qpid/cpp/include/qpid/agent/ManagementAgent.h index e2451244c1..a818af9ca5 100644 --- a/qpid/cpp/include/qpid/agent/ManagementAgent.h +++ b/qpid/cpp/include/qpid/agent/ManagementAgent.h @@ -35,11 +35,11 @@ public: virtual void notify() = 0; }; -class ManagementAgent +class QMF_AGENT_CLASS_EXTERN ManagementAgent { public: - class Singleton { + class QMF_AGENT_CLASS_EXTERN Singleton { public: QMF_AGENT_EXTERN Singleton(bool disableManagement = false); QMF_AGENT_EXTERN ~Singleton(); diff --git a/qpid/cpp/include/qpid/client/Handle.h b/qpid/cpp/include/qpid/client/Handle.h index b8315481a9..622cdfa191 100644 --- a/qpid/cpp/include/qpid/client/Handle.h +++ b/qpid/cpp/include/qpid/client/Handle.h @@ -36,7 +36,7 @@ template <class> class PrivateImplRef; * Handles can be null, like a 0 pointer. Use isValid(), isNull() or the * conversion to bool to test for a null handle. */ -template <class T> class Handle { +template <class T> class QPID_CLIENT_CLASS_EXTERN Handle { public: /**@return true if handle is valid, i.e. not null. */ diff --git a/qpid/cpp/include/qpid/console/Broker.h b/qpid/cpp/include/qpid/console/Broker.h index c2ba8ac81f..4e03d9482e 100644 --- a/qpid/cpp/include/qpid/console/Broker.h +++ b/qpid/cpp/include/qpid/console/Broker.h @@ -49,7 +49,7 @@ namespace console { * * \ingroup qpidconsoleapi */ - class Broker : public client::MessageListener { + class QPID_CONSOLE_CLASS_EXTERN Broker : public client::MessageListener { public: QPID_CONSOLE_EXTERN Broker(SessionManager& sm, client::ConnectionSettings& settings); diff --git a/qpid/cpp/include/qpid/console/Event.h b/qpid/cpp/include/qpid/console/Event.h index ef4ecc791c..2e3fd4a289 100644 --- a/qpid/cpp/include/qpid/console/Event.h +++ b/qpid/cpp/include/qpid/console/Event.h @@ -40,7 +40,7 @@ namespace console { * * \ingroup qmfconsoleapi */ - class Event { + class QPID_CONSOLE_CLASS_EXTERN Event { public: typedef enum { SEV_EMERGENCY = 0, SEV_ALERT = 1, SEV_CRITICAL = 2, SEV_ERROR = 3, diff --git a/qpid/cpp/include/qpid/console/Object.h b/qpid/cpp/include/qpid/console/Object.h index 5a29fdf792..7194d33ce5 100644 --- a/qpid/cpp/include/qpid/console/Object.h +++ b/qpid/cpp/include/qpid/console/Object.h @@ -52,10 +52,10 @@ namespace console { std::map<std::string, boost::shared_ptr<Value> > arguments; }; - class Object { + class QPID_CONSOLE_CLASS_EXTERN Object { public: typedef std::vector<Object> Vector; - struct AttributeMap : public std::map<std::string, boost::shared_ptr<Value> > { + struct QPID_CONSOLE_CLASS_EXTERN AttributeMap : public std::map<std::string, boost::shared_ptr<Value> > { QPID_CONSOLE_EXTERN void addRef(const std::string& key, const ObjectId& val); QPID_CONSOLE_EXTERN void addUint(const std::string& key, uint32_t val); QPID_CONSOLE_EXTERN void addInt(const std::string& key, int32_t val); diff --git a/qpid/cpp/include/qpid/console/SequenceManager.h b/qpid/cpp/include/qpid/console/SequenceManager.h index ea0ccf3f77..a06abaeb59 100644 --- a/qpid/cpp/include/qpid/console/SequenceManager.h +++ b/qpid/cpp/include/qpid/console/SequenceManager.h @@ -34,7 +34,7 @@ namespace console { * * \ingroup qpidconsoleapi */ - class SequenceManager { + class QPID_CONSOLE_CLASS_EXTERN SequenceManager { public: typedef std::set<uint32_t> set; diff --git a/qpid/cpp/include/qpid/console/SessionManager.h b/qpid/cpp/include/qpid/console/SessionManager.h index b46af549ff..8b61634b94 100644 --- a/qpid/cpp/include/qpid/console/SessionManager.h +++ b/qpid/cpp/include/qpid/console/SessionManager.h @@ -47,14 +47,14 @@ class ConsoleListener; * * \ingroup qmfconsoleapi */ -class SessionManager +class QPID_CONSOLE_CLASS_EXTERN SessionManager { public: typedef std::vector<std::string> NameVector; typedef std::vector<ClassKey> KeyVector; QPID_CONSOLE_EXTERN ~SessionManager(); - struct Settings { + struct QPID_CONSOLE_CLASS_EXTERN Settings { bool rcvObjects; bool rcvEvents; bool rcvHeartbeats; diff --git a/qpid/cpp/include/qpid/framing/FieldTable.h b/qpid/cpp/include/qpid/framing/FieldTable.h index fed431129a..7a783849af 100644 --- a/qpid/cpp/include/qpid/framing/FieldTable.h +++ b/qpid/cpp/include/qpid/framing/FieldTable.h @@ -45,7 +45,7 @@ class Buffer; * * \ingroup clientapi */ -class FieldTable +class QPID_COMMON_CLASS_EXTERN FieldTable { public: typedef boost::shared_ptr<FieldValue> ValuePtr; @@ -119,9 +119,6 @@ class FieldTable QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream& out, const FieldTable& body); }; -//class FieldNotFoundException{}; -//class UnknownFieldName : public FieldNotFoundException{}; -//class IncorrectFieldType : public FieldNotFoundException{}; } } diff --git a/qpid/cpp/include/qpid/framing/FieldValue.h b/qpid/cpp/include/qpid/framing/FieldValue.h index 458de62fdf..abf98caead 100644 --- a/qpid/cpp/include/qpid/framing/FieldValue.h +++ b/qpid/cpp/include/qpid/framing/FieldValue.h @@ -138,7 +138,7 @@ inline std::ostream& operator<<(std::ostream& out, const FieldValue& v) { } template <int width> -class FixedWidthValue : public FieldValue::Data { +class QPID_COMMON_CLASS_EXTERN FixedWidthValue : public FieldValue::Data { uint8_t octets[width]; public: @@ -244,7 +244,7 @@ inline double FieldValue::get<double>() const { } template <> -class FixedWidthValue<0> : public FieldValue::Data { +class QPID_COMMON_CLASS_EXTERN FixedWidthValue<0> : public FieldValue::Data { public: // Implicit default constructor is fine uint32_t encodedSize() const { return 0; } @@ -258,7 +258,7 @@ class FixedWidthValue<0> : public FieldValue::Data { }; template <int lenwidth> -class VariableWidthValue : public FieldValue::Data { +class QPID_COMMON_CLASS_EXTERN VariableWidthValue : public FieldValue::Data { std::vector<uint8_t> octets; public: @@ -290,7 +290,7 @@ class VariableWidthValue : public FieldValue::Data { }; template <class T> -class EncodedValue : public FieldValue::Data { +class QPID_COMMON_CLASS_EXTERN EncodedValue : public FieldValue::Data { T value; public: @@ -324,7 +324,7 @@ class EncodedValue : public FieldValue::Data { template <class T> inline bool FieldValue::get(T& t) const { - const EncodedValue<T>* v = dynamic_cast< EncodedValue<T>* >(data.get()); + const EncodedValue<T>* v = dynamic_cast< EncodedValue<T>* >(data.get()); if (v != 0) { t = v->getValue(); return true; @@ -338,37 +338,37 @@ inline bool FieldValue::get(T& t) const } } -class Str8Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Str8Value : public FieldValue { public: QPID_COMMON_EXTERN Str8Value(const std::string& v); }; -class Str16Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Str16Value : public FieldValue { public: QPID_COMMON_EXTERN Str16Value(const std::string& v); }; -class Var16Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Var16Value : public FieldValue { public: QPID_COMMON_EXTERN Var16Value(const std::string& v, uint8_t code); }; -class Var32Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Var32Value : public FieldValue { public: QPID_COMMON_EXTERN Var32Value(const std::string& v, uint8_t code); }; -class Struct32Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Struct32Value : public FieldValue { public: QPID_COMMON_EXTERN Struct32Value(const std::string& v); }; -class FloatValue : public FieldValue +class QPID_COMMON_CLASS_EXTERN FloatValue : public FieldValue { public: QPID_COMMON_EXTERN FloatValue(float f); }; -class DoubleValue : public FieldValue +class QPID_COMMON_CLASS_EXTERN DoubleValue : public FieldValue { public: QPID_COMMON_EXTERN DoubleValue(double f); @@ -377,81 +377,81 @@ class DoubleValue : public FieldValue /* * Basic integer value encodes as signed 32 bit */ -class IntegerValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN IntegerValue : public FieldValue { public: QPID_COMMON_EXTERN IntegerValue(int v); }; -class TimeValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN TimeValue : public FieldValue { public: QPID_COMMON_EXTERN TimeValue(uint64_t v); }; -class Integer64Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Integer64Value : public FieldValue { public: QPID_COMMON_EXTERN Integer64Value(int64_t v); }; -class Unsigned64Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Unsigned64Value : public FieldValue { public: QPID_COMMON_EXTERN Unsigned64Value(uint64_t v); }; -class FieldTableValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN FieldTableValue : public FieldValue { public: typedef FieldTable ValueType; QPID_COMMON_EXTERN FieldTableValue(const FieldTable&); }; -class ArrayValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN ArrayValue : public FieldValue { public: QPID_COMMON_EXTERN ArrayValue(const Array&); }; -class VoidValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN VoidValue : public FieldValue { public: QPID_COMMON_EXTERN VoidValue(); }; -class BoolValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN BoolValue : public FieldValue { public: QPID_COMMON_EXTERN BoolValue(bool); }; -class Unsigned8Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Unsigned8Value : public FieldValue { public: QPID_COMMON_EXTERN Unsigned8Value(uint8_t); }; -class Unsigned16Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Unsigned16Value : public FieldValue { public: QPID_COMMON_EXTERN Unsigned16Value(uint16_t); }; -class Unsigned32Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Unsigned32Value : public FieldValue { public: QPID_COMMON_EXTERN Unsigned32Value(uint32_t); }; -class Integer8Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Integer8Value : public FieldValue { public: QPID_COMMON_EXTERN Integer8Value(int8_t); }; -class Integer16Value : public FieldValue { +class QPID_COMMON_CLASS_EXTERN Integer16Value : public FieldValue { public: QPID_COMMON_EXTERN Integer16Value(int16_t); }; typedef IntegerValue Integer32Value; -class ListValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN ListValue : public FieldValue { public: typedef List ValueType; QPID_COMMON_EXTERN ListValue(const List&); }; -class UuidValue : public FieldValue { +class QPID_COMMON_CLASS_EXTERN UuidValue : public FieldValue { public: QPID_COMMON_EXTERN UuidValue(const unsigned char*); }; diff --git a/qpid/cpp/include/qpid/framing/Uuid.h b/qpid/cpp/include/qpid/framing/Uuid.h index ccfd7e9534..d50f46e472 100644 --- a/qpid/cpp/include/qpid/framing/Uuid.h +++ b/qpid/cpp/include/qpid/framing/Uuid.h @@ -41,7 +41,7 @@ class Buffer; * TODO: change this implementation as it leaks boost into the * client API */ -struct Uuid : public boost::array<uint8_t, 16> { +struct QPID_COMMON_CLASS_EXTERN Uuid : public boost::array<uint8_t, 16> { /** If unique is true, generate a unique ID else a null ID. */ QPID_COMMON_EXTERN Uuid(bool unique=false); diff --git a/qpid/cpp/include/qpid/log/Options.h b/qpid/cpp/include/qpid/log/Options.h index 17cbfde9bc..ef5b746ad4 100644 --- a/qpid/cpp/include/qpid/log/Options.h +++ b/qpid/cpp/include/qpid/log/Options.h @@ -28,7 +28,7 @@ namespace qpid { namespace log { /** Logging options for config parser. */ -struct Options : public qpid::Options { +struct QPID_COMMON_CLASS_EXTERN Options : public qpid::Options { /** Pass argv[0] for use in syslog output */ QPID_COMMON_EXTERN Options(const std::string& argv0_=std::string(), const std::string& name_="Logging options"); diff --git a/qpid/cpp/include/qpid/log/Selector.h b/qpid/cpp/include/qpid/log/Selector.h index 061152d7e2..a37f4770a0 100644 --- a/qpid/cpp/include/qpid/log/Selector.h +++ b/qpid/cpp/include/qpid/log/Selector.h @@ -32,7 +32,7 @@ struct Options; * * Thread object unsafe, pass-by-value type. */ -class Selector { +class QPID_COMMON_CLASS_EXTERN Selector { public: /** Empty selector selects nothing */ Selector() {} diff --git a/qpid/cpp/include/qpid/log/SinkOptions.h b/qpid/cpp/include/qpid/log/SinkOptions.h index 7ec2cfbc17..935804b0e4 100644 --- a/qpid/cpp/include/qpid/log/SinkOptions.h +++ b/qpid/cpp/include/qpid/log/SinkOptions.h @@ -35,7 +35,7 @@ class Logger; * can't be assumed to all have C++ iostreams or files. Thus, this class * is primarily for implementing in a platform-specific way. */ -struct SinkOptions : public qpid::Options { +struct QPID_COMMON_CLASS_EXTERN SinkOptions : public qpid::Options { // Create a platform's SinkOptions. Pass argv0 as the program name, // useful for syslog-type logging. diff --git a/qpid/cpp/include/qpid/log/Statement.h b/qpid/cpp/include/qpid/log/Statement.h index 7b3ab60b81..1871c864dd 100644 --- a/qpid/cpp/include/qpid/log/Statement.h +++ b/qpid/cpp/include/qpid/log/Statement.h @@ -56,7 +56,7 @@ struct LevelTraits { }; /** POD struct representing a logging statement in source code. */ -struct Statement { +struct QPID_COMMON_CLASS_EXTERN Statement { bool enabled; const char* file; int line; diff --git a/qpid/cpp/include/qpid/management/Buffer.h b/qpid/cpp/include/qpid/management/Buffer.h index c32494b8c0..205ab1f5b0 100644 --- a/qpid/cpp/include/qpid/management/Buffer.h +++ b/qpid/cpp/include/qpid/management/Buffer.h @@ -40,7 +40,7 @@ struct OutOfBounds : qpid::types::Exception { * This class is a wrapper around qpid::framing::Buffer that does not include any dependencies * from boost or from qpid::framing. */ -class Buffer +class QPID_COMMON_CLASS_EXTERN Buffer { public: QPID_COMMON_EXTERN Buffer(char* data=0, uint32_t size=0); diff --git a/qpid/cpp/include/qpid/management/ManagementObject.h b/qpid/cpp/include/qpid/management/ManagementObject.h index 16bf21038c..4fd9507097 100644 --- a/qpid/cpp/include/qpid/management/ManagementObject.h +++ b/qpid/cpp/include/qpid/management/ManagementObject.h @@ -37,7 +37,7 @@ class ObjectId; class ManagementObject; -class AgentAttachment { +class QPID_COMMON_CLASS_EXTERN AgentAttachment { friend class ObjectId; private: uint64_t first; @@ -48,7 +48,7 @@ public: }; -class ObjectId { +class QPID_COMMON_CLASS_EXTERN ObjectId { protected: const AgentAttachment* agent; uint64_t first; @@ -88,7 +88,7 @@ public: friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const ObjectId&); }; -class ManagementItem { +class QPID_COMMON_CLASS_EXTERN ManagementItem { public: static const uint8_t TYPE_U8 = 1; static const uint8_t TYPE_U16 = 2; diff --git a/qpid/cpp/include/qpid/management/Mutex.h b/qpid/cpp/include/qpid/management/Mutex.h index 67ae04bae9..59b3464f54 100644 --- a/qpid/cpp/include/qpid/management/Mutex.h +++ b/qpid/cpp/include/qpid/management/Mutex.h @@ -48,7 +48,7 @@ namespace qpid { L& mutex; }; - class Mutex { + class QPID_COMMON_CLASS_EXTERN Mutex { public: typedef ScopedLockTemplate<Mutex> ScopedLock; typedef ScopedUnlockTemplate<Mutex> ScopedUnlock; diff --git a/qpid/cpp/include/qpid/sys/IOHandle.h b/qpid/cpp/include/qpid/sys/IOHandle.h index 45fc8c240a..0a72f12165 100644 --- a/qpid/cpp/include/qpid/sys/IOHandle.h +++ b/qpid/cpp/include/qpid/sys/IOHandle.h @@ -33,14 +33,14 @@ namespace sys { */ class PollerHandle; class IOHandlePrivate; -class IOHandle { +class QPID_COMMON_CLASS_EXTERN IOHandle { friend class PollerHandle; friend class IOHandlePrivate; protected: IOHandlePrivate* const impl; - IOHandle(IOHandlePrivate*); + QPID_COMMON_EXTERN IOHandle(IOHandlePrivate*); QPID_COMMON_EXTERN virtual ~IOHandle(); }; diff --git a/qpid/cpp/include/qpid/sys/Thread.h b/qpid/cpp/include/qpid/sys/Thread.h index f556612908..cf4d10500f 100644 --- a/qpid/cpp/include/qpid/sys/Thread.h +++ b/qpid/cpp/include/qpid/sys/Thread.h @@ -44,7 +44,7 @@ namespace sys { class Runnable; class ThreadPrivate; -class Thread +class QPID_COMMON_CLASS_EXTERN Thread { boost::shared_ptr<ThreadPrivate> impl; diff --git a/qpid/cpp/include/qpid/sys/Time.h b/qpid/cpp/include/qpid/sys/Time.h index 9c5ac66e9a..e9e164b3fa 100644 --- a/qpid/cpp/include/qpid/sys/Time.h +++ b/qpid/cpp/include/qpid/sys/Time.h @@ -77,7 +77,7 @@ class Duration; * with one of the AbsTime constructors). However trying to add 2 AbsTimes * doesn't make sense. */ -class AbsTime { +class QPID_COMMON_CLASS_EXTERN AbsTime { friend class Duration; friend class Condition; diff --git a/qpid/cpp/include/qpid/sys/posix/Mutex.h b/qpid/cpp/include/qpid/sys/posix/Mutex.h index e2b21b5a56..bef35cc19f 100644 --- a/qpid/cpp/include/qpid/sys/posix/Mutex.h +++ b/qpid/cpp/include/qpid/sys/posix/Mutex.h @@ -20,6 +20,7 @@ */ #include "qpid/sys/posix/check.h" +#include "qpid/CommonImportExport.h" #include <pthread.h> #include <boost/noncopyable.hpp> @@ -32,9 +33,9 @@ class Condition; /** * Mutex lock. */ -class Mutex : private boost::noncopyable { +class QPID_COMMON_CLASS_EXTERN Mutex : private boost::noncopyable { friend class Condition; - static const pthread_mutexattr_t* getAttribute(); + QPID_COMMON_EXTERN static const pthread_mutexattr_t* getAttribute(); public: typedef ::qpid::sys::ScopedLock<Mutex> ScopedLock; @@ -54,7 +55,7 @@ protected: /** * RW lock. */ -class RWlock : private boost::noncopyable { +class QPID_COMMON_CLASS_EXTERN RWlock : private boost::noncopyable { friend class Condition; public: @@ -78,7 +79,7 @@ protected: * PODMutex is a POD, can be static-initialized with * PODMutex m = QPID_PODMUTEX_INITIALIZER */ -struct PODMutex +struct QPID_COMMON_CLASS_EXTERN PODMutex { typedef ::qpid::sys::ScopedLock<PODMutex> ScopedLock; diff --git a/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h b/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h index 79cb950275..2ff5f9e64c 100644 --- a/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h +++ b/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h @@ -24,6 +24,7 @@ #include "qpid/sys/Time.h" #include "qpid/sys/IOHandle.h" +#include "qpid/CommonImportExport.h" struct timespec; struct timeval; @@ -33,13 +34,14 @@ namespace qpid { namespace sys { // Private Time related implementation details -struct timespec& toTimespec(struct timespec& ts, const Duration& t); -struct timeval& toTimeval(struct timeval& tv, const Duration& t); -Duration toTime(const struct timespec& ts); +QPID_COMMON_EXTERN struct timespec& toTimespec(struct timespec& ts, const Duration& t); +QPID_COMMON_EXTERN struct timeval& toTimeval(struct timeval& tv, const Duration& t); +QPID_COMMON_EXTERN Duration toTime(const struct timespec& ts); // Private SocketAddress details class SocketAddress; -const struct addrinfo& getAddrInfo(const SocketAddress&); +// FIXME aconway 2011-03-22: ?? +const struct addrinfo& QPID_COMMON_EXTERN getAddrInfo(const SocketAddress&); // Private fd related implementation details class IOHandlePrivate { @@ -51,7 +53,7 @@ public: int fd; }; -int toFd(const IOHandlePrivate* h); +QPID_COMMON_EXTERN int toFd(const IOHandlePrivate* h); // Posix fd as an IOHandle class PosixIOHandle : public IOHandle { |