You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by sh...@apache.org on 2009/03/12 21:55:41 UTC

svn commit: r753014 [3/6] - in /qpid/trunk/qpid/cpp: docs/api/ examples/ examples/direct/ examples/failover/ examples/fanout/ examples/pub-sub/ examples/qmf-console/ examples/request-response/ examples/tradedemo/ rubygen/framing.0-10/ src/ src/qpid/ sr...

Modified: qpid/trunk/qpid/cpp/src/qpid/client/Connection.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Connection.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/Connection.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/Connection.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 #include <map>
 #include <string>
 #include "qpid/client/Session.h"
+#include "qpid/client/ClientImportExport.h"
 
 namespace qpid {
 
@@ -58,9 +59,9 @@
      * Creates a connection object, but does not open the connection.
      * @see open()
      */
-    Connection();
+    QPID_CLIENT_EXTERN Connection();
 
-    ~Connection();
+    QPID_CLIENT_EXTERN ~Connection();
 
     /**
      * Opens a connection to a broker.
@@ -79,7 +80,7 @@
      * hosts, where implemented(!), provide namespace partitioning
      * within a single broker).
      */
-    void open(const std::string& host, int port = 5672, 
+    QPID_CLIENT_EXTERN void open(const std::string& host, int port = 5672, 
               const std::string& uid = "guest",
               const std::string& pwd = "guest", 
               const std::string& virtualhost = "/", uint16_t maxFrameSize=65535);
@@ -101,7 +102,7 @@
      * hosts, where implemented(!), provide namespace partitioning
      * within a single broker).
      */
-    void open(const Url& url,
+    QPID_CLIENT_EXTERN void open(const Url& url,
               const std::string& uid = "guest",
               const std::string& pwd = "guest", 
               const std::string& virtualhost = "/", uint16_t maxFrameSize=65535);
@@ -116,14 +117,14 @@
      * @param settings used for any settings not provided by the URL.
      * Settings provided by the url (e.g. host, port) are ignored.
      */
-    void open(const Url& url, const ConnectionSettings& settings);
+    QPID_CLIENT_EXTERN void open(const Url& url, const ConnectionSettings& settings);
 
     /**
      * Opens a connection to a broker.
      * 
      * @param the settings to use (host, port etc). @see ConnectionSettings.
      */
-    void open(const ConnectionSettings& settings);
+    QPID_CLIENT_EXTERN void open(const ConnectionSettings& settings);
 
     /**
      * Close the connection.
@@ -131,7 +132,7 @@
      * Any further use of this connection (without reopening it) will
      * not succeed.
      */
-    void close();
+    QPID_CLIENT_EXTERN void close();
 
     /**
      * Create a new session on this connection.  Sessions allow
@@ -174,23 +175,23 @@
      * If the name is empty (the default) then a unique name will be
      * chosen using a Universally-unique identifier (UUID) algorithm.
      */
-    Session newSession(const std::string& name=std::string(), uint32_t timeoutSeconds = 0);
+    QPID_CLIENT_EXTERN Session newSession(const std::string& name=std::string(), uint32_t timeoutSeconds = 0);
 
     /**
      * Resume a suspended session. A session may be resumed
      * on a different connection to the one that created it.
      */
-    void resume(Session& session);
+    QPID_CLIENT_EXTERN void resume(Session& session);
 
-    bool isOpen() const;
+    QPID_CLIENT_EXTERN bool isOpen() const;
 
-    std::vector<Url> getKnownBrokers();
-    void registerFailureCallback ( boost::function<void ()> fn );
+    QPID_CLIENT_EXTERN std::vector<Url> getKnownBrokers();
+    QPID_CLIENT_EXTERN void registerFailureCallback ( boost::function<void ()> fn );
 
     /**
      * Return the set of client negotiated settings
      */
-    const ConnectionSettings& getNegotiatedSettings();
+    QPID_CLIENT_EXTERN const ConnectionSettings& getNegotiatedSettings();
 
   friend class ConnectionAccess; ///<@internal
   friend class SessionBase_0_10; ///<@internal

Modified: qpid/trunk/qpid/cpp/src/qpid/client/ConnectionSettings.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/ConnectionSettings.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/ConnectionSettings.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/ConnectionSettings.h Thu Mar 12 20:55:34 2009
@@ -25,6 +25,7 @@
 #include "qpid/Options.h"
 #include "qpid/log/Options.h"
 #include "qpid/Url.h"
+#include "qpid/client/ClientImportExport.h"
 
 #include <iostream>
 #include <exception>
@@ -42,14 +43,14 @@
  */
 struct ConnectionSettings {
 
-    ConnectionSettings();
-    virtual ~ConnectionSettings();
+    QPID_CLIENT_EXTERN ConnectionSettings();
+    QPID_CLIENT_EXTERN virtual ~ConnectionSettings();
 
     /**
      * Allows socket to be configured; default only sets tcp-nodelay
      * based on the flag set. Can be overridden.
      */
-    virtual void configureSocket(qpid::sys::Socket&) const;
+    QPID_CLIENT_EXTERN virtual void configureSocket(qpid::sys::Socket&) const;
 
     /**
      * The protocol used for the connection (defaults to 'tcp')

Modified: qpid/trunk/qpid/cpp/src/qpid/client/FailoverManager.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/FailoverManager.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/FailoverManager.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/FailoverManager.h Thu Mar 12 20:55:34 2009
@@ -27,6 +27,7 @@
 #include "qpid/Exception.h"
 #include "qpid/client/AsyncSession.h"
 #include "qpid/sys/Monitor.h"
+#include "qpid/client/ClientImportExport.h"
 #include <vector>
 
 namespace qpid {
@@ -84,7 +85,7 @@
      * to edit or reorder the list of urls to which reconnection is
      * attempted
      */
-    FailoverManager(const ConnectionSettings& settings, ReconnectionStrategy* strategy = 0);
+    QPID_CLIENT_EXTERN FailoverManager(const ConnectionSettings& settings, ReconnectionStrategy* strategy = 0);
     /**
      * Return the current connection if open or attept to reconnect to
      * the specified list of urls. If no list is specified the list of
@@ -95,15 +96,15 @@
      * If the full list is tried and all attempts fail,
      * CannotConnectException is thrown.
      */
-    Connection& connect(std::vector<Url> brokers = std::vector<Url>());
+    QPID_CLIENT_EXTERN Connection& connect(std::vector<Url> brokers = std::vector<Url>());
     /**
      * Return the current connection whether open or not
      */
-    Connection& getConnection();
+    QPID_CLIENT_EXTERN Connection& getConnection();
     /**
      * Close the current connection
      */
-    void close();
+    QPID_CLIENT_EXTERN void close();
     /**
      * Reliably execute the specified command. This involves creating
      * a session on which to carry out the work of the command,
@@ -116,7 +117,7 @@
      * on failover to ensure they continue to use the same logical
      * connection.
      */
-    void execute(Command&);
+    QPID_CLIENT_EXTERN void execute(Command&);
   private:
     enum State {IDLE, CONNECTING, CANT_CONNECT};
 

Modified: qpid/trunk/qpid/cpp/src/qpid/client/Future.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Future.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/Future.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/Future.h Thu Mar 12 20:55:34 2009
@@ -30,6 +30,7 @@
 #include "FutureCompletion.h"
 #include "FutureResult.h"
 #include "SessionImpl.h"
+#include "ClientImportExport.h"
 
 namespace qpid {
 namespace client {
@@ -54,9 +55,9 @@
         }
     }
 
-    void wait(SessionImpl& session);
-    bool isComplete(SessionImpl& session);
-    void setFutureResult(boost::shared_ptr<FutureResult> r);
+    QPID_CLIENT_EXTERN void wait(SessionImpl& session);
+    QPID_CLIENT_EXTERN bool isComplete(SessionImpl& session);
+    QPID_CLIENT_EXTERN void setFutureResult(boost::shared_ptr<FutureResult> r);
 };
 
 }}

Modified: qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/FutureResult.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,8 @@
 #define _FutureResult_
 
 #include <string>
+
+#include "ClientImportExport.h"
 #include "qpid/framing/amqp_framing.h"
 #include "FutureCompletion.h"
 
