qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tr...@apache.org
Subject svn commit: r1104559 [1/2] - in /qpid/trunk/qpid/cpp: include/qmf/ include/qmf/engine/ include/qpid/ include/qpid/agent/ include/qpid/client/ include/qpid/console/ include/qpid/framing/ include/qpid/log/ include/qpid/management/ include/qpid/messaging/...
Date Tue, 17 May 2011 21:02:37 GMT
Author: tross
Date: Tue May 17 21:02:34 2011
New Revision: 1104559

URL: http://svn.apache.org/viewvc?rev=1104559&view=rev
Log:
QPID-3186 - Import Export generalization to support a larger set of compilers and run time environments

Added:
    qpid/trunk/qpid/cpp/include/qpid/ImportExport.h
Modified:
    qpid/trunk/qpid/cpp/include/qmf/Agent.h
    qpid/trunk/qpid/cpp/include/qmf/AgentEvent.h
    qpid/trunk/qpid/cpp/include/qmf/AgentSession.h
    qpid/trunk/qpid/cpp/include/qmf/ConsoleEvent.h
    qpid/trunk/qpid/cpp/include/qmf/ConsoleSession.h
    qpid/trunk/qpid/cpp/include/qmf/Data.h
    qpid/trunk/qpid/cpp/include/qmf/DataAddr.h
    qpid/trunk/qpid/cpp/include/qmf/Handle.h
    qpid/trunk/qpid/cpp/include/qmf/ImportExport.h
    qpid/trunk/qpid/cpp/include/qmf/Query.h
    qpid/trunk/qpid/cpp/include/qmf/Schema.h
    qpid/trunk/qpid/cpp/include/qmf/SchemaId.h
    qpid/trunk/qpid/cpp/include/qmf/SchemaMethod.h
    qpid/trunk/qpid/cpp/include/qmf/SchemaProperty.h
    qpid/trunk/qpid/cpp/include/qmf/Subscription.h
    qpid/trunk/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h
    qpid/trunk/qpid/cpp/include/qmf/exceptions.h
    qpid/trunk/qpid/cpp/include/qpid/Address.h
    qpid/trunk/qpid/cpp/include/qpid/CommonImportExport.h
    qpid/trunk/qpid/cpp/include/qpid/Exception.h
    qpid/trunk/qpid/cpp/include/qpid/Url.h
    qpid/trunk/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h
    qpid/trunk/qpid/cpp/include/qpid/client/ClientImportExport.h
    qpid/trunk/qpid/cpp/include/qpid/client/Completion.h
    qpid/trunk/qpid/cpp/include/qpid/client/Connection.h
    qpid/trunk/qpid/cpp/include/qpid/client/ConnectionSettings.h
    qpid/trunk/qpid/cpp/include/qpid/client/FailoverListener.h
    qpid/trunk/qpid/cpp/include/qpid/client/FailoverManager.h
    qpid/trunk/qpid/cpp/include/qpid/client/Future.h
    qpid/trunk/qpid/cpp/include/qpid/client/FutureResult.h
    qpid/trunk/qpid/cpp/include/qpid/client/Handle.h
    qpid/trunk/qpid/cpp/include/qpid/client/LocalQueue.h
    qpid/trunk/qpid/cpp/include/qpid/client/Message.h
    qpid/trunk/qpid/cpp/include/qpid/client/MessageListener.h
    qpid/trunk/qpid/cpp/include/qpid/client/MessageReplayTracker.h
    qpid/trunk/qpid/cpp/include/qpid/client/QueueOptions.h
    qpid/trunk/qpid/cpp/include/qpid/client/SessionBase_0_10.h
    qpid/trunk/qpid/cpp/include/qpid/client/Subscription.h
    qpid/trunk/qpid/cpp/include/qpid/client/SubscriptionManager.h
    qpid/trunk/qpid/cpp/include/qpid/console/Agent.h
    qpid/trunk/qpid/cpp/include/qpid/console/Broker.h
    qpid/trunk/qpid/cpp/include/qpid/console/ConsoleImportExport.h
    qpid/trunk/qpid/cpp/include/qpid/framing/Array.h
    qpid/trunk/qpid/cpp/include/qpid/framing/Buffer.h
    qpid/trunk/qpid/cpp/include/qpid/framing/FieldTable.h
    qpid/trunk/qpid/cpp/include/qpid/framing/FieldValue.h
    qpid/trunk/qpid/cpp/include/qpid/framing/List.h
    qpid/trunk/qpid/cpp/include/qpid/framing/ProtocolVersion.h
    qpid/trunk/qpid/cpp/include/qpid/framing/SequenceNumber.h
    qpid/trunk/qpid/cpp/include/qpid/framing/SequenceSet.h
    qpid/trunk/qpid/cpp/include/qpid/framing/StructHelper.h
    qpid/trunk/qpid/cpp/include/qpid/framing/Uuid.h
    qpid/trunk/qpid/cpp/include/qpid/log/Logger.h
    qpid/trunk/qpid/cpp/include/qpid/management/ManagementObject.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Address.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Connection.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/FailoverUpdates.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Handle.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/ImportExport.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Message.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Sender.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h
    qpid/trunk/qpid/cpp/include/qpid/messaging/exceptions.h
    qpid/trunk/qpid/cpp/include/qpid/sys/IntegerTypes.h
    qpid/trunk/qpid/cpp/include/qpid/sys/Runnable.h
    qpid/trunk/qpid/cpp/include/qpid/sys/Time.h
    qpid/trunk/qpid/cpp/include/qpid/types/Exception.h
    qpid/trunk/qpid/cpp/include/qpid/types/ImportExport.h
    qpid/trunk/qpid/cpp/include/qpid/types/Uuid.h
    qpid/trunk/qpid/cpp/include/qpid/types/Variant.h
    qpid/trunk/qpid/cpp/rubygen/0-10/specification.rb
    qpid/trunk/qpid/cpp/rubygen/MethodBodyDefaultVisitor.rb
    qpid/trunk/qpid/cpp/rubygen/cppgen.rb
    qpid/trunk/qpid/cpp/rubygen/framing.0-10/MethodBodyDefaultVisitor.rb
    qpid/trunk/qpid/cpp/rubygen/framing.0-10/OperationsInvoker.rb
    qpid/trunk/qpid/cpp/rubygen/framing.0-10/Proxy.rb
    qpid/trunk/qpid/cpp/rubygen/framing.0-10/Session.rb
    qpid/trunk/qpid/cpp/rubygen/framing.0-10/structs.rb
    qpid/trunk/qpid/cpp/src/Makefile.am
    qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.h
    qpid/trunk/qpid/cpp/src/qpid/broker/BrokerImportExport.h
    qpid/trunk/qpid/cpp/src/qpid/broker/DeliverableMessage.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h
    qpid/trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h
    qpid/trunk/qpid/cpp/src/qpid/broker/MessageBuilder.h
    qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h
    qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h
    qpid/trunk/qpid/cpp/src/qpid/broker/TopicExchange.h
    qpid/trunk/qpid/cpp/src/qpid/broker/TxPublish.h
    qpid/trunk/qpid/cpp/src/qpid/framing/AMQBody.h
    qpid/trunk/qpid/cpp/src/qpid/framing/AMQContentBody.h
    qpid/trunk/qpid/cpp/src/qpid/framing/AMQFrame.h
    qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeaderBody.h
    qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h
    qpid/trunk/qpid/cpp/src/qpid/framing/TransferContent.h
    qpid/trunk/qpid/cpp/src/qpid/log/windows/SinkOptions.h
    qpid/trunk/qpid/cpp/src/qpid/sys/AggregateOutput.h
    qpid/trunk/qpid/cpp/src/qpid/sys/AsynchIOHandler.h
    qpid/trunk/qpid/cpp/src/qpid/sys/Poller.h
    qpid/trunk/qpid/cpp/src/qpid/sys/Socket.h

Modified: qpid/trunk/qpid/cpp/include/qmf/Agent.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/Agent.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/Agent.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/Agent.h Tue May 17 21:02:34 2011
@@ -42,7 +42,7 @@ namespace qmf {
     class SchemaId;
     class Schema;
 
-    class Agent : public qmf::Handle<AgentImpl> {
+    class QMF_CLASS_EXTERN Agent : public qmf::Handle<AgentImpl> {
     public:
         QMF_EXTERN Agent(AgentImpl* impl = 0);
         QMF_EXTERN Agent(const Agent&);

Modified: qpid/trunk/qpid/cpp/include/qmf/AgentEvent.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/AgentEvent.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/AgentEvent.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/AgentEvent.h Tue May 17 21:02:34 2011
@@ -46,7 +46,7 @@ namespace qmf {
     AGENT_THREAD_FAILED   = 8
     };
 
-    class AgentEvent : public qmf::Handle<AgentEventImpl> {
+    class QMF_CLASS_EXTERN AgentEvent : public qmf::Handle<AgentEventImpl> {
     public:
         QMF_EXTERN AgentEvent(AgentEventImpl* impl = 0);
         QMF_EXTERN AgentEvent(const AgentEvent&);

Modified: qpid/trunk/qpid/cpp/include/qmf/AgentSession.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/AgentSession.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/AgentSession.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/AgentSession.h Tue May 17 21:02:34 2011
@@ -40,7 +40,7 @@ namespace qmf {
     class Data;
     class DataAddr;
 
-    class AgentSession : public qmf::Handle<AgentSessionImpl> {
+    class QMF_CLASS_EXTERN AgentSession : public qmf::Handle<AgentSessionImpl> {
     public:
         QMF_EXTERN AgentSession(AgentSessionImpl* impl = 0);
         QMF_EXTERN AgentSession(const AgentSession&);

Modified: qpid/trunk/qpid/cpp/include/qmf/ConsoleEvent.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/ConsoleEvent.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/ConsoleEvent.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/ConsoleEvent.h Tue May 17 21:02:34 2011
@@ -57,7 +57,7 @@ namespace qmf {
     AGENT_DEL_FILTER = 2 
     };
 
-    class ConsoleEvent : public qmf::Handle<ConsoleEventImpl> {
+    class QMF_CLASS_EXTERN ConsoleEvent : public qmf::Handle<ConsoleEventImpl> {
     public:
         QMF_EXTERN ConsoleEvent(ConsoleEventImpl* impl = 0);
         QMF_EXTERN ConsoleEvent(const ConsoleEvent&);

Modified: qpid/trunk/qpid/cpp/include/qmf/ConsoleSession.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/ConsoleSession.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/ConsoleSession.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/ConsoleSession.h Tue May 17 21:02:34 2011
@@ -38,7 +38,7 @@ namespace qmf {
     class ConsoleSessionImpl;
     class ConsoleEvent;
 
-    class ConsoleSession : public qmf::Handle<ConsoleSessionImpl> {
+    class QMF_CLASS_EXTERN ConsoleSession : public qmf::Handle<ConsoleSessionImpl> {
     public:
         QMF_EXTERN ConsoleSession(ConsoleSessionImpl* impl = 0);
         QMF_EXTERN ConsoleSession(const ConsoleSession&);

Modified: qpid/trunk/qpid/cpp/include/qmf/Data.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/Data.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/Data.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/Data.h Tue May 17 21:02:34 2011
@@ -39,7 +39,7 @@ namespace qmf {
     class DataAddr;
     class Agent;
 
-    class Data : public qmf::Handle<DataImpl> {
+    class QMF_CLASS_EXTERN Data : public qmf::Handle<DataImpl> {
     public:
         QMF_EXTERN Data(DataImpl* impl = 0);
         QMF_EXTERN Data(const Data&);

Modified: qpid/trunk/qpid/cpp/include/qmf/DataAddr.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/DataAddr.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/DataAddr.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/DataAddr.h Tue May 17 21:02:34 2011
@@ -34,7 +34,7 @@ namespace qmf {
 
     class DataAddrImpl;
 
-    class DataAddr : public qmf::Handle<DataAddrImpl> {
+    class QMF_CLASS_EXTERN DataAddr : public qmf::Handle<DataAddrImpl> {
     public:
         QMF_EXTERN DataAddr(DataAddrImpl* impl = 0);
         QMF_EXTERN DataAddr(const DataAddr&);

Modified: qpid/trunk/qpid/cpp/include/qmf/Handle.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/Handle.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/Handle.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/Handle.h Tue May 17 21:02:34 2011
@@ -39,22 +39,22 @@ template <class T> class Handle {
   public:
 
     /**@return true if handle is valid,  i.e. not null. */
-    QMF_EXTERN bool isValid() const { return impl; }
+    QMF_INLINE_EXTERN bool isValid() const { return impl; }
 
     /**@return true if handle is null. It is an error to call any function on a null handle. */
-    QMF_EXTERN bool isNull() const { return !impl; }
+    QMF_INLINE_EXTERN bool isNull() const { return !impl; }
 
     /** Conversion to bool supports idiom if (handle) { handle->... } */
-    QMF_EXTERN operator bool() const { return impl; }
+    QMF_INLINE_EXTERN operator bool() const { return impl; }
 
     /** Operator ! supports idiom if (!handle) { do_if_handle_is_null(); } */
-    QMF_EXTERN bool operator !() const { return !impl; }
+    QMF_INLINE_EXTERN bool operator !() const { return !impl; }
 
     void swap(Handle<T>& h) { T* t = h.impl; h.impl = impl; impl = t; }
 
   protected:
     typedef T Impl;
-    QMF_EXTERN Handle() :impl() {}
+    QMF_INLINE_EXTERN Handle() :impl() {}
 
     // Not implemented,subclasses must implement.
     QMF_EXTERN Handle(const Handle&);

Modified: qpid/trunk/qpid/cpp/include/qmf/ImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/ImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/ImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/ImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
-#  if defined(QMF_EXPORT) || defined (qmfcommon_EXPORTS)
-#    define QMF_EXTERN __declspec(dllexport)
-#  else
-#    define QMF_EXTERN __declspec(dllimport)
-#  endif
+#include "qpid/ImportExport.h"
+
+#if defined(QMF_EXPORT) || defined (qmf2_EXPORTS)
+#  define QMF_EXTERN QPID_EXPORT
+#  define QMF_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QMF_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#  define QMF_EXTERN
+#  define QMF_EXTERN QPID_IMPORT
+#  define QMF_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QMF_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif

Modified: qpid/trunk/qpid/cpp/include/qmf/Query.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/Query.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/Query.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/Query.h Tue May 17 21:02:34 2011
@@ -43,7 +43,7 @@ namespace qmf {
     QUERY_SCHEMA_ID = 4
     };
 
-    class Query : public qmf::Handle<QueryImpl> {
+    class QMF_CLASS_EXTERN Query : public qmf::Handle<QueryImpl> {
     public:
         QMF_EXTERN Query(QueryImpl* impl = 0);
         QMF_EXTERN Query(const Query&);

Modified: qpid/trunk/qpid/cpp/include/qmf/Schema.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/Schema.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/Schema.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/Schema.h Tue May 17 21:02:34 2011
@@ -38,7 +38,7 @@ namespace qmf {
     class SchemaProperty;
     class SchemaMethod;
 
-    class Schema : public qmf::Handle<SchemaImpl> {
+    class QMF_CLASS_EXTERN Schema : public qmf::Handle<SchemaImpl> {
     public:
         QMF_EXTERN Schema(SchemaImpl* impl = 0);
         QMF_EXTERN Schema(const Schema&);

Modified: qpid/trunk/qpid/cpp/include/qmf/SchemaId.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/SchemaId.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/SchemaId.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/SchemaId.h Tue May 17 21:02:34 2011
@@ -35,7 +35,7 @@ namespace qmf {
 
     class SchemaIdImpl;
 
-    class SchemaId : public qmf::Handle<SchemaIdImpl> {
+    class QMF_CLASS_EXTERN SchemaId : public qmf::Handle<SchemaIdImpl> {
     public:
         QMF_EXTERN SchemaId(SchemaIdImpl* impl = 0);
         QMF_EXTERN SchemaId(const SchemaId&);

Modified: qpid/trunk/qpid/cpp/include/qmf/SchemaMethod.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/SchemaMethod.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/SchemaMethod.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/SchemaMethod.h Tue May 17 21:02:34 2011
@@ -36,7 +36,7 @@ namespace qmf {
     class SchemaMethodImpl;
     class SchemaProperty;
 
-    class SchemaMethod : public qmf::Handle<SchemaMethodImpl> {
+    class QMF_CLASS_EXTERN SchemaMethod : public qmf::Handle<SchemaMethodImpl> {
     public:
         QMF_EXTERN SchemaMethod(SchemaMethodImpl* impl = 0);
         QMF_EXTERN SchemaMethod(const SchemaMethod&);

Modified: qpid/trunk/qpid/cpp/include/qmf/SchemaProperty.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/SchemaProperty.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/SchemaProperty.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/SchemaProperty.h Tue May 17 21:02:34 2011
@@ -36,7 +36,7 @@ namespace qmf {
 
     class SchemaPropertyImpl;
 
-    class SchemaProperty : public Handle<SchemaPropertyImpl> {
+    class QMF_CLASS_EXTERN SchemaProperty : public Handle<SchemaPropertyImpl> {
     public:
         QMF_EXTERN SchemaProperty(SchemaPropertyImpl* impl = 0);
         QMF_EXTERN SchemaProperty(const SchemaProperty&);

Modified: qpid/trunk/qpid/cpp/include/qmf/Subscription.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/Subscription.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/Subscription.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/Subscription.h Tue May 17 21:02:34 2011
@@ -35,7 +35,7 @@ namespace qmf {
     class SubscriptionImpl;
     class Data;
 
-    class Subscription : public qmf::Handle<SubscriptionImpl> {
+    class QMF_CLASS_EXTERN Subscription : public qmf::Handle<SubscriptionImpl> {
     public:
         QMF_EXTERN Subscription(SubscriptionImpl* impl = 0);
         QMF_EXTERN Subscription(const Subscription&);

Modified: qpid/trunk/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h Tue May 17 21:02:34 2011
@@ -26,8 +26,17 @@
 #  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
 #else
 #  define QMFE_EXTERN
+#  define QMFE_CLASS_EXTERN
+#  define QMFE_INLINE_EXTERN
 #endif
 
 #endif

Modified: qpid/trunk/qpid/cpp/include/qmf/exceptions.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qmf/exceptions.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qmf/exceptions.h (original)
+++ qpid/trunk/qpid/cpp/include/qmf/exceptions.h Tue May 17 21:02:34 2011
@@ -31,24 +31,24 @@ namespace qmf {
 /** \ingroup qmf
  */
 
-    struct QmfException : public qpid::types::Exception {
+    struct QMF_CLASS_EXTERN QmfException : public qpid::types::Exception {
         QMF_EXTERN QmfException(const std::string& msg);
         QMF_EXTERN virtual ~QmfException() throw();
 
         qpid::types::Variant::Map detail;
     };
 
-    struct KeyNotFound : public QmfException {
+    struct QMF_CLASS_EXTERN KeyNotFound : public QmfException {
         QMF_EXTERN KeyNotFound(const std::string& msg);
         QMF_EXTERN virtual ~KeyNotFound() throw();
     };
 
-    struct IndexOutOfRange : public QmfException {
+    struct QMF_CLASS_EXTERN IndexOutOfRange : public QmfException {
         QMF_EXTERN IndexOutOfRange();
         QMF_EXTERN virtual ~IndexOutOfRange() throw();
     };
 
-    struct OperationTimedOut : public QmfException {
+    struct QMF_CLASS_EXTERN OperationTimedOut : public QmfException {
         QMF_EXTERN OperationTimedOut();
         QMF_EXTERN virtual ~OperationTimedOut() throw();
     };

Modified: qpid/trunk/qpid/cpp/include/qpid/Address.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/Address.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/Address.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/Address.h Tue May 17 21:02:34 2011
@@ -36,7 +36,7 @@ public:
     static const std::string TCP; // Default TCP protocol tag.
     static const uint16_t AMQP_PORT=5672; // Default AMQP port.
     
-    QPID_COMMON_EXTERN explicit Address(
+    QPID_COMMON_INLINE_EXTERN explicit Address(
         const std::string& protocol_=std::string(),
         const std::string& host_=std::string(),
         uint16_t port_=0

Modified: qpid/trunk/qpid/cpp/include/qpid/CommonImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/CommonImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/CommonImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/CommonImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+#include "qpid/ImportExport.h"
+
 #if defined(COMMON_EXPORT) || defined (qpidcommon_EXPORTS)
-#define QPID_COMMON_EXTERN __declspec(dllexport)
-#else
-#define QPID_COMMON_EXTERN __declspec(dllimport)
-#endif
+#  define QPID_COMMON_EXTERN QPID_EXPORT
+#  define QPID_COMMON_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QPID_COMMON_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#define QPID_COMMON_EXTERN
+#  define QPID_COMMON_EXTERN QPID_IMPORT
+#  define QPID_COMMON_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QPID_COMMON_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif

Modified: qpid/trunk/qpid/cpp/include/qpid/Exception.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/Exception.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/Exception.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/Exception.h Tue May 17 21:02:34 2011
@@ -36,7 +36,7 @@ namespace qpid
 /**
  * Base class for Qpid runtime exceptions.
  */
-class Exception : public std::exception
+class QPID_COMMON_CLASS_EXTERN Exception : public std::exception
 {
   public:
     QPID_COMMON_EXTERN explicit Exception(const std::string& message=std::string()) throw();
@@ -51,30 +51,30 @@ class Exception : public std::exception
 };
 
 /** Exception that includes an errno message. */
-struct ErrnoException : public Exception {
+struct QPID_COMMON_CLASS_EXTERN ErrnoException : public Exception {
     ErrnoException(const std::string& msg, int err) : Exception(msg+": "+qpid::sys::strError(err)) {}
     ErrnoException(const std::string& msg) : Exception(msg+": "+qpid::sys::strError(errno)) {}
 };
 
-struct SessionException : public Exception {
+struct QPID_COMMON_CLASS_EXTERN SessionException : public Exception {
     const framing::execution::ErrorCode code;
     SessionException(framing::execution::ErrorCode code_, const std::string& message)
         : Exception(message), code(code_) {}
 };
 
-struct ChannelException : public Exception {
+struct QPID_COMMON_CLASS_EXTERN ChannelException : public Exception {
     const framing::session::DetachCode code;
     ChannelException(framing::session::DetachCode _code, const std::string& message)
         : Exception(message), code(_code) {}
 };
 
-struct ConnectionException : public Exception {
+struct QPID_COMMON_CLASS_EXTERN ConnectionException : public Exception {
     const framing::connection::CloseCode code;
     ConnectionException(framing::connection::CloseCode _code, const std::string& message)
         : Exception(message), code(_code) {}
 };
 
-struct ClosedException : public Exception {
+struct QPID_COMMON_CLASS_EXTERN ClosedException : public Exception {
     QPID_COMMON_EXTERN ClosedException(const std::string& msg=std::string());
     QPID_COMMON_EXTERN std::string getPrefix() const;
 };

Added: qpid/trunk/qpid/cpp/include/qpid/ImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/ImportExport.h?rev=1104559&view=auto
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/ImportExport.h (added)
+++ qpid/trunk/qpid/cpp/include/qpid/ImportExport.h Tue May 17 21:02:34 2011
@@ -0,0 +1,71 @@
+#ifndef QPID_IMPORTEXPORT_H
+#define QPID_IMPORTEXPORT_H
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+//
+// This header file defines the following macros for the control of library/DLL
+// import and export:
+//
+// QPID_EXPORT         - Export declaration for Methods
+// QPID_CLASS_EXPORT   - Export declaration for Classes
+// QPID_INLINE_EXPORT  - Export declaration for Inline methods
+//
+// QPID_IMPORT         - Import declaration for Methods
+// QPID_CLASS_IMPORT   - Import declaration for Classes
+// QPID_INLINE_IMPORT  - Import declaration for Inline methods
+//
+
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+   //
+   // Import and Export definitions for Windows:
+   //
+#  define QPID_EXPORT __declspec(dllexport)
+#  define QPID_IMPORT __declspec(dllimport)
+#  ifdef _MSC_VER
+     //
+     // Specific to the Microsoft compiler:
+     //
+#    define QPID_CLASS_EXPORT
+#    define QPID_CLASS_IMPORT
+#    define QPID_INLINE_EXPORT QPID_EXPORT
+#    define QPID_INLINE_IMPORT QPID_IMPORT
+#  else
+     //
+     // Specific to non-Microsoft compilers (mingw32):
+     //
+#    define QPID_CLASS_EXPORT QPID_EXPORT
+#    define QPID_CLASS_IMPORT QPID_IMPORT
+#    define QPID_INLINE_EXPORT
+#    define QPID_INLINE_IMPORT
+#  endif
+#else
+   //
+   // Non-Windows (Linux, etc.) definitions:
+   //
+#  define QPID_EXPORT
+#  define QPID_IMPORT
+#  define QPID_CLASS_EXPORT
+#  define QPID_CLASS_IMPORT
+#  define QPID_INLINE_EXPORT
+#  define QPID_INLINE_IMPORT
+#endif
+
+#endif  /*!QPID_IMPORTEXPORT_H*/

Modified: qpid/trunk/qpid/cpp/include/qpid/Url.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/Url.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/Url.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/Url.h Tue May 17 21:02:34 2011
@@ -66,7 +66,7 @@ struct Url : public std::vector<Address>
      *@exception Invalid if the url is invalid.
      */
     QPID_COMMON_EXTERN void parse(const char* url);
-    QPID_COMMON_EXTERN void parse(const std::string& url) { parse(url.c_str()); }
+    QPID_COMMON_INLINE_EXTERN void parse(const std::string& url) { parse(url.c_str()); }
 
     /** Replace contesnts with parsed URL. Replace with empty URL if invalid. */
     QPID_COMMON_EXTERN void parseNoThrow(const char* url);

Modified: qpid/trunk/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
-#if defined (qmf_EXPORTS)
-#define QMF_AGENT_EXTERN __declspec(dllexport)
-#else
-#define QMF_AGENT_EXTERN __declspec(dllimport)
-#endif
+#include "qpid/ImportExport.h"
+
+#if defined(QMF_EXPORT) || defined (qmf_EXPORTS)
+#  define QMF_AGENT_EXTERN QPID_EXPORT
+#  define QMF_AGENT_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QMF_AGENT_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#define QMF_AGENT_EXTERN
+#  define QMF_AGENT_EXTERN QPID_IMPORT
+#  define QMF_AGENT_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QMF_AGENT_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif

Modified: qpid/trunk/qpid/cpp/include/qpid/client/ClientImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/ClientImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/ClientImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/ClientImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+#include "qpid/ImportExport.h"
+
 #if defined(CLIENT_EXPORT) || defined (qpidclient_EXPORTS)
-#define QPID_CLIENT_EXTERN __declspec(dllexport)
-#else
-#define QPID_CLIENT_EXTERN __declspec(dllimport)
-#endif
+#  define QPID_CLIENT_EXTERN QPID_EXPORT
+#  define QPID_CLIENT_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QPID_CLIENT_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#define QPID_CLIENT_EXTERN
+#  define QPID_CLIENT_EXTERN QPID_IMPORT
+#  define QPID_CLIENT_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QPID_CLIENT_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif

Modified: qpid/trunk/qpid/cpp/include/qpid/client/Completion.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/Completion.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/Completion.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/Completion.h Tue May 17 21:02:34 2011
@@ -41,7 +41,7 @@ template <class T> class PrivateImplRef;
  *
  *\ingroup clientapi
  */
-class Completion : public Handle<CompletionImpl>
+class QPID_CLIENT_CLASS_EXTERN Completion : public Handle<CompletionImpl>
 {
 public:
     QPID_CLIENT_EXTERN Completion(CompletionImpl* = 0);

Modified: qpid/trunk/qpid/cpp/include/qpid/client/Connection.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/Connection.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/Connection.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/Connection.h Tue May 17 21:02:34 2011
@@ -60,7 +60,7 @@ class ConnectionImpl;
  *  
  */
 
-class Connection
+class QPID_CLIENT_CLASS_EXTERN Connection
 {
     framing::ProtocolVersion version;
 

Modified: qpid/trunk/qpid/cpp/include/qpid/client/ConnectionSettings.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/ConnectionSettings.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/ConnectionSettings.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/ConnectionSettings.h Tue May 17 21:02:34 2011
@@ -37,7 +37,7 @@ namespace client {
 /**
  * Settings for a Connection.
  */
-struct ConnectionSettings {
+struct QPID_CLIENT_CLASS_EXTERN ConnectionSettings {
 
     QPID_CLIENT_EXTERN ConnectionSettings();
     QPID_CLIENT_EXTERN virtual ~ConnectionSettings();

Modified: qpid/trunk/qpid/cpp/include/qpid/client/FailoverListener.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/FailoverListener.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/FailoverListener.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/FailoverListener.h Tue May 17 21:02:34 2011
@@ -48,7 +48,7 @@ namespace client {
  * FailoverListener::decode to extract a list of broker URLs from a
  * failover exchange message.
  */
-class FailoverListener : private MessageListener, private qpid::sys::Runnable 
+class QPID_CLIENT_CLASS_EXTERN FailoverListener : private MessageListener, private qpid::sys::Runnable 
 {
   public:
     /** The name of the standard failover exchange amq.failover */

Modified: qpid/trunk/qpid/cpp/include/qpid/client/FailoverManager.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/FailoverManager.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/FailoverManager.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/FailoverManager.h Tue May 17 21:02:34 2011
@@ -42,7 +42,7 @@ struct CannotConnectException : qpid::Ex
 /**
  * Utility to manage failover.
  */
-class FailoverManager
+class QPID_CLIENT_CLASS_EXTERN FailoverManager
 {
   public:
     /**

Modified: qpid/trunk/qpid/cpp/include/qpid/client/Future.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/Future.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/Future.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/Future.h Tue May 17 21:02:34 2011
@@ -34,7 +34,7 @@ namespace qpid {
 namespace client {
 
 /**@internal */
-class Future
+class QPID_CLIENT_CLASS_EXTERN Future
 {
     framing::SequenceNumber command;
     boost::shared_ptr<FutureResult> result;

Modified: qpid/trunk/qpid/cpp/include/qpid/client/FutureResult.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/FutureResult.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/FutureResult.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/FutureResult.h Tue May 17 21:02:34 2011
@@ -34,7 +34,7 @@ namespace client {
 class SessionImpl;
 
 ///@internal
-class FutureResult : public FutureCompletion
+class QPID_CLIENT_CLASS_EXTERN FutureResult : public FutureCompletion
 {
     std::string result;
 public:

Modified: qpid/trunk/qpid/cpp/include/qpid/client/Handle.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/Handle.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/Handle.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/Handle.h Tue May 17 21:02:34 2011
@@ -40,22 +40,22 @@ template <class T> class Handle {
   public:
 
     /**@return true if handle is valid,  i.e. not null. */
-    QPID_CLIENT_EXTERN bool isValid() const { return impl; }
+    QPID_CLIENT_INLINE_EXTERN bool isValid() const { return impl; }
 
     /**@return true if handle is null. It is an error to call any function on a null handle. */
-    QPID_CLIENT_EXTERN bool isNull() const { return !impl; }
+    QPID_CLIENT_INLINE_EXTERN bool isNull() const { return !impl; }
 
     /** Conversion to bool supports idiom if (handle) { handle->... } */
-    QPID_CLIENT_EXTERN operator bool() const { return impl; }
+    QPID_CLIENT_INLINE_EXTERN operator bool() const { return impl; }
 
     /** Operator ! supports idiom if (!handle) { do_if_handle_is_null(); } */
-    QPID_CLIENT_EXTERN bool operator !() const { return !impl; }
+    QPID_CLIENT_INLINE_EXTERN bool operator !() const { return !impl; }
 
     void swap(Handle<T>& h) { T* t = h.impl; h.impl = impl; impl = t; }
 
   protected:
     typedef T Impl;
-    QPID_CLIENT_EXTERN Handle() :impl() {}
+    QPID_CLIENT_INLINE_EXTERN Handle() :impl() {}
 
     // Not implemented,subclasses must implement.
     QPID_CLIENT_EXTERN Handle(const Handle&);

Modified: qpid/trunk/qpid/cpp/include/qpid/client/LocalQueue.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/LocalQueue.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/LocalQueue.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/LocalQueue.h Tue May 17 21:02:34 2011
@@ -71,7 +71,7 @@ template <class T> class PrivateImplRef;
  * </ul>
  */
 
-class LocalQueue : public Handle<LocalQueueImpl> {
+class QPID_CLIENT_CLASS_EXTERN LocalQueue : public Handle<LocalQueueImpl> {
   public:
     /** Create a local queue. Subscribe the local queue to a remote broker
      * queue with a SubscriptionManager.

Modified: qpid/trunk/qpid/cpp/include/qpid/client/Message.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/Message.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/Message.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/Message.h Tue May 17 21:02:34 2011
@@ -112,7 +112,7 @@ class MessageImpl;
  *
  *
  */
-class Message
+class QPID_CLIENT_CLASS_EXTERN Message
 {
 public:
     /** Create a Message.

Modified: qpid/trunk/qpid/cpp/include/qpid/client/MessageListener.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/MessageListener.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/MessageListener.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/MessageListener.h Tue May 17 21:02:34 2011
@@ -84,7 +84,7 @@ namespace client {
      *
      */
 
-    class MessageListener{
+    class QPID_CLIENT_CLASS_EXTERN MessageListener{
     public:
         QPID_CLIENT_EXTERN virtual ~MessageListener();
 

Modified: qpid/trunk/qpid/cpp/include/qpid/client/MessageReplayTracker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/MessageReplayTracker.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/MessageReplayTracker.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/MessageReplayTracker.h Tue May 17 21:02:34 2011
@@ -34,7 +34,7 @@ namespace client {
  * Utility to track messages sent asynchronously, allowing those that
  * are indoubt to be replayed over a new session.
  */
-class MessageReplayTracker
+class QPID_CLIENT_CLASS_EXTERN MessageReplayTracker
 {
   public:
     QPID_CLIENT_EXTERN MessageReplayTracker(uint flushInterval);

Modified: qpid/trunk/qpid/cpp/include/qpid/client/QueueOptions.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/QueueOptions.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/QueueOptions.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/QueueOptions.h Tue May 17 21:02:34 2011
@@ -35,7 +35,7 @@ enum QueueOrderingPolicy {FIFO, LVQ, LVQ
  * A help class to set options on the Queue. Create a configured args while
  * still allowing any custom configuration via the FieldTable base class
  */
-class QueueOptions: public framing::FieldTable
+class QPID_CLIENT_CLASS_EXTERN QueueOptions: public framing::FieldTable
 {
   public:
     QPID_CLIENT_EXTERN QueueOptions();

Modified: qpid/trunk/qpid/cpp/include/qpid/client/SessionBase_0_10.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/SessionBase_0_10.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/SessionBase_0_10.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/SessionBase_0_10.h Tue May 17 21:02:34 2011
@@ -54,7 +54,7 @@ enum CreditUnit { MESSAGE_CREDIT=0, BYTE
  * Subclasses provide the AMQP commands for a given
  * version of the protocol.
  */
-class SessionBase_0_10 {
+class QPID_CLIENT_CLASS_EXTERN SessionBase_0_10 {
   public:
 
     ///@internal

Modified: qpid/trunk/qpid/cpp/include/qpid/client/Subscription.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/Subscription.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/Subscription.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/Subscription.h Tue May 17 21:02:34 2011
@@ -39,7 +39,7 @@ class SubscriptionManager;
  * A handle to an active subscription. Provides methods to query the subscription status
  * and control acknowledgement (acquire and accept) of messages.
  */
-class Subscription : public Handle<SubscriptionImpl> {
+class QPID_CLIENT_CLASS_EXTERN Subscription : public Handle<SubscriptionImpl> {
   public:
     QPID_CLIENT_EXTERN Subscription(SubscriptionImpl* = 0);
     QPID_CLIENT_EXTERN Subscription(const Subscription&);
@@ -91,13 +91,13 @@ class Subscription : public Handle<Subsc
     QPID_CLIENT_EXTERN void release(const SequenceSet& messageIds);
 
     /* Acquire a single message */
-    QPID_CLIENT_EXTERN void acquire(const Message& m) { acquire(SequenceSet(m.getId())); }
+    QPID_CLIENT_INLINE_EXTERN void acquire(const Message& m) { acquire(SequenceSet(m.getId())); }
 
     /* Accept a single message */
-    QPID_CLIENT_EXTERN void accept(const Message& m) { accept(SequenceSet(m.getId())); }
+    QPID_CLIENT_INLINE_EXTERN void accept(const Message& m) { accept(SequenceSet(m.getId())); }
 
     /* Release a single message */
-    QPID_CLIENT_EXTERN void release(const Message& m) { release(SequenceSet(m.getId())); }
+    QPID_CLIENT_INLINE_EXTERN void release(const Message& m) { release(SequenceSet(m.getId())); }
 
     /** Get the session associated with this subscription */
     QPID_CLIENT_EXTERN Session getSession() const;

Modified: qpid/trunk/qpid/cpp/include/qpid/client/SubscriptionManager.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/client/SubscriptionManager.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/client/SubscriptionManager.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/client/SubscriptionManager.h Tue May 17 21:02:34 2011
@@ -94,7 +94,7 @@ class SubscriptionManagerImpl;
  * </ul>
  *
  */
-class SubscriptionManager : public sys::Runnable, public Handle<SubscriptionManagerImpl>
+class QPID_CLIENT_CLASS_EXTERN SubscriptionManager : public sys::Runnable, public Handle<SubscriptionManagerImpl>
 {
   public:
     /** Create a new SubscriptionManager associated with a session */

Modified: qpid/trunk/qpid/cpp/include/qpid/console/Agent.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/console/Agent.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/console/Agent.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/console/Agent.h Tue May 17 21:02:34 2011
@@ -31,17 +31,17 @@ namespace console {
      *
      * \ingroup qmfconsoleapi
      */
-    class QPID_CONSOLE_EXTERN Agent {
+    class QPID_CONSOLE_CLASS_EXTERN Agent {
     public:
         typedef std::vector<Agent*> Vector;
 
-        Agent(Broker* _broker, uint32_t _bank, const std::string& _label) :
+        QPID_CONSOLE_INLINE_EXTERN Agent(Broker* _broker, uint32_t _bank, const std::string& _label) :
             broker(_broker), brokerBank(broker->getBrokerBank()),
             agentBank(_bank), label(_label) {}
-        Broker* getBroker() const { return broker; }
-        uint32_t getBrokerBank() const { return brokerBank; }
-        uint32_t getAgentBank() const { return agentBank; }
-        const std::string& getLabel() const { return label; }
+        QPID_CONSOLE_INLINE_EXTERN Broker* getBroker() const { return broker; }
+        QPID_CONSOLE_INLINE_EXTERN uint32_t getBrokerBank() const { return brokerBank; }
+        QPID_CONSOLE_INLINE_EXTERN uint32_t getAgentBank() const { return agentBank; }
+        QPID_CONSOLE_INLINE_EXTERN const std::string& getLabel() const { return label; }
 
     private:
         Broker* broker;
@@ -50,7 +50,7 @@ namespace console {
         const std::string label;
     };
 
-    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Agent& agent);
+    std::ostream& operator<<(std::ostream& o, const Agent& agent);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/include/qpid/console/Broker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/console/Broker.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/console/Broker.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/console/Broker.h Tue May 17 21:02:34 2011
@@ -55,12 +55,12 @@ namespace console {
                                    client::ConnectionSettings& settings);
         QPID_CONSOLE_EXTERN ~Broker();
 
-        QPID_CONSOLE_EXTERN bool isConnected() const { return connected; }
-        QPID_CONSOLE_EXTERN const std::string& getError() const { return error; }
-        QPID_CONSOLE_EXTERN const std::string& getSessionId() const { return amqpSessionId; }
-        QPID_CONSOLE_EXTERN const framing::Uuid& getBrokerId() const { return brokerId; }
-        QPID_CONSOLE_EXTERN uint32_t getBrokerBank() const { return 1; }
-        QPID_CONSOLE_EXTERN void addBinding(const std::string& key) {
+        QPID_CONSOLE_INLINE_EXTERN bool isConnected() const { return connected; }
+        QPID_CONSOLE_INLINE_EXTERN const std::string& getError() const { return error; }
+        QPID_CONSOLE_INLINE_EXTERN const std::string& getSessionId() const { return amqpSessionId; }
+        QPID_CONSOLE_INLINE_EXTERN const framing::Uuid& getBrokerId() const { return brokerId; }
+        QPID_CONSOLE_INLINE_EXTERN uint32_t getBrokerBank() const { return 1; }
+        QPID_CONSOLE_INLINE_EXTERN void addBinding(const std::string& key) {
             connThreadBody.bindExchange("qpid.management", key);
         }
         QPID_CONSOLE_EXTERN std::string getUrl() const;
@@ -123,10 +123,10 @@ namespace console {
         void setBrokerId(const framing::Uuid& id) { brokerId = id; }
         void appendAgents(std::vector<Agent*>& agents) const;
 
-        friend QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Broker& k);
+        friend std::ostream& operator<<(std::ostream& o, const Broker& k);
     };
 
-    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Broker& k);
+    std::ostream& operator<<(std::ostream& o, const Broker& k);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/include/qpid/console/ConsoleImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/console/ConsoleImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/console/ConsoleImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/console/ConsoleImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+#include "qpid/ImportExport.h"
+
 #if defined(CONSOLE_EXPORT) || defined (qmfconsole_EXPORTS)
-#define QPID_CONSOLE_EXTERN __declspec(dllexport)
-#else
-#define QPID_CONSOLE_EXTERN __declspec(dllimport)
-#endif
+#  define QPID_CONSOLE_EXTERN QPID_EXPORT
+#  define QPID_CONSOLE_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QPID_CONSOLE_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#define QPID_CONSOLE_EXTERN
+#  define QPID_CONSOLE_EXTERN QPID_IMPORT
+#  define QPID_CONSOLE_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QPID_CONSOLE_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/Array.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/Array.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/Array.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/Array.h Tue May 17 21:02:34 2011
@@ -34,7 +34,7 @@ namespace framing {
 
 class Buffer;
 
-class Array
+class QPID_COMMON_CLASS_EXTERN Array
 {
   public:
     typedef boost::shared_ptr<FieldValue> ValuePtr;
@@ -55,25 +55,25 @@ class Array
     //creates a longstr array
     QPID_COMMON_EXTERN Array(const std::vector<std::string>& in);
 
-    QPID_COMMON_EXTERN TypeCode getType() const { return type; }
+    QPID_COMMON_INLINE_EXTERN TypeCode getType() const { return type; }
 
     // std collection interface.
-    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_INLINE_EXTERN const_iterator begin() const { return values.begin(); }
+    QPID_COMMON_INLINE_EXTERN const_iterator end() const { return values.end(); }
+    QPID_COMMON_INLINE_EXTERN iterator begin() { return values.begin(); }
+    QPID_COMMON_INLINE_EXTERN iterator end(){ return values.end(); }
+
+    QPID_COMMON_INLINE_EXTERN ValuePtr front() const { return values.front(); }
+    QPID_COMMON_INLINE_EXTERN ValuePtr back() const { return values.back(); }
+    QPID_COMMON_INLINE_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(); }
+    QPID_COMMON_INLINE_EXTERN void erase(iterator i) { values.erase(i); }
+    QPID_COMMON_INLINE_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
+    QPID_COMMON_INLINE_EXTERN void pop_back() { values.pop_back(); }
 
     // Non-std interface
-    QPID_COMMON_EXTERN void add(ValuePtr value) { push_back(value); }
+    QPID_COMMON_INLINE_EXTERN void add(ValuePtr value) { push_back(value); }
 
     template <class T>
     void collect(std::vector<T>& out) const

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/Buffer.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/Buffer.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/Buffer.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/Buffer.h Tue May 17 21:02:34 2011
@@ -29,14 +29,14 @@
 namespace qpid {
 namespace framing {
 
-struct OutOfBounds : qpid::Exception {
+struct QPID_COMMON_CLASS_EXTERN OutOfBounds : qpid::Exception {
     OutOfBounds() : qpid::Exception(std::string("Out of Bounds")) {}
 };
 
 class Content;
 class FieldTable;
 
-class Buffer
+class QPID_COMMON_CLASS_EXTERN Buffer
 {
     uint32_t size;
     char* data;
@@ -72,12 +72,12 @@ class Buffer
     QPID_COMMON_EXTERN void restore(bool reRecord = false);
     QPID_COMMON_EXTERN void reset();
 
-    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 void setPosition(uint32_t p) { position = p; }
-    QPID_COMMON_EXTERN Iterator getIterator() { return Iterator(*this); }
-    QPID_COMMON_EXTERN char* getPointer() { return data; }
+    QPID_COMMON_INLINE_EXTERN uint32_t available() { return size - position; }
+    QPID_COMMON_INLINE_EXTERN uint32_t getSize() { return size; }
+    QPID_COMMON_INLINE_EXTERN uint32_t getPosition() { return position; }
+    QPID_COMMON_INLINE_EXTERN void setPosition(uint32_t p) { position = p; }
+    QPID_COMMON_INLINE_EXTERN Iterator getIterator() { return Iterator(*this); }
+    QPID_COMMON_INLINE_EXTERN char* getPointer() { return data; }
 
     QPID_COMMON_EXTERN void putOctet(uint8_t i);
     QPID_COMMON_EXTERN void putShort(uint16_t i);

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/FieldTable.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/FieldTable.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/FieldTable.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/FieldTable.h Tue May 17 21:02:34 2011
@@ -56,7 +56,7 @@ class FieldTable
     typedef ValueMap::reference reference;
     typedef ValueMap::value_type value_type;
 
-    QPID_COMMON_EXTERN FieldTable() {};
+    QPID_COMMON_INLINE_EXTERN FieldTable() {};
     QPID_COMMON_EXTERN FieldTable(const FieldTable& ft);
     QPID_COMMON_EXTERN ~FieldTable();
     QPID_COMMON_EXTERN FieldTable& operator=(const FieldTable& ft);
@@ -67,7 +67,7 @@ class FieldTable
     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_INLINE_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);

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/FieldValue.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/FieldValue.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/FieldValue.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/FieldValue.h Tue May 17 21:02:34 2011
@@ -41,14 +41,14 @@ namespace framing {
  *
  * \ingroup clientapi
  */
-class FieldValueException : public qpid::Exception {};
+class QPID_COMMON_CLASS_EXTERN FieldValueException : public qpid::Exception {};
 
 /**
  * Exception thrown when we can't perform requested conversion
  *
  * \ingroup clientapi
  */
-struct InvalidConversionException : public FieldValueException {
+struct QPID_COMMON_CLASS_EXTERN InvalidConversionException : public FieldValueException {
     InvalidConversionException() {}
 };
 
@@ -59,7 +59,7 @@ class List;
  *
  * \ingroup clientapi
  */
-class FieldValue {
+class QPID_COMMON_CLASS_EXTERN FieldValue {
   public:
     /*
      * Abstract type for content of different types
@@ -90,7 +90,7 @@ class FieldValue {
     void encode(Buffer& buffer);
     void decode(Buffer& buffer);
     QPID_COMMON_EXTERN bool operator==(const FieldValue&) const;
-    QPID_COMMON_EXTERN bool operator!=(const FieldValue& v) const { return !(*this == v); }
+    QPID_COMMON_INLINE_EXTERN bool operator!=(const FieldValue& v) const { return !(*this == v); }
 
     QPID_COMMON_EXTERN void print(std::ostream& out) const;
 

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/List.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/List.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/List.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/List.h Tue May 17 21:02:34 2011
@@ -36,7 +36,7 @@ class FieldValue;
 /**
  * Representation of an AMQP 0-10 list
  */
-class List
+class QPID_COMMON_CLASS_EXTERN List
 {
   public:
     typedef boost::shared_ptr<FieldValue> ValuePtr;
@@ -53,19 +53,19 @@ class List
     QPID_COMMON_EXTERN bool operator==(const List& other) const;
 
     // std collection interface.
-    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 iterator insert(iterator i, ValuePtr value) { return values.insert(i, 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(); }
+    QPID_COMMON_INLINE_EXTERN const_iterator begin() const { return values.begin(); }
+    QPID_COMMON_INLINE_EXTERN const_iterator end() const { return values.end(); }
+    QPID_COMMON_INLINE_EXTERN iterator begin() { return values.begin(); }
+    QPID_COMMON_INLINE_EXTERN iterator end(){ return values.end(); }
+
+    QPID_COMMON_INLINE_EXTERN ValuePtr front() const { return values.front(); }
+    QPID_COMMON_INLINE_EXTERN ValuePtr back() const { return values.back(); }
+    QPID_COMMON_INLINE_EXTERN size_t size() const { return values.size(); }
+
+    QPID_COMMON_INLINE_EXTERN iterator insert(iterator i, ValuePtr value) { return values.insert(i, value); }
+    QPID_COMMON_INLINE_EXTERN void erase(iterator i) { values.erase(i); }
+    QPID_COMMON_INLINE_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
+    QPID_COMMON_INLINE_EXTERN void pop_back() { values.pop_back(); }
 
   private:
     Values values;

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/ProtocolVersion.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/ProtocolVersion.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/ProtocolVersion.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/ProtocolVersion.h Tue May 17 21:02:34 2011
@@ -29,7 +29,7 @@ namespace qpid
 namespace framing
 {
 
-class ProtocolVersion
+class QPID_COMMON_CLASS_EXTERN ProtocolVersion
 {
 private:
     uint8_t major_;
@@ -39,16 +39,16 @@ public:
     explicit ProtocolVersion(uint8_t _major=0, uint8_t _minor=0)
         : major_(_major), minor_(_minor) {}
 
-    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_INLINE_EXTERN uint8_t getMajor() const { return major_; }
+    QPID_COMMON_INLINE_EXTERN void setMajor(uint8_t major) { major_ = major; }
+    QPID_COMMON_INLINE_EXTERN uint8_t getMinor() const { return minor_; }
+    QPID_COMMON_INLINE_EXTERN void setMinor(uint8_t minor) { minor_ = minor; }
     QPID_COMMON_EXTERN const std::string toString() const;
 
     QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
 
     QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
-    QPID_COMMON_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
+    QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
 };
 
 } // namespace framing

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/SequenceNumber.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/SequenceNumber.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/SequenceNumber.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/SequenceNumber.h Tue May 17 21:02:34 2011
@@ -34,7 +34,7 @@ class Buffer;
 /**
  * 4-byte sequence number that 'wraps around'.
  */
-class SequenceNumber : public
+class QPID_COMMON_CLASS_EXTERN SequenceNumber : public
 boost::equality_comparable<
     SequenceNumber, boost::less_than_comparable<
         SequenceNumber, boost::incrementable<

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/SequenceSet.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/SequenceSet.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/SequenceSet.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/SequenceSet.h Tue May 17 21:02:34 2011
@@ -29,7 +29,7 @@ namespace qpid {
 namespace framing {
 class Buffer;
 
-class SequenceSet : public RangeSet<SequenceNumber> {
+class QPID_COMMON_CLASS_EXTERN SequenceSet : public RangeSet<SequenceNumber> {
   public:
     SequenceSet() {}
     SequenceSet(const RangeSet<SequenceNumber>& r)

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/StructHelper.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/StructHelper.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/StructHelper.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/StructHelper.h Tue May 17 21:02:34 2011
@@ -30,7 +30,7 @@
 namespace qpid {
 namespace framing {
 
-class StructHelper
+class QPID_COMMON_CLASS_EXTERN StructHelper
 {
 public:
 

Modified: qpid/trunk/qpid/cpp/include/qpid/framing/Uuid.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/framing/Uuid.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/framing/Uuid.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/framing/Uuid.h Tue May 17 21:02:34 2011
@@ -52,22 +52,22 @@ struct Uuid : public boost::array<uint8_
     // boost::array gives us ==, < etc.
 
     /** Copy from 16 bytes of data. */
-    void assign(const uint8_t* data);
+    QPID_COMMON_EXTERN void assign(const uint8_t* data);
 
     /** Set to a new unique identifier. */
     QPID_COMMON_EXTERN void generate();
 
     /** Set to all zeros. */
-    void clear();
+    QPID_COMMON_EXTERN void clear();
 
     /** Test for null (all zeros). */
     QPID_COMMON_EXTERN bool isNull() const;
-    operator bool() const { return !isNull(); }
-    bool operator!() const { return isNull(); }
+    QPID_COMMON_INLINE_EXTERN operator bool() const { return !isNull(); }
+    QPID_COMMON_INLINE_EXTERN bool operator!() const { return isNull(); }
 
     QPID_COMMON_EXTERN void encode(framing::Buffer& buf) const;
     QPID_COMMON_EXTERN void decode(framing::Buffer& buf);
-    QPID_COMMON_EXTERN uint32_t encodedSize() const
+    QPID_COMMON_INLINE_EXTERN uint32_t encodedSize() const
         { return static_cast<uint32_t>(size()); }
 
     /** String value in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */

Modified: qpid/trunk/qpid/cpp/include/qpid/log/Logger.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/log/Logger.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/log/Logger.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/log/Logger.h Tue May 17 21:02:34 2011
@@ -33,7 +33,7 @@ namespace log {
  * is handled by Logger::Output-derived classes instantiated by the
  * platform's sink-related options.
  */
-class Logger : private boost::noncopyable {
+class QPID_COMMON_CLASS_EXTERN Logger : private boost::noncopyable {
   public:
     /** Flags indicating what to include in the log output */
     enum FormatFlag { FILE=1, LINE=2, FUNCTION=4, LEVEL=8, TIME=16, THREAD=32, HIRES=64};
@@ -93,7 +93,7 @@ class Logger : private boost::noncopyabl
     QPID_COMMON_EXTERN void clear();
 
     /** Get the options used to configure the logger. */
-    QPID_COMMON_EXTERN const Options& getOptions() const { return options; }
+    QPID_COMMON_INLINE_EXTERN const Options& getOptions() const { return options; }
 
 
   private:

Modified: qpid/trunk/qpid/cpp/include/qpid/management/ManagementObject.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/management/ManagementObject.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/management/ManagementObject.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/management/ManagementObject.h Tue May 17 21:02:34 2011
@@ -58,14 +58,14 @@ protected:
     std::string agentName;
     void fromString(const std::string&);
 public:
-    QPID_COMMON_EXTERN ObjectId() : agent(0), first(0), second(0), agentEpoch(0) {}
-    QPID_COMMON_EXTERN ObjectId(const types::Variant& map) :
+    QPID_COMMON_INLINE_EXTERN ObjectId() : agent(0), first(0), second(0), agentEpoch(0) {}
+    QPID_COMMON_INLINE_EXTERN ObjectId(const types::Variant& map) :
     agent(0), first(0), second(0), agentEpoch(0) { mapDecode(map.asMap()); }
     QPID_COMMON_EXTERN ObjectId(uint8_t flags, uint16_t seq, uint32_t broker);
     QPID_COMMON_EXTERN ObjectId(AgentAttachment* _agent, uint8_t flags, uint16_t seq);
     QPID_COMMON_EXTERN ObjectId(std::istream&);
     QPID_COMMON_EXTERN ObjectId(const std::string&);
-    QPID_COMMON_EXTERN ObjectId(const std::string& agentAddress, const std::string& key,
+    QPID_COMMON_INLINE_EXTERN ObjectId(const std::string& agentAddress, const std::string& key,
                                 uint64_t epoch=0) : agent(0), first(0), second(0),
       agentEpoch(epoch), v2Key(key), agentName(agentAddress) {}
 
@@ -76,15 +76,15 @@ public:
     QPID_COMMON_EXTERN void mapEncode(types::Variant::Map& map) const;
     QPID_COMMON_EXTERN void mapDecode(const types::Variant::Map& map);
     QPID_COMMON_EXTERN operator types::Variant::Map() const;
-    QPID_COMMON_EXTERN uint32_t encodedSize() const { return 16; };
+    QPID_COMMON_INLINE_EXTERN uint32_t encodedSize() const { return 16; };
     QPID_COMMON_EXTERN void encode(std::string& buffer) const;
     QPID_COMMON_EXTERN void decode(const std::string& buffer);
     QPID_COMMON_EXTERN bool equalV1(const ObjectId &other) const;
-    QPID_COMMON_EXTERN void setV2Key(const std::string& _key) { v2Key = _key; }
+    QPID_COMMON_INLINE_EXTERN void setV2Key(const std::string& _key) { v2Key = _key; }
     QPID_COMMON_EXTERN void setV2Key(const ManagementObject& object);
-    QPID_COMMON_EXTERN void setAgentName(const std::string& _name) { agentName = _name; }
-    QPID_COMMON_EXTERN const std::string& getAgentName() const { return agentName; }
-    QPID_COMMON_EXTERN const std::string& getV2Key() const { return v2Key; }
+    QPID_COMMON_INLINE_EXTERN void setAgentName(const std::string& _name) { agentName = _name; }
+    QPID_COMMON_INLINE_EXTERN const std::string& getAgentName() const { return agentName; }
+    QPID_COMMON_INLINE_EXTERN const std::string& getV2Key() const { return v2Key; }
     friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const ObjectId&);
 };
 
@@ -131,7 +131,7 @@ public:
     virtual ~ManagementItem() {}
 };
 
-class ManagementObject : public ManagementItem
+class QPID_COMMON_CLASS_EXTERN ManagementObject : public ManagementItem
 {
 protected:
 

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Address.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Address.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Address.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Address.h Tue May 17 21:02:34 2011
@@ -119,7 +119,7 @@ class AddressImpl;
  * 
  * An address has value semantics.
  */
-class Address
+class QPID_MESSAGING_CLASS_EXTERN Address
 {
   public:
     QPID_MESSAGING_EXTERN Address();

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Connection.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Connection.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Connection.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Connection.h Tue May 17 21:02:34 2011
@@ -42,7 +42,7 @@ class Session;
  * A connection represents a network connection to a remote endpoint.
  */
 
-class Connection : public qpid::messaging::Handle<ConnectionImpl>
+class QPID_MESSAGING_CLASS_EXTERN Connection : public qpid::messaging::Handle<ConnectionImpl>
 {
   public:
     QPID_MESSAGING_EXTERN Connection(ConnectionImpl* impl);

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Duration.h Tue May 17 21:02:34 2011
@@ -32,7 +32,7 @@ namespace messaging {
 /**   \ingroup messaging 
  * A duration is a time in milliseconds.
  */
-class Duration
+class QPID_MESSAGING_CLASS_EXTERN Duration
 {
   public:
     QPID_MESSAGING_EXTERN explicit Duration(uint64_t milliseconds);
@@ -46,9 +46,9 @@ class Duration
 };
 
 QPID_MESSAGING_EXTERN Duration operator*(const Duration& duration,
-                                      uint64_t multiplier);
+                                         uint64_t multiplier);
 QPID_MESSAGING_EXTERN Duration operator*(uint64_t multiplier,
-                                      const Duration& duration);
+                                         const Duration& duration);
 QPID_MESSAGING_EXTERN bool operator==(const Duration& a, const Duration& b);
 QPID_MESSAGING_EXTERN bool operator!=(const Duration& a, const Duration& b);
 

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/FailoverUpdates.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/FailoverUpdates.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/FailoverUpdates.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/FailoverUpdates.h Tue May 17 21:02:34 2011
@@ -32,7 +32,7 @@ struct FailoverUpdatesImpl;
  * A utility to listen for updates on cluster membership and update
  * the list of known urls for a connection accordingly.
  */
-class FailoverUpdates
+class QPID_MESSAGING_CLASS_EXTERN FailoverUpdates
 {
   public:
     QPID_MESSAGING_EXTERN FailoverUpdates(Connection& connection);

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Handle.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Handle.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Handle.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Handle.h Tue May 17 21:02:34 2011
@@ -40,22 +40,22 @@ template <class T> class Handle {
   public:
 
     /**@return true if handle is valid,  i.e. not null. */
-    QPID_MESSAGING_EXTERN bool isValid() const { return impl; }
+    QPID_MESSAGING_INLINE_EXTERN bool isValid() const { return impl; }
 
     /**@return true if handle is null. It is an error to call any function on a null handle. */
-    QPID_MESSAGING_EXTERN bool isNull() const { return !impl; }
+    QPID_MESSAGING_INLINE_EXTERN bool isNull() const { return !impl; }
 
     /** Conversion to bool supports idiom if (handle) { handle->... } */
-    QPID_MESSAGING_EXTERN operator bool() const { return impl; }
+    QPID_MESSAGING_INLINE_EXTERN operator bool() const { return impl; }
 
     /** Operator ! supports idiom if (!handle) { do_if_handle_is_null(); } */
-    QPID_MESSAGING_EXTERN bool operator !() const { return !impl; }
+    QPID_MESSAGING_INLINE_EXTERN bool operator !() const { return !impl; }
 
     void swap(Handle<T>& h) { T* t = h.impl; h.impl = impl; impl = t; }
 
   protected:
     typedef T Impl;
-    QPID_MESSAGING_EXTERN Handle() :impl() {}
+    QPID_MESSAGING_INLINE_EXTERN Handle() :impl() {}
 
     // Not implemented,subclasses must implement.
     QPID_MESSAGING_EXTERN Handle(const Handle&);

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/ImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/ImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/ImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/ImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+#include "qpid/ImportExport.h"
+
 #if defined(CLIENT_EXPORT) || defined (qpidmessaging_EXPORTS)
-#define QPID_MESSAGING_EXTERN __declspec(dllexport)
-#else
-#define QPID_MESSAGING_EXTERN __declspec(dllimport)
-#endif
+#  define QPID_MESSAGING_EXTERN QPID_EXPORT
+#  define QPID_MESSAGING_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QPID_MESSAGING_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#define QPID_MESSAGING_EXTERN
+#  define QPID_MESSAGING_EXTERN QPID_IMPORT
+#  define QPID_MESSAGING_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QPID_MESSAGING_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif  /*!QPID_MESSAGING_IMPORTEXPORT_H*/

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Message.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Message.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Message.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Message.h Tue May 17 21:02:34 2011
@@ -39,7 +39,7 @@ struct MessageImpl;
 /**   \ingroup messaging 
  * Representation of a message.
  */
-class Message
+class QPID_MESSAGING_CLASS_EXTERN Message
 {
   public:
     QPID_MESSAGING_EXTERN Message(const std::string& bytes = std::string());
@@ -107,9 +107,9 @@ class Message
     friend struct MessageImplAccess;
 };
 
-struct EncodingException : qpid::types::Exception
+struct QPID_MESSAGING_CLASS_EXTERN EncodingException : qpid::types::Exception
 {
-    EncodingException(const std::string& msg);
+    QPID_MESSAGING_EXTERN EncodingException(const std::string& msg);
 };
 
 /**
@@ -122,8 +122,8 @@ struct EncodingException : qpid::types::
  * @exception EncodingException
  */
 QPID_MESSAGING_EXTERN void decode(const Message& message,
-                               qpid::types::Variant::Map& map,
-                               const std::string& encoding = std::string());
+                                  qpid::types::Variant::Map& map,
+                                  const std::string& encoding = std::string());
 /**
  * Decodes message content into a Variant::List.
  * 
@@ -134,8 +134,8 @@ QPID_MESSAGING_EXTERN void decode(const 
  * @exception EncodingException
  */
 QPID_MESSAGING_EXTERN void decode(const Message& message,
-                               qpid::types::Variant::List& list,
-                               const std::string& encoding = std::string());
+                                  qpid::types::Variant::List& list,
+                                  const std::string& encoding = std::string());
 /**
  * Encodes a Variant::Map into a message.
  * 
@@ -146,8 +146,8 @@ QPID_MESSAGING_EXTERN void decode(const 
  * @exception EncodingException
  */
 QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::Map& map,
-                               Message& message,
-                               const std::string& encoding = std::string());
+                                  Message& message,
+                                  const std::string& encoding = std::string());
 /**
  * Encodes a Variant::List into a message.
  * 
@@ -158,8 +158,8 @@ QPID_MESSAGING_EXTERN void encode(const 
  * @exception EncodingException
  */
 QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::List& list,
-                               Message& message,
-                               const std::string& encoding = std::string());
+                                  Message& message,
+                                  const std::string& encoding = std::string());
 
 }} // namespace qpid::messaging
 

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Receiver.h Tue May 17 21:02:34 2011
@@ -41,7 +41,7 @@ class Session;
 /**   \ingroup messaging 
  * Interface through which messages are received.
  */
-class Receiver : public qpid::messaging::Handle<ReceiverImpl>
+class QPID_MESSAGING_CLASS_EXTERN Receiver : public qpid::messaging::Handle<ReceiverImpl>
 {
   public:
     QPID_MESSAGING_EXTERN Receiver(ReceiverImpl* impl = 0);

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Sender.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Sender.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Sender.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Sender.h Tue May 17 21:02:34 2011
@@ -40,7 +40,7 @@ class Session;
 /**   \ingroup messaging 
  * Interface through which messages are sent.
  */
-class Sender : public qpid::messaging::Handle<SenderImpl>
+class QPID_MESSAGING_CLASS_EXTERN Sender : public qpid::messaging::Handle<SenderImpl>
 {
   public:
     QPID_MESSAGING_EXTERN Sender(SenderImpl* impl = 0);

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/Session.h Tue May 17 21:02:34 2011
@@ -46,7 +46,7 @@ class SessionImpl;
  * A session represents a distinct 'conversation' which can involve
  * sending and receiving messages to and from different addresses.
  */
-class Session : public qpid::messaging::Handle<SessionImpl>
+class QPID_MESSAGING_CLASS_EXTERN Session : public qpid::messaging::Handle<SessionImpl>
 {
   public:
     QPID_MESSAGING_EXTERN Session(SessionImpl* impl = 0);

Modified: qpid/trunk/qpid/cpp/include/qpid/messaging/exceptions.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/messaging/exceptions.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/messaging/exceptions.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/messaging/exceptions.h Tue May 17 21:02:34 2011
@@ -32,7 +32,7 @@ namespace messaging {
 /** \ingroup messaging 
  */
 
-struct MessagingException : public qpid::types::Exception 
+struct QPID_MESSAGING_CLASS_EXTERN MessagingException : public qpid::types::Exception 
 {
     QPID_MESSAGING_EXTERN MessagingException(const std::string& msg);
     QPID_MESSAGING_EXTERN virtual ~MessagingException() throw();
@@ -41,22 +41,22 @@ struct MessagingException : public qpid:
     //TODO: override what() to include detail if present
 };
 
-struct InvalidOptionString : public MessagingException 
+struct QPID_MESSAGING_CLASS_EXTERN InvalidOptionString : public MessagingException 
 {
     QPID_MESSAGING_EXTERN InvalidOptionString(const std::string& msg);
 };
 
-struct KeyError : public MessagingException
+struct QPID_MESSAGING_CLASS_EXTERN KeyError : public MessagingException
 {
     QPID_MESSAGING_EXTERN KeyError(const std::string&);
 };
 
-struct LinkError : public MessagingException
+struct QPID_MESSAGING_CLASS_EXTERN LinkError : public MessagingException
 {
     QPID_MESSAGING_EXTERN LinkError(const std::string&);
 };
 
-struct AddressError : public LinkError
+struct QPID_MESSAGING_CLASS_EXTERN AddressError : public LinkError
 {
     QPID_MESSAGING_EXTERN AddressError(const std::string&);
 };
@@ -65,17 +65,17 @@ struct AddressError : public LinkError
  * Thrown when a syntactically correct address cannot be resolved or
  * used.
  */
-struct ResolutionError : public AddressError 
+struct QPID_MESSAGING_CLASS_EXTERN ResolutionError : public AddressError 
 {
     QPID_MESSAGING_EXTERN ResolutionError(const std::string& msg);
 };
 
-struct AssertionFailed : public ResolutionError 
+struct QPID_MESSAGING_CLASS_EXTERN AssertionFailed : public ResolutionError 
 {
     QPID_MESSAGING_EXTERN AssertionFailed(const std::string& msg);
 };
 
-struct NotFound : public ResolutionError 
+struct QPID_MESSAGING_CLASS_EXTERN NotFound : public ResolutionError 
 {
     QPID_MESSAGING_EXTERN NotFound(const std::string& msg);
 };
@@ -83,67 +83,67 @@ struct NotFound : public ResolutionError
 /**
  * Thrown when an address string with inalid sytanx is used.
  */
-struct MalformedAddress : public AddressError 
+struct QPID_MESSAGING_CLASS_EXTERN MalformedAddress : public AddressError 
 {
     QPID_MESSAGING_EXTERN MalformedAddress(const std::string& msg);
 };
 
-struct ReceiverError : public LinkError
+struct QPID_MESSAGING_CLASS_EXTERN ReceiverError : public LinkError
 {
     QPID_MESSAGING_EXTERN ReceiverError(const std::string&);
 };
 
-struct FetchError : public ReceiverError
+struct QPID_MESSAGING_CLASS_EXTERN FetchError : public ReceiverError
 {
     QPID_MESSAGING_EXTERN FetchError(const std::string&);
 };
 
-struct NoMessageAvailable : public FetchError
+struct QPID_MESSAGING_CLASS_EXTERN NoMessageAvailable : public FetchError
 {
     QPID_MESSAGING_EXTERN NoMessageAvailable();
 };
 
-struct SenderError : public LinkError
+struct QPID_MESSAGING_CLASS_EXTERN SenderError : public LinkError
 {
     QPID_MESSAGING_EXTERN SenderError(const std::string&);
 };
 
-struct SendError : public SenderError
+struct QPID_MESSAGING_CLASS_EXTERN SendError : public SenderError
 {
     QPID_MESSAGING_EXTERN SendError(const std::string&);
 };
 
-struct TargetCapacityExceeded : public SendError
+struct QPID_MESSAGING_CLASS_EXTERN TargetCapacityExceeded : public SendError
 {
     QPID_MESSAGING_EXTERN TargetCapacityExceeded(const std::string&);
 };
 
-struct SessionError : public MessagingException
+struct QPID_MESSAGING_CLASS_EXTERN SessionError : public MessagingException
 {
     QPID_MESSAGING_EXTERN SessionError(const std::string&);
 };
 
-struct TransactionError : public SessionError
+struct QPID_MESSAGING_CLASS_EXTERN TransactionError : public SessionError
 {
     QPID_MESSAGING_EXTERN TransactionError(const std::string&);
 };
 
-struct TransactionAborted : public TransactionError
+struct QPID_MESSAGING_CLASS_EXTERN TransactionAborted : public TransactionError
 {
     QPID_MESSAGING_EXTERN TransactionAborted(const std::string&);
 };
 
-struct UnauthorizedAccess : public SessionError
+struct QPID_MESSAGING_CLASS_EXTERN UnauthorizedAccess : public SessionError
 {
     QPID_MESSAGING_EXTERN UnauthorizedAccess(const std::string&);
 };
 
-struct ConnectionError : public MessagingException
+struct QPID_MESSAGING_CLASS_EXTERN ConnectionError : public MessagingException
 {
     QPID_MESSAGING_EXTERN ConnectionError(const std::string&);
 };
 
-struct TransportFailure : public MessagingException
+struct QPID_MESSAGING_CLASS_EXTERN TransportFailure : public MessagingException
 {
     QPID_MESSAGING_EXTERN TransportFailure(const std::string&);
 };

Modified: qpid/trunk/qpid/cpp/include/qpid/sys/IntegerTypes.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/sys/IntegerTypes.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/sys/IntegerTypes.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/sys/IntegerTypes.h Tue May 17 21:02:34 2011
@@ -21,7 +21,7 @@
  *
  */
 
-#if (defined(_WINDOWS) || defined (WIN32)) && defined(_MSC_VER)
+#if (defined(_WINDOWS) || defined (WIN32))
 #include "qpid/sys/windows/IntegerTypes.h"
 #endif
 #if !defined _WINDOWS && !defined WIN32

Modified: qpid/trunk/qpid/cpp/include/qpid/sys/Runnable.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/sys/Runnable.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/sys/Runnable.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/sys/Runnable.h Tue May 17 21:02:34 2011
@@ -30,7 +30,7 @@ namespace sys {
 /**
  * Interface for objects that can be run, e.g. in a thread.
  */
-class Runnable
+class QPID_COMMON_CLASS_EXTERN Runnable
 {
   public:
     /** Type to represent a runnable as a Functor */

Modified: qpid/trunk/qpid/cpp/include/qpid/sys/Time.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/sys/Time.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/sys/Time.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/sys/Time.h Tue May 17 21:02:34 2011
@@ -119,7 +119,7 @@ class Duration {
     friend class AbsTime;
 
 public:
-    QPID_COMMON_EXTERN inline Duration(int64_t time0 = 0);
+    QPID_COMMON_INLINE_EXTERN inline Duration(int64_t time0 = 0);
     QPID_COMMON_EXTERN explicit Duration(const AbsTime& start, const AbsTime& finish);
     inline operator int64_t() const;
 };

Modified: qpid/trunk/qpid/cpp/include/qpid/types/Exception.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/types/Exception.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/types/Exception.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/types/Exception.h Tue May 17 21:02:34 2011
@@ -28,7 +28,7 @@
 namespace qpid {
 namespace types {
 
-class Exception : public std::exception
+class QPID_TYPES_CLASS_EXTERN Exception : public std::exception
 {
   public:
     QPID_TYPES_EXTERN explicit Exception(const std::string& message=std::string()) throw();

Modified: qpid/trunk/qpid/cpp/include/qpid/types/ImportExport.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/types/ImportExport.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/types/ImportExport.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/types/ImportExport.h Tue May 17 21:02:34 2011
@@ -20,14 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+#include "qpid/ImportExport.h"
+
 #if defined(TYPES_EXPORT) || defined (qpidtypes_EXPORTS)
-#define QPID_TYPES_EXTERN __declspec(dllexport)
-#else
-#define QPID_TYPES_EXTERN __declspec(dllimport)
-#endif
+#  define QPID_TYPES_EXTERN QPID_EXPORT
+#  define QPID_TYPES_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QPID_TYPES_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#define QPID_TYPES_EXTERN
+#  define QPID_TYPES_EXTERN QPID_IMPORT
+#  define QPID_TYPES_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QPID_TYPES_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif  /*!QPID_TYPES_IMPORTEXPORT_H*/

Modified: qpid/trunk/qpid/cpp/include/qpid/types/Uuid.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/types/Uuid.h?rev=1104559&r1=1104558&r2=1104559&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/types/Uuid.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/types/Uuid.h Tue May 17 21:02:34 2011
@@ -29,7 +29,7 @@
 namespace qpid {
 namespace types {
 
-class Uuid
+class QPID_TYPES_CLASS_EXTERN Uuid
 {
   public:
     static const size_t SIZE;



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org


Mime
View raw message