@@ -36,7 +38,7 @@
 {
     std::string result;
 public:
-    const std::string& getResult(SessionImpl& session) const;
+    QPID_CLIENT_EXTERN const std::string& getResult(SessionImpl& session) const;
     void received(const std::string& result);
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/client/Handle.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Handle.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/Handle.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/Handle.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,8 @@
  *
  */
 
+#include "qpid/client/ClientImportExport.h"
+
 namespace qpid {
 namespace client {
 
@@ -34,23 +36,23 @@
  */
 template <class T> class Handle {
   public:
-    ~Handle();
-    Handle(const Handle&);
-    Handle& operator=(const Handle&);
+    QPID_CLIENT_EXTERN ~Handle();
+    QPID_CLIENT_EXTERN Handle(const Handle&);
+    QPID_CLIENT_EXTERN Handle& operator=(const Handle&);
 
     /**@return true if handle is valid,  i.e. not null. */
-    bool isValid() const { return impl; }
+    QPID_CLIENT_EXTERN bool isValid() const { return impl; }
 
     /**@return true if handle is null. It is an error to call any function on a null handle. */
-    bool isNull() const { return !impl; }
+    QPID_CLIENT_EXTERN bool isNull() const { return !impl; }
 
-    operator bool() const { return impl; }
-    bool operator !() const { return impl; }
+    QPID_CLIENT_EXTERN operator bool() const { return impl; }
+    QPID_CLIENT_EXTERN bool operator !() const { return impl; }
 
-    void swap(Handle<T>&);
+    QPID_CLIENT_EXTERN void swap(Handle<T>&);
 
   protected:
-    Handle(T* =0);
+    QPID_CLIENT_EXTERN Handle(T* =0);
     T* impl;
 
   friend class HandlePrivate<T>;

Modified: qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/LocalQueue.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "ClientImportExport.h"
 #include "qpid/client/Message.h"
 #include "qpid/client/Subscription.h"
 #include "qpid/client/Demux.h"
@@ -75,16 +76,16 @@
      *
      * LocalQueue is an alternative to implementing a MessageListener.
      */
-    LocalQueue();
+    QPID_CLIENT_EXTERN LocalQueue();
 
-    ~LocalQueue();
+    QPID_CLIENT_EXTERN ~LocalQueue();
 
     /** Wait up to timeout for the next message from the local queue.
      *@param result Set to the message from the queue.
      *@param timeout wait up this timeout for a message to appear. 
      *@return true if result was set, false if queue was empty after timeout.
      */
-    bool get(Message& result, sys::Duration timeout=0);
+    QPID_CLIENT_EXTERN bool get(Message& result, sys::Duration timeout=0);
 
     /** Get the next message off the local queue, or wait up to the timeout
      * for message from the broker queue.
@@ -92,16 +93,16 @@
      *@return message from the queue.
      *@throw ClosedException if subscription is closed or timeout exceeded.
      */
-    Message get(sys::Duration timeout=sys::TIME_INFINITE);
+    QPID_CLIENT_EXTERN Message get(sys::Duration timeout=sys::TIME_INFINITE);
 
     /** Synonym for get() */
-    Message pop(sys::Duration timeout=sys::TIME_INFINITE);
+    QPID_CLIENT_EXTERN Message pop(sys::Duration timeout=sys::TIME_INFINITE);
 
     /** Return true if local queue is empty. */
-    bool empty() const;
+    QPID_CLIENT_EXTERN bool empty() const;
 
     /** Number of messages on the local queue */
-    size_t size() const;
+    QPID_CLIENT_EXTERN size_t size() const;
 
   private:
     Demux::QueuePtr queue;

Modified: qpid/trunk/qpid/cpp/src/qpid/client/Message.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Message.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/Message.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/Message.h Thu Mar 12 20:55:34 2009
@@ -25,6 +25,7 @@
 #include "qpid/client/Session.h"
 #include "qpid/framing/MessageTransferBody.h"
 #include "qpid/framing/TransferContent.h"
+#include "qpid/client/ClientImportExport.h"
 
 namespace qpid {
 namespace client {
@@ -111,7 +112,7 @@
      *@param data Data for the message body.
      *@param routingKey Passed to the exchange that routes the message.
      */
-    Message(const std::string& data=std::string(),
+    QPID_CLIENT_EXTERN Message(const std::string& data=std::string(),
             const std::string& routingKey=std::string());
 
     /** The destination of messages sent to the broker is the exchange
@@ -119,26 +120,26 @@
      * the delivery tag identifyig the local subscription (often this
      * is the name of the subscribed queue.)
      */
-    std::string getDestination() const;
+    QPID_CLIENT_EXTERN std::string getDestination() const;
 
     /** Check the redelivered flag. */
-    bool isRedelivered() const;
+    QPID_CLIENT_EXTERN bool isRedelivered() const;
     /** Set the redelivered flag. */
-    void setRedelivered(bool redelivered);
+    QPID_CLIENT_EXTERN void setRedelivered(bool redelivered);
 
     /** Get a modifyable reference to the message headers. */
-    framing::FieldTable& getHeaders();
+    QPID_CLIENT_EXTERN framing::FieldTable& getHeaders();
 
     /** Get a non-modifyable reference to the message headers. */
-    const framing::FieldTable& getHeaders() const;
+    QPID_CLIENT_EXTERN const framing::FieldTable& getHeaders() const;
 
     ///@internal
-    const framing::MessageTransferBody& getMethod() const;
+    QPID_CLIENT_EXTERN const framing::MessageTransferBody& getMethod() const;
     ///@internal
-    const framing::SequenceNumber& getId() const;
+    QPID_CLIENT_EXTERN const framing::SequenceNumber& getId() const;
 
     /**@internal for incoming messages */
-    Message(const framing::FrameSet& frameset);
+    QPID_CLIENT_EXTERN Message(const framing::FrameSet& frameset);
     
 private:
     //method and id are only set for received messages:

Modified: qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/MessageListener.h Thu Mar 12 20:55:34 2009
@@ -19,6 +19,7 @@
  *
  */
 #include <string>
+#include "qpid/client/ClientImportExport.h"
 
 #ifndef _MessageListener_
 #define _MessageListener_
@@ -85,7 +86,7 @@
 
     class MessageListener{
     public:
-        virtual ~MessageListener();
+        QPID_CLIENT_EXTERN virtual ~MessageListener();
 
         /** Called for each message arriving from the broker. Override
          * in your own subclass to process messages.

Modified: qpid/trunk/qpid/cpp/src/qpid/client/MessageReplayTracker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/MessageReplayTracker.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/MessageReplayTracker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/MessageReplayTracker.h Thu Mar 12 20:55:34 2009
@@ -23,7 +23,7 @@
  */
 #include "AsyncSession.h"
 #include "Message.h"
-
+#include "qpid/client/ClientImportExport.h"
 #include <list>
 #include <string>
 
@@ -37,13 +37,13 @@
 class MessageReplayTracker
 {
   public:
-    MessageReplayTracker(uint flushInterval);
-    void send(const Message& message, const std::string& destination = "");
-    void init(AsyncSession session);
-    void replay(AsyncSession session);
-    void setFlushInterval(uint interval);
-    uint getFlushInterval();
-    void checkCompletion();
+    QPID_CLIENT_EXTERN MessageReplayTracker(uint flushInterval);
+    QPID_CLIENT_EXTERN void send(const Message& message, const std::string& destination = "");
+    QPID_CLIENT_EXTERN void init(AsyncSession session);
+    QPID_CLIENT_EXTERN void replay(AsyncSession session);
+    QPID_CLIENT_EXTERN void setFlushInterval(uint interval);
+    QPID_CLIENT_EXTERN uint getFlushInterval();
+    QPID_CLIENT_EXTERN void checkCompletion();
 
     template <class F> void foreach(F& f) {
         for (std::list<ReplayRecord>::const_iterator i = buffer.begin(); i != buffer.end(); i++) {

Modified: qpid/trunk/qpid/cpp/src/qpid/client/QueueOptions.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/QueueOptions.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/QueueOptions.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/QueueOptions.h Thu Mar 12 20:55:34 2009
@@ -18,6 +18,8 @@
  * under the License.
  *
  */
+
+#include "ClientImportExport.h"
 #include "qpid/framing/FieldTable.h"
 
 #ifndef _QueueOptions_
@@ -36,8 +38,8 @@
 class QueueOptions: public framing::FieldTable
 {
   public:
-    QueueOptions();
-    virtual ~QueueOptions();
+    QPID_CLIENT_EXTERN QueueOptions();
+    QPID_CLIENT_EXTERN virtual ~QueueOptions();
 	
     /**
      * Sets the queue sizing policy
@@ -51,58 +53,58 @@
      * @param maxSize Set the max number of bytes for the sizing policies
      * @param setMaxCount Set the max number of messages for the sizing policies
      */
-    void setSizePolicy(QueueSizePolicy sp, uint64_t maxSize, uint32_t maxCount );
+    QPID_CLIENT_EXTERN void setSizePolicy(QueueSizePolicy sp, uint64_t maxSize, uint32_t maxCount );
 
     /**
      * Enables the persisting of a queue to the store module when a cluster fails down to it's last
      * node. Does so optimistically. Will start persisting when cluster count >1 again.
      */
-    void setPersistLastNode();
+    QPID_CLIENT_EXTERN void setPersistLastNode();
 	
     /**
      * Sets the odering policy on the Queue, default ordering is FIFO.
      */
-    void setOrdering(QueueOrderingPolicy op);
+    QPID_CLIENT_EXTERN void setOrdering(QueueOrderingPolicy op);
     
     /**
      * Use broker defualt sizing ploicy
      */
-    void clearSizePolicy();
+    QPID_CLIENT_EXTERN void clearSizePolicy();
 	
     /**
      * Clear Persist Last Node Policy
      */ 
-    void clearPersistLastNode();
+    QPID_CLIENT_EXTERN void clearPersistLastNode();
 	
     /**
      * get the key used match LVQ in args for message transfer 
      */
-    void getLVQKey(std::string& key);
+    QPID_CLIENT_EXTERN void getLVQKey(std::string& key);
 		
     /**
      * Use default odering policy
      */ 
-    void clearOrdering();
+    QPID_CLIENT_EXTERN void clearOrdering();
 
     /**
      * Turns on event generation for this queue (either enqueue only
      * or for enqueue and dequeue events); the events can then be
      * processed by a regsitered broker plugin.
      */
-    void enableQueueEvents(bool enqueueOnly);
+    QPID_CLIENT_EXTERN void enableQueueEvents(bool enqueueOnly);
 	
-    static const std::string strMaxCountKey;
-    static const std::string strMaxSizeKey;
-    static const std::string strTypeKey;
-    static const std::string strREJECT;
-    static const std::string strFLOW_TO_DISK;
-    static const std::string strRING;
-    static const std::string strRING_STRICT;
-    static const std::string strLastValueQueue;
-    static const std::string strPersistLastNode;
-    static const std::string strLVQMatchProperty;
-    static const std::string strLastValueQueueNoBrowse;
-    static const std::string strQueueEventMode;
+    static QPID_CLIENT_EXTERN const std::string strMaxCountKey;
+    static QPID_CLIENT_EXTERN const std::string strMaxSizeKey;
+    static QPID_CLIENT_EXTERN const std::string strTypeKey;
+    static QPID_CLIENT_EXTERN const std::string strREJECT;
+    static QPID_CLIENT_EXTERN const std::string strFLOW_TO_DISK;
+    static QPID_CLIENT_EXTERN const std::string strRING;
+    static QPID_CLIENT_EXTERN const std::string strRING_STRICT;
+    static QPID_CLIENT_EXTERN const std::string strLastValueQueue;
+    static QPID_CLIENT_EXTERN const std::string strPersistLastNode;
+    static QPID_CLIENT_EXTERN const std::string strLVQMatchProperty;
+    static QPID_CLIENT_EXTERN const std::string strLastValueQueueNoBrowse;
+    static QPID_CLIENT_EXTERN const std::string strQueueEventMode;
 };
 
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/SessionBase_0_10.h Thu Mar 12 20:55:34 2009
@@ -33,6 +33,7 @@
 #include "qpid/client/SessionImpl.h"
 #include "qpid/client/TypedResult.h"
 #include "qpid/shared_ptr.h"
+#include "qpid/client/ClientImportExport.h"
 #include <string>
 
 namespace qpid {
@@ -65,19 +66,19 @@
     typedef framing::TransferContent DefaultContent;
 
     ///@internal
-    SessionBase_0_10();
-    ~SessionBase_0_10();
+    QPID_CLIENT_EXTERN SessionBase_0_10();
+    QPID_CLIENT_EXTERN ~SessionBase_0_10();
 
     /** Get the next message frame-set from the session. */
-    framing::FrameSet::shared_ptr get();
+    QPID_CLIENT_EXTERN framing::FrameSet::shared_ptr get();
     
     /** Get the session ID */
-    SessionId getId() const;         
+    QPID_CLIENT_EXTERN SessionId getId() const;         
 
     /** Close the session.
      * A session is automatically closed when all handles to it are destroyed.
      */
-    void close();
+    QPID_CLIENT_EXTERN void close();
     
     /**
      * Synchronize the session: sync() waits until all commands issued
@@ -88,25 +89,25 @@
      * AsyncSession::executionSync() directly in the unusual event
      * that you want to do an asynchronous sync.
      */
-    void sync();
+    QPID_CLIENT_EXTERN void sync();
 
     /** Set the timeout for this session. */
-    uint32_t timeout(uint32_t seconds);
+    QPID_CLIENT_EXTERN uint32_t timeout(uint32_t seconds);
 
     /** Suspend the session - detach it from its connection */
-    void suspend();
+    QPID_CLIENT_EXTERN void suspend();
 
     /** Resume a suspended session with a new connection */
-    void resume(Connection);
+    QPID_CLIENT_EXTERN void resume(Connection);
 
     /** Get the channel associated with this session */
-    uint16_t getChannel() const;
+    QPID_CLIENT_EXTERN uint16_t getChannel() const;
 
-    Execution& getExecution();  
-    void flush();
-    void markCompleted(const framing::SequenceSet& ids, bool notifyPeer);
-    void markCompleted(const framing::SequenceNumber& id, bool cumulative, bool notifyPeer);
-    void sendCompletion();
+    QPID_CLIENT_EXTERN Execution& getExecution();  
+    QPID_CLIENT_EXTERN void flush();
+    QPID_CLIENT_EXTERN void markCompleted(const framing::SequenceSet& ids, bool notifyPeer);
+    QPID_CLIENT_EXTERN void markCompleted(const framing::SequenceNumber& id, bool cumulative, bool notifyPeer);
+    QPID_CLIENT_EXTERN void sendCompletion();
 
   protected:
     boost::shared_ptr<SessionImpl> impl;

Modified: qpid/trunk/qpid/cpp/src/qpid/client/Subscription.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/Subscription.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/Subscription.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/Subscription.h Thu Mar 12 20:55:34 2009
@@ -26,6 +26,7 @@
 #include "qpid/client/SubscriptionSettings.h"
 #include "qpid/client/Handle.h"
 #include "qpid/client/Message.h"
+#include "qpid/client/ClientImportExport.h"
 
 namespace qpid {
 namespace client {
@@ -39,74 +40,74 @@
  */
 class Subscription : public Handle<SubscriptionImpl> {
   public:
-    Subscription(SubscriptionImpl* si=0) : Handle<SubscriptionImpl>(si) {}
+    QPID_CLIENT_EXTERN Subscription(SubscriptionImpl* si=0) : Handle<SubscriptionImpl>(si) {}
     
-    /** The name of the subsctription, used as the "destination" for messages from the broker.
+    /** The name of the subscription, used as the "destination" for messages from the broker.
      * Usually the same as the queue name but can be set differently.
      */
-    std::string getName() const;
+    QPID_CLIENT_EXTERN std::string getName() const;
 
     /** Name of the queue this subscription subscribes to */
-    std::string getQueue() const;
+    QPID_CLIENT_EXTERN std::string getQueue() const;
 
     /** Get the flow control and acknowledgement settings for this subscription */
-    const SubscriptionSettings& getSettings() const;
+    QPID_CLIENT_EXTERN const SubscriptionSettings& getSettings() const;
 
     /** Set the flow control parameters */
-    void setFlowControl(const FlowControl&);
+    QPID_CLIENT_EXTERN void setFlowControl(const FlowControl&);
 
     /** Automatically acknowledge (acquire and accept) batches of n messages.
      * You can disable auto-acknowledgement by setting n=0, and use acquire() and accept()
      * to manually acquire and accept messages.
      */
-    void setAutoAck(unsigned int n);
+    QPID_CLIENT_EXTERN void setAutoAck(unsigned int n);
 
     /** Get the set of ID's for messages received by this subscription but not yet acquired.
      * This will always be empty if getSettings().acquireMode=ACQUIRE_MODE_PRE_ACQUIRED
      */
-    SequenceSet getUnacquired() const;
+    QPID_CLIENT_EXTERN SequenceSet getUnacquired() const;
 
     /** Get the set of ID's for messages received by this subscription but not yet accepted. */
-    SequenceSet getUnaccepted() const;
+    QPID_CLIENT_EXTERN SequenceSet getUnaccepted() const;
 
     /** Acquire messageIds and remove them from the unacquired set.
      * oAdd them to the unaccepted set if getSettings().acceptMode == ACCEPT_MODE_EXPLICIT.
      */
-    void acquire(const SequenceSet& messageIds);
+    QPID_CLIENT_EXTERN void acquire(const SequenceSet& messageIds);
 
     /** Accept messageIds and remove them from the unaccepted set.
      *@pre messageIds is a subset of getUnaccepted()
      */
-    void accept(const SequenceSet& messageIds);
+    QPID_CLIENT_EXTERN void accept(const SequenceSet& messageIds);
 
     /** Release messageIds and remove them from the unaccepted set.
      *@pre messageIds is a subset of getUnaccepted()
      */
-    void release(const SequenceSet& messageIds);
+    QPID_CLIENT_EXTERN void release(const SequenceSet& messageIds);
 
     /* Acquire a single message */
-    void acquire(const Message& m) { acquire(SequenceSet(m.getId())); }
+    QPID_CLIENT_EXTERN void acquire(const Message& m) { acquire(SequenceSet(m.getId())); }
 
     /* Accept a single message */
-    void accept(const Message& m) { accept(SequenceSet(m.getId())); }
+    QPID_CLIENT_EXTERN void accept(const Message& m) { accept(SequenceSet(m.getId())); }
 
     /* Release a single message */
-    void release(const Message& m) { release(SequenceSet(m.getId())); }
+    QPID_CLIENT_EXTERN void release(const Message& m) { release(SequenceSet(m.getId())); }
 
     /** Get the session associated with this subscription */
-    Session getSession() const;
+    QPID_CLIENT_EXTERN Session getSession() const;
 
     /** Get the subscription manager associated with this subscription */
-    SubscriptionManager& getSubscriptionManager() const;
+    QPID_CLIENT_EXTERN SubscriptionManager& getSubscriptionManager() const;
 
     /** Cancel the subscription. */
-    void cancel();
+    QPID_CLIENT_EXTERN void cancel();
 
     /** Grant the specified amount of message credit */
-    void grantMessageCredit(uint32_t);
+    QPID_CLIENT_EXTERN void grantMessageCredit(uint32_t);
 
     /** Grant the specified amount of byte credit */
-    void grantByteCredit(uint32_t);
+    QPID_CLIENT_EXTERN void grantByteCredit(uint32_t);
 
   friend class SubscriptionManager;
 };

Modified: qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionImpl.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionImpl.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionImpl.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionImpl.h Thu Mar 12 20:55:34 2009
@@ -30,6 +30,7 @@
 #include "qpid/framing/SequenceSet.h"
 #include "qpid/sys/Mutex.h"
 #include "qpid/RefCounted.h"
+#include "qpid/client/ClientImportExport.h"
 #include <memory>
 
 namespace qpid {
@@ -39,62 +40,62 @@
 
 class SubscriptionImpl : public RefCounted, public MessageListener {
   public:
-    SubscriptionImpl(SubscriptionManager&, const std::string& queue,
+    QPID_CLIENT_EXTERN SubscriptionImpl(SubscriptionManager&, const std::string& queue,
                      const SubscriptionSettings&, const std::string& name, MessageListener* =0);
     
     /** The name of the subsctription, used as the "destination" for messages from the broker.
      * Usually the same as the queue name but can be set differently.
      */
-    std::string getName() const;
+    QPID_CLIENT_EXTERN std::string getName() const;
 
     /** Name of the queue this subscription subscribes to */
-    std::string getQueue() const;
+    QPID_CLIENT_EXTERN std::string getQueue() const;
 
     /** Get the flow control and acknowledgement settings for this subscription */
-    const SubscriptionSettings& getSettings() const;
+    QPID_CLIENT_EXTERN const SubscriptionSettings& getSettings() const;
 
     /** Set the flow control parameters */
-    void setFlowControl(const FlowControl&);
+    QPID_CLIENT_EXTERN void setFlowControl(const FlowControl&);
 
     /** Automatically acknowledge (acquire and accept) batches of n messages.
      * You can disable auto-acknowledgement by setting n=0, and use acquire() and accept()
      * to manually acquire and accept messages.
      */
-    void setAutoAck(size_t n);
+    QPID_CLIENT_EXTERN void setAutoAck(size_t n);
 
     /** Get the set of ID's for messages received by this subscription but not yet acquired.
      * This will always be empty if  acquireMode=ACQUIRE_MODE_PRE_ACQUIRED
      */
-    SequenceSet getUnacquired() const;
+    QPID_CLIENT_EXTERN SequenceSet getUnacquired() const;
 
     /** Get the set of ID's for messages acquired by this subscription but not yet accepted. */
-    SequenceSet getUnaccepted() const;
+    QPID_CLIENT_EXTERN SequenceSet getUnaccepted() const;
 
     /** Acquire messageIds and remove them from the un-acquired set for the session. */
-    void acquire(const SequenceSet& messageIds);
+    QPID_CLIENT_EXTERN void acquire(const SequenceSet& messageIds);
 
     /** Accept messageIds and remove them from the un-accepted set for the session. */
-    void accept(const SequenceSet& messageIds);
+    QPID_CLIENT_EXTERN void accept(const SequenceSet& messageIds);
 
     /** Release messageIds and remove them from the un-accepted set for the session. */
-    void release(const SequenceSet& messageIds);
+    QPID_CLIENT_EXTERN void release(const SequenceSet& messageIds);
 
     /** Get the session associated with this subscription */
-    Session getSession() const;
+    QPID_CLIENT_EXTERN Session getSession() const;
 
     /** Get the subscription manager associated with this subscription */
-    SubscriptionManager& getSubscriptionManager() const;
+    QPID_CLIENT_EXTERN SubscriptionManager& getSubscriptionManager() const;
 
     /** Send subscription request and issue appropriate flow control commands. */
-    void subscribe();
+    QPID_CLIENT_EXTERN void subscribe();
 
     /** Cancel the subscription. */
-    void cancel();
+    QPID_CLIENT_EXTERN void cancel();
 
     /** Grant specified credit for this subscription **/
-    void grantCredit(framing::message::CreditUnit unit, uint32_t value);
+    QPID_CLIENT_EXTERN void grantCredit(framing::message::CreditUnit unit, uint32_t value);
 
-    void received(Message&);
+    QPID_CLIENT_EXTERN void received(Message&);
 
     /**
      * Set up demux diversion for messages sent to this subscription
@@ -104,7 +105,7 @@
      * Cancel any demux diversion that may have been setup for this
      * subscription
      */
-    void cancelDiversion();
+    QPID_CLIENT_EXTERN void cancelDiversion();
 
   private:
 

Modified: qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/client/SubscriptionManager.h Thu Mar 12 20:55:34 2009
@@ -30,6 +30,7 @@
 #include <qpid/client/LocalQueue.h>
 #include <qpid/client/Subscription.h>
 #include <qpid/sys/Runnable.h>
+#include <qpid/client/ClientImportExport.h>
 #include <set>
 #include <sstream>
 
@@ -97,7 +98,7 @@
 {
   public:
     /** Create a new SubscriptionManager associated with a session */
-    SubscriptionManager(const Session& session);
+    QPID_CLIENT_EXTERN SubscriptionManager(const Session& session);
     
     /**
      * Subscribe a MessagesListener to receive messages from queue.
@@ -110,7 +111,7 @@
      *@param settings settings for the subscription.
      *@param name unique destination name for the subscription, defaults to queue name.
      */
-    Subscription subscribe(MessageListener& listener,
+    QPID_CLIENT_EXTERN Subscription subscribe(MessageListener& listener,
                            const std::string& queue,
                            const SubscriptionSettings& settings,
                            const std::string& name=std::string());
@@ -125,7 +126,7 @@
      *@param name unique destination name for the subscription, defaults to queue name.
      * If not specified, the queue name is used.
      */
-    Subscription subscribe(LocalQueue& localQueue,
+    QPID_CLIENT_EXTERN Subscription subscribe(LocalQueue& localQueue,
                            const std::string& queue,
                            const SubscriptionSettings& settings,
                            const std::string& name=std::string());
@@ -141,7 +142,7 @@
      *@param name unique destination name for the subscription, defaults to queue name.
      * If not specified, the queue name is used.
      */
-    Subscription subscribe(MessageListener& listener,
+    QPID_CLIENT_EXTERN Subscription subscribe(MessageListener& listener,
                            const std::string& queue,
                            const std::string& name=std::string());
 
@@ -154,7 +155,7 @@
      *@param name unique destination name for the subscription, defaults to queue name.
      * If not specified, the queue name is used.
      */
-    Subscription subscribe(LocalQueue& localQueue,
+    QPID_CLIENT_EXTERN Subscription subscribe(LocalQueue& localQueue,
                            const std::string& queue,
                            const std::string& name=std::string());
 
@@ -164,53 +165,53 @@
      *@param timeout wait up this timeout for a message to appear. 
      *@return true if result was set, false if no message available after timeout.
      */
-    bool get(Message& result, const std::string& queue, sys::Duration timeout=0);
+    QPID_CLIENT_EXTERN bool get(Message& result, const std::string& queue, sys::Duration timeout=0);
 
     /** Get a single message from a queue.
      *@param timeout wait up this timeout for a message to appear. 
      *@return message from the queue.
      *@throw Exception if the timeout is exceeded.
      */
-    Message get(const std::string& queue, sys::Duration timeout=sys::TIME_INFINITE);
+    QPID_CLIENT_EXTERN Message get(const std::string& queue, sys::Duration timeout=sys::TIME_INFINITE);
 
     /** Get a subscription by name.
      *@throw Exception if not found.
      */
-    Subscription getSubscription(const std::string& name) const;
+    QPID_CLIENT_EXTERN Subscription getSubscription(const std::string& name) const;
     
     /** Cancel a subscription. See also: Subscription.cancel() */
-    void cancel(const std::string& name);
+    QPID_CLIENT_EXTERN void cancel(const std::string& name);
 
     /** Deliver messages in the current thread until stop() is called.
      * Only one thread may be running in a SubscriptionManager at a time.
      * @see run
      */
-    void run();
+    QPID_CLIENT_EXTERN void run();
 
     /** Start a new thread to deliver messages.
      * Only one thread may be running in a SubscriptionManager at a time.
      * @see start
      */
-    void start();
+    QPID_CLIENT_EXTERN void start();
 
     /**
      * Wait for the thread started by a call to start() to complete.
      */
-    void wait();
+    QPID_CLIENT_EXTERN void wait();
     
     /** If set true, run() will stop when all subscriptions
      * are cancelled. If false, run will only stop when stop()
      * is called. True by default.
      */
-    void setAutoStop(bool set=true);
+    QPID_CLIENT_EXTERN void setAutoStop(bool set=true);
 
     /** Stop delivery. Causes run() to return, or the thread started with start() to exit. */
-    void stop();
+    QPID_CLIENT_EXTERN void stop();
 
     static const uint32_t UNLIMITED=0xFFFFFFFF;
 
     /** Set the flow control for a subscription. */
-    void setFlowControl(const std::string& name, const FlowControl& flow);
+    QPID_CLIENT_EXTERN void setFlowControl(const std::string& name, const FlowControl& flow);
 
     /** Set the flow control for a subscription.
      *@param name: name of the subscription.
@@ -218,22 +219,22 @@
      *@param bytes: byte credit.
      *@param window: if true use window-based flow control.
      */
-    void setFlowControl(const std::string& name, uint32_t messages,  uint32_t bytes, bool window=true);
+    QPID_CLIENT_EXTERN void setFlowControl(const std::string& name, uint32_t messages,  uint32_t bytes, bool window=true);
 
     /** Set the default settings for subscribe() calls that don't
      * include a SubscriptionSettings parameter.
      */
-    void setDefaultSettings(const SubscriptionSettings& s) { defaultSettings = s; }
+    QPID_CLIENT_EXTERN void setDefaultSettings(const SubscriptionSettings& s) { defaultSettings = s; }
 
     /** Get the default settings for subscribe() calls that don't
      * include a SubscriptionSettings parameter.
      */
-    const SubscriptionSettings& getDefaultSettings() const { return defaultSettings; }
+    QPID_CLIENT_EXTERN const SubscriptionSettings& getDefaultSettings() const { return defaultSettings; }
 
     /** Get the default settings for subscribe() calls that don't
      * include a SubscriptionSettings parameter.
      */
-    SubscriptionSettings& getDefaultSettings() { return defaultSettings; }
+    QPID_CLIENT_EXTERN SubscriptionSettings& getDefaultSettings() { return defaultSettings; }
 
     /**
      * Set the default flow control settings for subscribe() calls
@@ -243,7 +244,7 @@
      *@param bytes: byte credit.
      *@param window: if true use window-based flow control.
      */
-    void setFlowControl(uint32_t messages,  uint32_t bytes, bool window=true) {
+    QPID_CLIENT_EXTERN void setFlowControl(uint32_t messages,  uint32_t bytes, bool window=true) {
         defaultSettings.flowControl = FlowControl(messages, bytes, window);
     }
 
@@ -251,16 +252,16 @@
      *Set the default accept-mode for subscribe() calls that don't
      *include a SubscriptionSettings parameter.
      */
-    void setAcceptMode(AcceptMode mode) { defaultSettings.acceptMode = mode; }
+    QPID_CLIENT_EXTERN void setAcceptMode(AcceptMode mode) { defaultSettings.acceptMode = mode; }
 
     /**
      * Set the default acquire-mode subscribe()s that don't specify SubscriptionSettings.
      */
-    void setAcquireMode(AcquireMode mode) { defaultSettings.acquireMode = mode; }
+    QPID_CLIENT_EXTERN void setAcquireMode(AcquireMode mode) { defaultSettings.acquireMode = mode; }
 
-    void registerFailoverHandler ( boost::function<void ()> fh );
+    QPID_CLIENT_EXTERN void registerFailoverHandler ( boost::function<void ()> fh );
 
-    Session getSession() const;
+    QPID_CLIENT_EXTERN Session getSession() const;
 
   private:
     mutable sys::Mutex lock;

Modified: qpid/trunk/qpid/cpp/src/qpid/console/Agent.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/Agent.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/Agent.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/Agent.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
 #define _QPID_CONSOLE_AGENT_H_
 
 #include "Broker.h"
+#include "ConsoleImportExport.h"
 
 namespace qpid {
 namespace console {
@@ -30,7 +31,7 @@
      *
      * \ingroup qmfconsoleapi
      */
-    class Agent {
+    class QPID_CONSOLE_EXTERN Agent {
     public:
         typedef std::vector<Agent*> Vector;
 
@@ -49,7 +50,7 @@
         const std::string label;
     };
 
-    std::ostream& operator<<(std::ostream& o, const Agent& agent);
+    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Agent& agent);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/Broker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/Broker.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/Broker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/Broker.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _QPID_CONSOLE_BROKER_H_
 #define _QPID_CONSOLE_BROKER_H_
 
+#include "ConsoleImportExport.h"
 #include "qpid/client/Connection.h"
 #include "qpid/client/ConnectionSettings.h"
 #include "qpid/client/SubscriptionManager.h"
@@ -50,8 +51,9 @@
      */
     class Broker : public client::MessageListener {
     public:
-        Broker(SessionManager& sm, client::ConnectionSettings& settings);
-        ~Broker();
+        QPID_CONSOLE_EXTERN Broker(SessionManager& sm,
+                                   client::ConnectionSettings& settings);
+        QPID_CONSOLE_EXTERN ~Broker();
         
         bool isConnected() const { return connected; }
         const std::string& getError() const { return error; }
@@ -61,7 +63,7 @@
         void addBinding(const std::string& key) {
             connThreadBody.bindExchange("qpid.management", key);
         }
-        std::string getUrl() const;
+        QPID_CONSOLE_EXTERN std::string getUrl() const;
 
     private:
         friend class SessionManager;
@@ -120,10 +122,10 @@
         void setBrokerId(const framing::Uuid& id) { brokerId = id; }
         void appendAgents(std::vector<Agent*>& agents) const;
 
-        friend std::ostream& operator<<(std::ostream& o, const Broker& k);
+        friend QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Broker& k);
     };
 
-    std::ostream& operator<<(std::ostream& o, const Broker& k);
+    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Broker& k);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/ClassKey.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
 #define _QPID_CONSOLE_CLASSKEY_H_
 
 #include <string>
+#include "ConsoleImportExport.h"
 #include "Package.h"
 #include "qpid/framing/Buffer.h"
 
@@ -32,7 +33,7 @@
      *
      * \ingroup qmfconsoleapi
      */
-    class ClassKey {
+    class QPID_CONSOLE_EXTERN ClassKey {
     public:
         static const int HASH_SIZE = 16;
 
@@ -57,7 +58,7 @@
         uint8_t hash[HASH_SIZE];
     };
 
-    std::ostream& operator<<(std::ostream& o, const ClassKey& k);
+    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const ClassKey& k);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/ConsoleListener.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/ConsoleListener.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/ConsoleListener.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/ConsoleListener.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
 #define _QPID_CONSOLE_CONSOLE_LISTENER_H_
 
 #include <string>
+#include "ConsoleImportExport.h"
 #include "Broker.h"
 #include "ClassKey.h"
 #include "Object.h"
@@ -36,7 +37,7 @@
      *
      * \ingroup qmfconsoleapi
      */
-    class ConsoleListener{
+    class QPID_CONSOLE_EXTERN ConsoleListener{
     public:
         virtual ~ConsoleListener() {};
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/Event.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/Event.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/Event.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/Event.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _QPID_CONSOLE_EVENT_H_
 #define _QPID_CONSOLE_EVENT_H_
 
+#include "ConsoleImportExport.h"
 #include "Object.h"
 #include "qpid/framing/Uuid.h"
 #include "qpid/framing/FieldTable.h"
@@ -46,26 +47,28 @@
         SEV_WARNING = 4, SEV_NOTICE = 5, SEV_INFO = 6, SEV_DEBUG = 7
         } Severity;
 
-        Event(Broker* broker, SchemaClass* schemaClass, framing::Buffer& buffer);
+        QPID_CONSOLE_EXTERN Event(Broker* broker,
+                                  SchemaClass* schemaClass,
+                                  framing::Buffer& buffer);
         Broker* getBroker() const { return broker; }
-        const ClassKey& getClassKey() const;
+        QPID_CONSOLE_EXTERN const ClassKey& getClassKey() const;
         SchemaClass* getSchema() const { return schema; }
         const Object::AttributeMap& getAttributes() const { return attributes; }
         uint64_t getTimestamp() const { return timestamp; }
         uint8_t getSeverity() const { return severity; }
-        std::string getSeverityString() const;
+        QPID_CONSOLE_EXTERN std::string getSeverityString() const;
 
-        ObjectId attrRef(const std::string& key) const;
-        uint32_t attrUint(const std::string& key) const;
-        int32_t attrInt(const std::string& key) const;
-        uint64_t attrUint64(const std::string& key) const;
-        int64_t attrInt64(const std::string& key) const;
-        std::string attrString(const std::string& key) const;
-        bool attrBool(const std::string& key) const;
-        float attrFloat(const std::string& key) const;
-        double attrDouble(const std::string& key) const;
-        framing::Uuid attrUuid(const std::string& key) const;
-        framing::FieldTable attrMap(const std::string& key) const;
+        QPID_CONSOLE_EXTERN ObjectId attrRef(const std::string& key) const;
+        QPID_CONSOLE_EXTERN uint32_t attrUint(const std::string& key) const;
+        QPID_CONSOLE_EXTERN int32_t attrInt(const std::string& key) const;
+        QPID_CONSOLE_EXTERN uint64_t attrUint64(const std::string& key) const;
+        QPID_CONSOLE_EXTERN int64_t attrInt64(const std::string& key) const;
+        QPID_CONSOLE_EXTERN std::string attrString(const std::string& key) const;
+        QPID_CONSOLE_EXTERN bool attrBool(const std::string& key) const;
+        QPID_CONSOLE_EXTERN float attrFloat(const std::string& key) const;
+        QPID_CONSOLE_EXTERN double attrDouble(const std::string& key) const;
+        QPID_CONSOLE_EXTERN framing::Uuid attrUuid(const std::string& key) const;
+        QPID_CONSOLE_EXTERN framing::FieldTable attrMap(const std::string& key) const;
 
     private:
         Broker* broker;
@@ -75,7 +78,7 @@
         Object::AttributeMap attributes;
     };
 
-    std::ostream& operator<<(std::ostream& o, const Event& event);
+    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Event& event);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/Object.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/Object.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/Object.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/Object.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _QPID_CONSOLE_OBJECT_H_
 #define _QPID_CONSOLE_OBJECT_H_
 
+#include "ConsoleImportExport.h"
 #include "ObjectId.h"
 #include "qpid/framing/Uuid.h"
 #include "qpid/framing/FieldTable.h"
@@ -55,47 +56,50 @@
     public:
         typedef std::vector<Object> Vector;
         struct AttributeMap : public std::map<std::string, boost::shared_ptr<Value> > {
-            void addRef(const std::string& key, const ObjectId& val);
-            void addUint(const std::string& key, uint32_t val);
-            void addInt(const std::string& key, int32_t val);
-            void addUint64(const std::string& key, uint64_t val);
-            void addInt64(const std::string& key, int64_t val);
-            void addString(const std::string& key, const std::string& val);
-            void addBool(const std::string& key, bool val);
-            void addFloat(const std::string& key, float val);
-            void addDouble(const std::string& key, double val);
-            void addUuid(const std::string& key, const framing::Uuid& val);
-            void addMap(const std::string& key, const framing::FieldTable& val);
+            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);
+            QPID_CONSOLE_EXTERN void addUint64(const std::string& key, uint64_t val);
+            QPID_CONSOLE_EXTERN void addInt64(const std::string& key, int64_t val);
+            QPID_CONSOLE_EXTERN void addString(const std::string& key, const std::string& val);
+            QPID_CONSOLE_EXTERN void addBool(const std::string& key, bool val);
+            QPID_CONSOLE_EXTERN void addFloat(const std::string& key, float val);
+            QPID_CONSOLE_EXTERN void addDouble(const std::string& key, double val);
+            QPID_CONSOLE_EXTERN void addUuid(const std::string& key, const framing::Uuid& val);
+            QPID_CONSOLE_EXTERN void addMap(const std::string& key, const framing::FieldTable& val);
         };
 
-        Object(Broker* broker, SchemaClass* schemaClass, framing::Buffer& buffer, bool prop, bool stat);
-        ~Object();
+        QPID_CONSOLE_EXTERN Object(Broker* broker, SchemaClass* schemaClass, framing::Buffer& buffer, bool prop, bool stat);
+        QPID_CONSOLE_EXTERN ~Object();
 
         Broker* getBroker() const { return broker; }
         const ObjectId& getObjectId() const { return objectId; }
-        const ClassKey& getClassKey() const;
+        QPID_CONSOLE_EXTERN const ClassKey& getClassKey() const;
         SchemaClass* getSchema() const { return schema; }
         uint64_t getCurrentTime() const { return currentTime; }
         uint64_t getCreateTime() const { return createTime; }
         uint64_t getDeleteTime() const { return deleteTime; }
         bool isDeleted() const { return deleteTime != 0; }
-        std::string getIndex() const;
-        void mergeUpdate(const Object& updated);
+        QPID_CONSOLE_EXTERN std::string getIndex() const;
+        QPID_CONSOLE_EXTERN void mergeUpdate(const Object& updated);
         const AttributeMap& getAttributes() const { return attributes; }
-        void invokeMethod(const std::string name, const AttributeMap& args, MethodResponse& result);
-        void handleMethodResp(framing::Buffer& buffer, uint32_t sequence);
-
-        ObjectId attrRef(const std::string& key) const;
-        uint32_t attrUint(const std::string& key) const;
-        int32_t attrInt(const std::string& key) const;
-        uint64_t attrUint64(const std::string& key) const;
-        int64_t attrInt64(const std::string& key) const;
-        std::string attrString(const std::string& key) const;
-        bool attrBool(const std::string& key) const;
-        float attrFloat(const std::string& key) const;
-        double attrDouble(const std::string& key) const;
-        framing::Uuid attrUuid(const std::string& key) const;
-        framing::FieldTable attrMap(const std::string& key) const;
+        QPID_CONSOLE_EXTERN void invokeMethod(const std::string name,
+                                              const AttributeMap& args,
+                                              MethodResponse& result);
+        QPID_CONSOLE_EXTERN void handleMethodResp(framing::Buffer& buffer,
+                                                  uint32_t sequence);
+
+        QPID_CONSOLE_EXTERN ObjectId attrRef(const std::string& key) const;
+        QPID_CONSOLE_EXTERN uint32_t attrUint(const std::string& key) const;
+        QPID_CONSOLE_EXTERN int32_t attrInt(const std::string& key) const;
+        QPID_CONSOLE_EXTERN uint64_t attrUint64(const std::string& key) const;
+        QPID_CONSOLE_EXTERN int64_t attrInt64(const std::string& key) const;
+        QPID_CONSOLE_EXTERN std::string attrString(const std::string& key) const;
+        QPID_CONSOLE_EXTERN bool attrBool(const std::string& key) const;
+        QPID_CONSOLE_EXTERN float attrFloat(const std::string& key) const;
+        QPID_CONSOLE_EXTERN double attrDouble(const std::string& key) const;
+        QPID_CONSOLE_EXTERN framing::Uuid attrUuid(const std::string& key) const;
+        QPID_CONSOLE_EXTERN framing::FieldTable attrMap(const std::string& key) const;
 
     private:
         Broker* broker;
@@ -111,7 +115,7 @@
         void parsePresenceMasks(framing::Buffer& buffer, std::set<std::string>& excludeList);
     };
 
-    std::ostream& operator<<(std::ostream& o, const Object& object);
+    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Object& object);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/ObjectId.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/ObjectId.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/ObjectId.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/ObjectId.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
 #define _QPID_CONSOLE_OBJECTID_H
 
 #include <iostream>
+#include "ConsoleImportExport.h"
 #include "qpid/sys/IntegerTypes.h"
 
 namespace qpid {
@@ -34,7 +35,7 @@
      *
      * \ingroup qmfconsoleapi
      */
-    class ObjectId {
+    class QPID_CONSOLE_EXTERN ObjectId {
     public:
         ObjectId() : first(0), second(0) {}
         ObjectId(framing::Buffer& buffer);
@@ -61,7 +62,7 @@
         uint64_t second;
     };
 
-    std::ostream& operator<<(std::ostream& o, const ObjectId& id);
+    QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const ObjectId& id);
 }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/console/Package.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/Package.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/Package.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/Package.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
 
 #include <string>
 #include <map>
+#include "ConsoleImportExport.h"
 #include "qpid/sys/IntegerTypes.h"
 
 namespace qpid {

Modified: qpid/trunk/qpid/cpp/src/qpid/console/SequenceManager.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/SequenceManager.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/SequenceManager.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/SequenceManager.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _QPID_CONSOLE_SEQUENCEMANAGER_H_
 #define _QPID_CONSOLE_SEQUENCEMANAGER_H_
 
+#include "ConsoleImportExport.h"
 #include "qpid/sys/Mutex.h"
 #include <map>
 #include <string>
@@ -38,8 +39,8 @@
         typedef std::set<uint32_t> set;
 
         SequenceManager() : sequence(0) {}
-        uint32_t reserve(const std::string& context = "");
-        std::string release(uint32_t seq);
+        QPID_CONSOLE_EXTERN uint32_t reserve(const std::string& context = "");
+        QPID_CONSOLE_EXTERN std::string release(uint32_t seq);
 
     private:
         sys::Mutex lock;

Modified: qpid/trunk/qpid/cpp/src/qpid/console/SessionManager.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/console/SessionManager.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/console/SessionManager.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/console/SessionManager.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "ConsoleImportExport.h"
 #include "Broker.h"
 #include "Package.h"
 #include "SequenceManager.h"
@@ -80,8 +81,8 @@
      * and bindClass methods.  If userBindings is false, the listener will receive
      * updates for all object classes.
      */
-    SessionManager(ConsoleListener* listener = 0,
-                   Settings settings = Settings());
+    QPID_CONSOLE_EXTERN SessionManager(ConsoleListener* listener = 0,
+                                       Settings settings = Settings());
 
     /** Connect a broker to the console session
      *
@@ -89,32 +90,33 @@
      *@return broker object if operation is successful
      * an exception shall be thrown.
      */
-    Broker* addBroker(client::ConnectionSettings& settings);
+    QPID_CONSOLE_EXTERN Broker* addBroker(client::ConnectionSettings& settings);
 
     /** Disconnect a broker from the console session
      *
      *@param broker The broker object returned from an earlier call to addBroker.
      */
-    void delBroker(Broker* broker);
+    QPID_CONSOLE_EXTERN void delBroker(Broker* broker);
 
     /** Get a list of known management packages
      *
      *@param packages Vector of package names returned by the session manager.
      */
-    void getPackages(NameVector& packages);
+    QPID_CONSOLE_EXTERN void getPackages(NameVector& packages);
 
     /** Get a list of class keys associated with a package
      *
      *@param classKeys List of class keys returned by the session manager.
      *@param packageName Name of package being queried.
      */
-    void getClasses(KeyVector& classKeys, const std::string& packageName);
+    QPID_CONSOLE_EXTERN void getClasses(KeyVector& classKeys,
+                                        const std::string& packageName);
 
     /** Get the schema of a class given its class key
      *
      *@param classKey Class key of the desired schema.
      */
-    SchemaClass& getSchema(const ClassKey& classKey);
+    QPID_CONSOLE_EXTERN SchemaClass& getSchema(const ClassKey& classKey);
 
     /** Request that updates be received for all classes within a package
      *
@@ -123,7 +125,7 @@
      *
      *@param packageName Name of the package to which to bind.
      */
-    void bindPackage(const std::string& packageName);
+    QPID_CONSOLE_EXTERN void bindPackage(const std::string& packageName);
 
     /** Request update to be received for a particular class
      *
@@ -132,8 +134,9 @@
      *
      *@param classKey Class key of class to which to bind.
      */
-    void bindClass(const ClassKey& classKey);
-    void bindClass(const std::string& packageName, const std::string& className);
+    QPID_CONSOLE_EXTERN void bindClass(const ClassKey& classKey);
+    QPID_CONSOLE_EXTERN void bindClass(const std::string& packageName,
+                                       const std::string& className);
 
     /** Get a list of qmf agents known to the session manager.
      *
@@ -141,7 +144,8 @@
      *@param broker Return agents registered with this broker only.  If NULL, return agents
      * from all connected brokers.
      */
-    void getAgents(Agent::Vector& agents, Broker* broker = 0);
+    QPID_CONSOLE_EXTERN void getAgents(Agent::Vector& agents,
+                                       Broker* broker = 0);
 
     /** Get objects from agents.  There are four variants of this method with different ways of
      * specifying from which class objects are being queried.
@@ -153,8 +157,10 @@
      *@param broker Restrict the query to this broker, or all brokers if NULL.
      *@param agent Restrict the query to this agent, or all agents if NULL.
      */
-    void getObjects(Object::Vector& objects, const std::string& className,
-                    Broker* broker = 0, Agent* agent = 0);
+    QPID_CONSOLE_EXTERN void getObjects(Object::Vector& objects,
+                                        const std::string& className,
+                                        Broker* broker = 0,
+                                        Agent* agent = 0);
     //void getObjects(Object::Vector& objects, const ClassKey& classKey,
     //                Broker* broker = 0, Agent* agent = 0);
     //void getObjects(Object::Vector& objects, const ObjectId& objectId,

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AMQBody.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AMQBody.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AMQBody.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AMQBody.h Thu Mar 12 20:55:34 2009
@@ -26,6 +26,7 @@
 #include "qpid/framing/BodyFactory.h"
 #include <boost/intrusive_ptr.hpp>
 #include <ostream>
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 namespace framing {
@@ -48,7 +49,7 @@
 class AMQBody : public RefCounted {
   public:
     AMQBody() {}
-    virtual ~AMQBody();
+    QPID_COMMON_EXTERN virtual ~AMQBody();
 
     // Make AMQBody copyable even though RefCounted. 
     AMQBody(const AMQBody&) : RefCounted() {}  
@@ -71,7 +72,7 @@
     virtual boost::intrusive_ptr<AMQBody> clone() const = 0;
 };
 
-std::ostream& operator<<(std::ostream& out, const AMQBody& body) ;
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& out, const AMQBody& body) ;
 
 enum BodyTypes {
     METHOD_BODY = 1,

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AMQContentBody.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AMQContentBody.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AMQContentBody.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AMQContentBody.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #include "amqp_types.h"
 #include "AMQBody.h"
 #include "Buffer.h"
+#include "qpid/CommonImportExport.h"
 
 #ifndef _AMQContentBody_
 #define _AMQContentBody_
@@ -33,18 +34,18 @@
     string data;
 
 public:
-    AMQContentBody();
-    AMQContentBody(const string& data);
+    QPID_COMMON_EXTERN AMQContentBody();
+    QPID_COMMON_EXTERN AMQContentBody(const string& data);
     inline virtual ~AMQContentBody(){}
-    inline uint8_t type() const { return CONTENT_BODY; };
-    inline const string& getData() const { return data; }
-    inline string& getData() { return data; }
-    uint32_t encodedSize() const;
-    void encode(Buffer& buffer) const;
-    void decode(Buffer& buffer, uint32_t size);
-    void print(std::ostream& out) const;
-    void accept(AMQBodyConstVisitor& v) const { v.visit(*this); }
-    boost::intrusive_ptr<AMQBody> clone() const { return BodyFactory::copy(*this); }
+    QPID_COMMON_EXTERN inline uint8_t type() const { return CONTENT_BODY; };
+    QPID_COMMON_EXTERN inline const string& getData() const { return data; }
+    QPID_COMMON_EXTERN inline string& getData() { return data; }
+    QPID_COMMON_EXTERN uint32_t encodedSize() const;
+    QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+    QPID_COMMON_EXTERN void decode(Buffer& buffer, uint32_t size);
+    QPID_COMMON_EXTERN void print(std::ostream& out) const;
+    QPID_COMMON_EXTERN void accept(AMQBodyConstVisitor& v) const { v.visit(*this); }
+    QPID_COMMON_EXTERN boost::intrusive_ptr<AMQBody> clone() const { return BodyFactory::copy(*this); }
 };
 
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AMQFrame.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AMQFrame.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AMQFrame.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AMQFrame.h Thu Mar 12 20:55:34 2009
@@ -29,6 +29,7 @@
 #include "qpid/sys/LatencyMetric.h"
 #include <boost/intrusive_ptr.hpp>
 #include <boost/cast.hpp>
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 namespace framing {
@@ -36,15 +37,15 @@
 class AMQFrame : public AMQDataBlock, public sys::LatencyMetricTimestamp
 {
   public:
-    AMQFrame(const boost::intrusive_ptr<AMQBody>& b=0);
-    AMQFrame(const AMQBody& b);
-    ~AMQFrame();
+    QPID_COMMON_EXTERN AMQFrame(const boost::intrusive_ptr<AMQBody>& b=0);
+    QPID_COMMON_EXTERN AMQFrame(const AMQBody& b);
+    QPID_COMMON_EXTERN ~AMQFrame();
 
     ChannelId getChannel() const { return channel; }
     void setChannel(ChannelId c) { channel = c; }
 
-    AMQBody* getBody();
-    const AMQBody* getBody() const;
+    QPID_COMMON_EXTERN AMQBody* getBody();
+    QPID_COMMON_EXTERN const AMQBody* getBody() const;
 
     AMQMethodBody* getMethod() { return getBody()->getMethod(); }
     const AMQMethodBody* getMethod() const { return getBody()->getMethod(); }
@@ -59,9 +60,9 @@
         return boost::polymorphic_downcast<const T*>(getBody());
     }
 
-    void encode(Buffer& buffer) const; 
-    bool decode(Buffer& buffer); 
-    uint32_t encodedSize() const;
+    QPID_COMMON_EXTERN void encode(Buffer& buffer) const; 
+    QPID_COMMON_EXTERN bool decode(Buffer& buffer); 
+    QPID_COMMON_EXTERN uint32_t encodedSize() const;
 
     // 0-10 terminology: first/last frame (in segment) first/last segment (in assembly)
 
@@ -88,7 +89,7 @@
     void setEos(bool isEos) { eos = isEos; }
 
     static uint16_t DECODE_SIZE_MIN;
-    static uint32_t frameOverhead();
+    QPID_COMMON_EXTERN static uint32_t frameOverhead();
     /** Must point to at least DECODE_SIZE_MIN bytes of data */
     static uint16_t decodeSize(char* data);
 
@@ -105,7 +106,7 @@
     mutable uint32_t encodedSizeCache;
 };
 
-std::ostream& operator<<(std::ostream&, const AMQFrame&);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const AMQFrame&);
 
 }} // namespace qpid::framing
 

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeaderBody.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeaderBody.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeaderBody.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeaderBody.h Thu Mar 12 20:55:34 2009
@@ -26,6 +26,7 @@
 #include "Buffer.h"
 #include "qpid/framing/DeliveryProperties.h"
 #include "qpid/framing/MessageProperties.h"
+#include "qpid/CommonImportExport.h"
 #include <iostream>
 
 #include <boost/optional.hpp>
@@ -83,12 +84,12 @@
 
     inline uint8_t type() const { return HEADER_BODY; }
 
-    uint32_t encodedSize() const;
-    void encode(Buffer& buffer) const;
-    void decode(Buffer& buffer, uint32_t size);
-    uint64_t getContentLength() const;
-    void print(std::ostream& out) const;
-    void accept(AMQBodyConstVisitor&) const;
+    QPID_COMMON_EXTERN uint32_t encodedSize() const;
+    QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+    QPID_COMMON_EXTERN void decode(Buffer& buffer, uint32_t size);
+    QPID_COMMON_EXTERN uint64_t getContentLength() const;
+    QPID_COMMON_EXTERN void print(std::ostream& out) const;
+    QPID_COMMON_EXTERN void accept(AMQBodyConstVisitor&) const;
 
     template <class T> T* get(bool create) {
         boost::optional<T>& p=properties.OptProps<T>::props;

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AMQHeartbeatBody.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #include "amqp_types.h"
 #include "AMQBody.h"
 #include "Buffer.h"
+#include "qpid/CommonImportExport.h"
 
 #ifndef _AMQHeartbeatBody_
 #define _AMQHeartbeatBody_
@@ -31,12 +32,12 @@
 class AMQHeartbeatBody :  public AMQBody
 {
 public:
-    virtual ~AMQHeartbeatBody();
+    QPID_COMMON_EXTERN virtual ~AMQHeartbeatBody();
     inline uint32_t encodedSize() const { return 0; }
     inline uint8_t type() const { return HEARTBEAT_BODY; }
     inline void encode(Buffer& ) const {}
     inline void decode(Buffer& , uint32_t /*size*/) {}
-    virtual void print(std::ostream& out) const;
+    QPID_COMMON_EXTERN virtual void print(std::ostream& out) const;
     void accept(AMQBodyConstVisitor& v) const { v.visit(*this); }
     boost::intrusive_ptr<AMQBody> clone() const { return BodyFactory::copy(*this); }
 };

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AMQMethodBody.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AMQMethodBody.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AMQMethodBody.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AMQMethodBody.h Thu Mar 12 20:55:34 2009
@@ -25,7 +25,7 @@
 #include "AMQBody.h"
 #include "qpid/framing/ProtocolVersion.h"
 #include "qpid/shared_ptr.h"
-
+#include "qpid/CommonImportExport.h"
 #include <ostream>
 
 #include <assert.h>
@@ -40,7 +40,7 @@
 class AMQMethodBody : public AMQBody {
   public:
     AMQMethodBody() {}
-    virtual ~AMQMethodBody();
+    QPID_COMMON_EXTERN virtual ~AMQMethodBody();
 
     virtual void accept(MethodBodyConstVisitor&) const = 0;
     

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/AccumulatedAck.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/AccumulatedAck.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/AccumulatedAck.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/AccumulatedAck.h Thu Mar 12 20:55:34 2009
@@ -27,6 +27,7 @@
 #include <ostream>
 #include "SequenceNumber.h"
 #include "SequenceNumberSet.h"
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
     namespace framing {
@@ -58,17 +59,17 @@
              */
             std::list<Range> ranges;
 
-            explicit AccumulatedAck(SequenceNumber r = SequenceNumber());
-            void update(SequenceNumber firstTag, SequenceNumber lastTag);
-            void consolidate();
-            void clear();
-            bool covers(SequenceNumber tag) const;
+            QPID_COMMON_EXTERN explicit AccumulatedAck(SequenceNumber r = SequenceNumber());
+            QPID_COMMON_EXTERN void update(SequenceNumber firstTag, SequenceNumber lastTag);
+            QPID_COMMON_EXTERN void consolidate();
+            QPID_COMMON_EXTERN void clear();
+            QPID_COMMON_EXTERN bool covers(SequenceNumber tag) const;
             void collectRanges(SequenceNumberSet& set) const;
-            void update(const SequenceNumber cumulative, const SequenceNumberSet& range);
+            QPID_COMMON_EXTERN void update(const SequenceNumber cumulative, const SequenceNumberSet& range);
             void operator()(SequenceNumber first, SequenceNumber last) { update(first, last); }
         };
-        std::ostream& operator<<(std::ostream&, const Range&);
-        std::ostream& operator<<(std::ostream&, const AccumulatedAck&);
+        QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const Range&);
+        QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const AccumulatedAck&);
     }
 }
 

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/Array.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/Array.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/Array.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/Array.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 #include <boost/shared_ptr.hpp>
 #include <iostream>
 #include <vector>
+#include "qpid/CommonImportExport.h"
 
 #ifndef _Array_
 #define _Array_
@@ -41,38 +42,38 @@
     typedef ValueVector::const_iterator const_iterator;
     typedef ValueVector::iterator iterator;
 
-    uint32_t encodedSize() const;
-    void encode(Buffer& buffer) const;
-    void decode(Buffer& buffer);
-
-    int count() const;
-    bool operator==(const Array& other) const;
-
-    Array();
-    Array(TypeCode type);
-    Array(uint8_t type);
+    QPID_COMMON_EXTERN uint32_t encodedSize() const;
+    QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+    QPID_COMMON_EXTERN void decode(Buffer& buffer);
+
+    QPID_COMMON_EXTERN int count() const;
+    QPID_COMMON_EXTERN bool operator==(const Array& other) const;
+
+    QPID_COMMON_EXTERN Array();
+    QPID_COMMON_EXTERN Array(TypeCode type);
+    QPID_COMMON_EXTERN Array(uint8_t type);
     //creates a longstr array
-    Array(const std::vector<std::string>& in);
+    QPID_COMMON_EXTERN Array(const std::vector<std::string>& in);
 
-    TypeCode getType() const { return type; }
+    QPID_COMMON_EXTERN TypeCode getType() const { return type; }
     
     // std collection interface.
-    const_iterator begin() const { return values.begin(); }
-    const_iterator end() const { return values.end(); }
-    iterator begin() { return values.begin(); }
-    iterator end(){ return values.end(); }
-
-    ValuePtr front() const { return values.front(); }
-    ValuePtr back() const { return values.back(); }
-    size_t size() const { return values.size(); }
-
-    void insert(iterator i, ValuePtr value);
-    void erase(iterator i) { values.erase(i); }
-    void push_back(ValuePtr value) { values.insert(end(), value); }
-    void pop_back() { values.pop_back(); }
+    QPID_COMMON_EXTERN const_iterator begin() const { return values.begin(); }
+    QPID_COMMON_EXTERN const_iterator end() const { return values.end(); }
+    QPID_COMMON_EXTERN iterator begin() { return values.begin(); }
+    QPID_COMMON_EXTERN iterator end(){ return values.end(); }
+
+    QPID_COMMON_EXTERN ValuePtr front() const { return values.front(); }
+    QPID_COMMON_EXTERN ValuePtr back() const { return values.back(); }
+    QPID_COMMON_EXTERN size_t size() const { return values.size(); }
+
+    QPID_COMMON_EXTERN void insert(iterator i, ValuePtr value);
+    QPID_COMMON_EXTERN void erase(iterator i) { values.erase(i); }
+    QPID_COMMON_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
+    QPID_COMMON_EXTERN void pop_back() { values.pop_back(); }
     
     // Non-std interface
-    void add(ValuePtr value) { push_back(value); }
+    QPID_COMMON_EXTERN void add(ValuePtr value) { push_back(value); }
 
     template <class T>
     void collect(std::vector<T>& out) const
@@ -86,7 +87,7 @@
     TypeCode type;
     ValueVector values;
 
-    friend std::ostream& operator<<(std::ostream& out, const Array& body);
+    friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& out, const Array& body);
 };
 
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/Buffer.h Thu Mar 12 20:55:34 2009
@@ -20,6 +20,7 @@
  */
 #include "amqp_types.h"
 #include "qpid/Exception.h"
+#include "qpid/CommonImportExport.h"
 #include <boost/iterator/iterator_facade.hpp>
 
 #ifndef _Buffer_
@@ -66,65 +67,65 @@
     
   friend class Iterator;
     
-    Buffer(char* data=0, uint32_t size=0);
+    QPID_COMMON_EXTERN Buffer(char* data=0, uint32_t size=0);
 
-    void record();
-    void restore(bool reRecord = false);
-    void reset();
-
-    uint32_t available() { return size - position; }
-    uint32_t getSize() { return size; }
-    uint32_t getPosition() { return position; }
-    Iterator getIterator() { return Iterator(*this); }
-    char* getPointer() { return data; }
+    QPID_COMMON_EXTERN void record();
+    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 Iterator getIterator() { return Iterator(*this); }
+    QPID_COMMON_EXTERN char* getPointer() { return data; }
         
-    void putOctet(uint8_t i);
-    void putShort(uint16_t i);
-    void putLong(uint32_t i);
-    void putLongLong(uint64_t i);
-    void putInt8(int8_t i);
-    void putInt16(int16_t i);
-    void putInt32(int32_t i);
-    void putInt64(int64_t i);
-    void putFloat(float f);
-    void putDouble(double f);
-    void putBin128(uint8_t* b);
-
-    uint8_t  getOctet();
-    uint16_t getShort(); 
-    uint32_t getLong();
-    uint64_t getLongLong();
-    int8_t   getInt8();
-    int16_t  getInt16();
-    int32_t  getInt32();
-    int64_t  getInt64();
-    float    getFloat();
-    double   getDouble();
+    QPID_COMMON_EXTERN void putOctet(uint8_t i);
+    QPID_COMMON_EXTERN void putShort(uint16_t i);
+    QPID_COMMON_EXTERN void putLong(uint32_t i);
+    QPID_COMMON_EXTERN void putLongLong(uint64_t i);
+    QPID_COMMON_EXTERN void putInt8(int8_t i);
+    QPID_COMMON_EXTERN void putInt16(int16_t i);
+    QPID_COMMON_EXTERN void putInt32(int32_t i);
+    QPID_COMMON_EXTERN void putInt64(int64_t i);
+    QPID_COMMON_EXTERN void putFloat(float f);
+    QPID_COMMON_EXTERN void putDouble(double f);
+    QPID_COMMON_EXTERN void putBin128(uint8_t* b);
+
+    QPID_COMMON_EXTERN uint8_t  getOctet();
+    QPID_COMMON_EXTERN uint16_t getShort(); 
+    QPID_COMMON_EXTERN uint32_t getLong();
+    QPID_COMMON_EXTERN uint64_t getLongLong();
+    QPID_COMMON_EXTERN int8_t   getInt8();
+    QPID_COMMON_EXTERN int16_t  getInt16();
+    QPID_COMMON_EXTERN int32_t  getInt32();
+    QPID_COMMON_EXTERN int64_t  getInt64();
+    QPID_COMMON_EXTERN float    getFloat();
+    QPID_COMMON_EXTERN double   getDouble();
     
     template <int n>
-    uint64_t getUInt();
+    QPID_COMMON_EXTERN uint64_t getUInt();
 
     template <int n>
-    void putUInt(uint64_t);
+    QPID_COMMON_EXTERN void putUInt(uint64_t);
 
-    void putShortString(const string& s);
-    void putMediumString(const string& s);
-    void putLongString(const string& s);
-    void getShortString(string& s);
-    void getMediumString(string& s);
-    void getLongString(string& s);
-    void getBin128(uint8_t* b);
+    QPID_COMMON_EXTERN void putShortString(const string& s);
+    QPID_COMMON_EXTERN void putMediumString(const string& s);
+    QPID_COMMON_EXTERN void putLongString(const string& s);
+    QPID_COMMON_EXTERN void getShortString(string& s);
+    QPID_COMMON_EXTERN void getMediumString(string& s);
+    QPID_COMMON_EXTERN void getLongString(string& s);
+    QPID_COMMON_EXTERN void getBin128(uint8_t* b);
 
-    void putRawData(const string& s);
-    void getRawData(string& s, uint32_t size);
+    QPID_COMMON_EXTERN void putRawData(const string& s);
+    QPID_COMMON_EXTERN void getRawData(string& s, uint32_t size);
 
-    void putRawData(const uint8_t* data, size_t size);
-    void getRawData(uint8_t* data, size_t size);
+    QPID_COMMON_EXTERN void putRawData(const uint8_t* data, size_t size);
+    QPID_COMMON_EXTERN void getRawData(uint8_t* data, size_t size);
 
     template <class T> void put(const T& data) { data.encode(*this); }
     template <class T> void get(T& data) { data.decode(*this); }
 
-    void dump(std::ostream&) const;
+    QPID_COMMON_EXTERN void dump(std::ostream&) const;
 };
 
 std::ostream& operator<<(std::ostream&, const Buffer&);

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/FieldTable.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
 #include <boost/shared_ptr.hpp>
 #include <map>
 #include "amqp_types.h"
+#include "qpid/CommonImportExport.h"
 
 #ifndef _FieldTable_
 #define _FieldTable_
@@ -51,45 +52,45 @@
     typedef std::map<std::string, ValuePtr> ValueMap;
     typedef ValueMap::iterator iterator;
 
-    FieldTable() {};
-    FieldTable(const FieldTable& ft);
-    ~FieldTable();
-    FieldTable& operator=(const FieldTable& ft);
-    uint32_t encodedSize() const;
-    void encode(Buffer& buffer) const;
-    void decode(Buffer& buffer);
-
-    int count() const;
-    void set(const std::string& name, const ValuePtr& value);
-    ValuePtr get(const std::string& name) const;
-    bool isSet(const std::string& name) const { return get(name).get() != 0; }
-
-    void setString(const std::string& name, const std::string& value);
-    void setInt(const std::string& name, const int value);
-    void setInt64(const std::string& name, const int64_t value);
-    void setTimestamp(const std::string& name, const uint64_t value);
-    void setUInt64(const std::string& name, const uint64_t value);
-    void setTable(const std::string& name, const FieldTable& value);
-    void setArray(const std::string& name, const Array& value);
-    void setFloat(const std::string& name, const float value);
-    void setDouble(const std::string& name, const double value);
+    QPID_COMMON_EXTERN FieldTable() {};
+    QPID_COMMON_EXTERN FieldTable(const FieldTable& ft);
+    QPID_COMMON_EXTERN ~FieldTable();
+    QPID_COMMON_EXTERN FieldTable& operator=(const FieldTable& ft);
+    QPID_COMMON_EXTERN uint32_t encodedSize() const;
+    QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
+    QPID_COMMON_EXTERN void decode(Buffer& buffer);
+
+    QPID_COMMON_EXTERN int count() const;
+    QPID_COMMON_EXTERN void set(const std::string& name, const ValuePtr& value);
+    QPID_COMMON_EXTERN ValuePtr get(const std::string& name) const;
+    QPID_COMMON_EXTERN bool isSet(const std::string& name) const { return get(name).get() != 0; }
+
+    QPID_COMMON_EXTERN void setString(const std::string& name, const std::string& value);
+    QPID_COMMON_EXTERN void setInt(const std::string& name, const int value);
+    QPID_COMMON_EXTERN void setInt64(const std::string& name, const int64_t value);
+    QPID_COMMON_EXTERN void setTimestamp(const std::string& name, const uint64_t value);
+    QPID_COMMON_EXTERN void setUInt64(const std::string& name, const uint64_t value);
+    QPID_COMMON_EXTERN void setTable(const std::string& name, const FieldTable& value);
+    QPID_COMMON_EXTERN void setArray(const std::string& name, const Array& value);
+    QPID_COMMON_EXTERN void setFloat(const std::string& name, const float value);
+    QPID_COMMON_EXTERN void setDouble(const std::string& name, const double value);
     //void setDecimal(string& name, xxx& value);
 
-    int getAsInt(const std::string& name) const;
-    uint64_t getAsUInt64(const std::string& name) const;
-    int64_t getAsInt64(const std::string& name) const;
-    std::string getAsString(const std::string& name) const;
-
-    bool getTable(const std::string& name, FieldTable& value) const;
-    bool getArray(const std::string& name, Array& value) const;
-    bool getFloat(const std::string& name, float& value) const;
-    bool getDouble(const std::string& name, double& value) const;
+    QPID_COMMON_EXTERN int getAsInt(const std::string& name) const;
+    QPID_COMMON_EXTERN uint64_t getAsUInt64(const std::string& name) const;
+    QPID_COMMON_EXTERN int64_t getAsInt64(const std::string& name) const;
+    QPID_COMMON_EXTERN std::string getAsString(const std::string& name) const;
+
+    QPID_COMMON_EXTERN bool getTable(const std::string& name, FieldTable& value) const;
+    QPID_COMMON_EXTERN bool getArray(const std::string& name, Array& value) const;
+    QPID_COMMON_EXTERN bool getFloat(const std::string& name, float& value) const;
+    QPID_COMMON_EXTERN bool getDouble(const std::string& name, double& value) const;
     //bool getTimestamp(const std::string& name, uint64_t& value) const;
     //bool getDecimal(string& name, xxx& value);
-    void erase(const std::string& name);
+    QPID_COMMON_EXTERN void erase(const std::string& name);
     
 
-    bool operator==(const FieldTable& other) const;
+    QPID_COMMON_EXTERN bool operator==(const FieldTable& other) const;
 
     // Map-like interface.
     // TODO: may need to duplicate into versions that return mutable iterator
@@ -107,7 +108,7 @@
   private:
     ValueMap values;
 
-    friend std::ostream& operator<<(std::ostream& out, const FieldTable& body);
+    QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream& out, const FieldTable& body);
 };
 
 //class FieldNotFoundException{};

Modified: qpid/trunk/qpid/cpp/src/qpid/framing/FieldValue.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/framing/FieldValue.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/framing/FieldValue.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/framing/FieldValue.h Thu Mar 12 20:55:34 2009
@@ -25,6 +25,7 @@
 #include "amqp_types.h"
 #include "Buffer.h"
 #include "FieldTable.h"
+#include "qpid/CommonImportExport.h"
 
 #include "assert.h"
 
@@ -87,8 +88,8 @@
     bool empty() const { return data.get() == 0; } 
     void encode(Buffer& buffer);
     void decode(Buffer& buffer);
-    bool operator==(const FieldValue&) const;
-    bool operator!=(const FieldValue& v) const { return !(*this == v); }
+    QPID_COMMON_EXTERN bool operator==(const FieldValue&) const;
+    QPID_COMMON_EXTERN bool operator!=(const FieldValue& v) const { return !(*this == v); }
     
     void print(std::ostream& out) const;
     
@@ -244,28 +245,28 @@
 
 class Str8Value : public FieldValue {
   public:
-    Str8Value(const std::string& v);
+    QPID_COMMON_EXTERN Str8Value(const std::string& v);
 };
 
 class Str16Value : public FieldValue {
   public:
-    Str16Value(const std::string& v);
+    QPID_COMMON_EXTERN Str16Value(const std::string& v);
 };
 
 class Struct32Value : public FieldValue {
   public:
-    Struct32Value(const std::string& v);
+    QPID_COMMON_EXTERN Struct32Value(const std::string& v);
 };
 
 class FloatValue : public FieldValue
 {
   public:
-    FloatValue(float f);
+    QPID_COMMON_EXTERN FloatValue(float f);
 };
 class DoubleValue : public FieldValue
 {
   public:
-    DoubleValue(double f);
+    QPID_COMMON_EXTERN DoubleValue(double f);
 };
 
 /*
@@ -273,32 +274,32 @@
  */
 class IntegerValue : public FieldValue {
   public:
-    IntegerValue(int v);
+    QPID_COMMON_EXTERN IntegerValue(int v);
 };
 
 class TimeValue : public FieldValue {
   public:
-    TimeValue(uint64_t v);
+    QPID_COMMON_EXTERN TimeValue(uint64_t v);
 };
 
 class Integer64Value : public FieldValue {
   public:
-    Integer64Value(int64_t v);
+    QPID_COMMON_EXTERN Integer64Value(int64_t v);
 };
 
 class Unsigned64Value : public FieldValue {
   public:
-    Unsigned64Value(uint64_t v);
+    QPID_COMMON_EXTERN Unsigned64Value(uint64_t v);
 };
 
 class FieldTableValue : public FieldValue {
   public:
-    FieldTableValue(const FieldTable&);
+    QPID_COMMON_EXTERN FieldTableValue(const FieldTable&);
 };
 
 class ArrayValue : public FieldValue {
   public:
-    ArrayValue(const Array&);
+    QPID_COMMON_EXTERN ArrayValue(const Array&);
 };
 
 template <class T>



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