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 [2/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/Address.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Address.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Address.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Address.h Thu Mar 12 20:55:34 2009
@@ -20,7 +20,7 @@
  */
 
 #include "qpid/sys/IntegerTypes.h"
-
+#include "qpid/CommonImportExport.h"
 #include <boost/variant.hpp>
 #include <iosfwd>
 #include <string>
@@ -31,12 +31,12 @@
 /** TCP address of a broker - host:port */
 struct TcpAddress {
     static const uint16_t DEFAULT_PORT=5672;
-    explicit TcpAddress(const std::string& host_=std::string(),uint16_t port_=DEFAULT_PORT);
+    QPID_COMMON_EXTERN explicit TcpAddress(const std::string& host_=std::string(),uint16_t port_=DEFAULT_PORT);
     std::string host;
     uint16_t port;
 };
 bool operator==(const TcpAddress& x, const TcpAddress& y);
-std::ostream& operator<<(std::ostream& os, const TcpAddress& a);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& os, const TcpAddress& a);
 
 /**@internal Not a real address type, this is a placeholder to
  * demonstrate and validate multi-protocol Urls for unit tests and

Modified: qpid/trunk/qpid/cpp/src/qpid/DataDir.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/DataDir.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/DataDir.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/DataDir.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 #include <string>
 #include <memory>
 #include "qpid/sys/LockFile.h"
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 
@@ -38,8 +39,8 @@
 
   public:
 
-    DataDir (std::string path);
-    ~DataDir ();
+	QPID_COMMON_EXTERN DataDir (std::string path);
+	QPID_COMMON_EXTERN ~DataDir ();
 
     bool isEnabled() { return enabled; }
     const std::string& getPath() { return dirPath; }

Modified: qpid/trunk/qpid/cpp/src/qpid/Exception.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Exception.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Exception.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Exception.h Thu Mar 12 20:55:34 2009
@@ -27,7 +27,7 @@
 #include "qpid/framing/enum.h"
 #include "qpid/sys/StrError.h"
 #include "qpid/Msg.h"
-
+#include "qpid/CommonImportExport.h"
 #include <memory>
 #include <string>
 #include <errno.h>
@@ -41,11 +41,11 @@
 class Exception : public std::exception
 {
   public:
-    explicit Exception(const std::string& message=std::string()) throw();
-    virtual ~Exception() throw();
-    virtual const char* what() const throw(); // prefix: message
-    virtual std::string getMessage() const; // Unprefixed message
-    virtual std::string getPrefix() const;  // Prefix
+    QPID_COMMON_EXTERN explicit Exception(const std::string& message=std::string()) throw();
+    QPID_COMMON_EXTERN virtual ~Exception() throw();
+    QPID_COMMON_EXTERN virtual const char* what() const throw(); // prefix: message
+    QPID_COMMON_EXTERN virtual std::string getMessage() const; // Unprefixed message
+    QPID_COMMON_EXTERN virtual std::string getPrefix() const;  // Prefix
 
   private:
     std::string message;
@@ -77,8 +77,8 @@
 };
 
 struct ClosedException : public Exception {
-    ClosedException(const std::string& msg=std::string());
-    std::string getPrefix() const;
+    QPID_COMMON_EXTERN ClosedException(const std::string& msg=std::string());
+    QPID_COMMON_EXTERN std::string getPrefix() const;
 };
 
 /**

Modified: qpid/trunk/qpid/cpp/src/qpid/Modules.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Modules.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Modules.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Modules.h Thu Mar 12 20:55:34 2009
@@ -25,6 +25,7 @@
 #include "Options.h"
 #include <string>
 #include <vector>
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 
@@ -32,11 +33,11 @@
     std::string              loadDir;
     std::vector<std::string> load;
     bool                     noLoad;
-    ModuleOptions(const std::string& defaultModuleDir);
+    QPID_COMMON_EXTERN ModuleOptions(const std::string& defaultModuleDir);
 };
 
-void tryShlib(const char* libname, bool noThrow);
-void loadModuleDir (std::string dirname, bool isDefault);
+QPID_COMMON_EXTERN void tryShlib(const char* libname, bool noThrow);
+QPID_COMMON_EXTERN void loadModuleDir (std::string dirname, bool isDefault);
 
 } // namespace qpid
 

Modified: qpid/trunk/qpid/cpp/src/qpid/Options.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Options.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Options.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Options.h Thu Mar 12 20:55:34 2009
@@ -23,13 +23,25 @@
  */
 
 #include "qpid/Exception.h"
+
+// Disable warnings triggered by boost.
+#ifdef _MSC_VER
+#  pragma warning(push)
+#  pragma warning(disable : 4251 4275)
+#endif
+
 #include <boost/program_options.hpp>
 #include <boost/format.hpp>
+
+#ifdef _MSC_VER
+#  pragma warning(pop)
+#endif
+
 #include <sstream>
 #include <iterator>
 #include <algorithm>
 #include <string>
-
+#include "qpid/CommonImportExport.h"
 
 namespace qpid { 
 namespace po=boost::program_options;
@@ -37,7 +49,7 @@
 
 
 ///@internal
-std::string prettyArg(const std::string&, const std::string&);
+QPID_COMMON_EXTERN std::string prettyArg(const std::string&, const std::string&);
 
 /** @internal Normally only constructed by optValue() */
 template <class T>
@@ -192,24 +204,20 @@
 #endif
 
 
-
-
-
-
 struct Options : public po::options_description {
 
     struct Exception : public qpid::Exception {
         Exception(const std::string& msg) : qpid::Exception(msg) {}
     };
 
-    Options(const std::string& name=std::string());
+    QPID_COMMON_EXTERN Options(const std::string& name=std::string());
 
     /**
      * Parses options from argc/argv, environment variables and config file.
      * Note the filename argument can reference an options variable that
      * is updated by argc/argv or environment variable parsing.
      */
-    void parse(int argc, char const* const* argv,
+    QPID_COMMON_EXTERN void parse(int argc, char const* const* argv,
                const std::string& configfile=std::string(),
                bool  allowUnknown = false);
     
@@ -242,7 +250,7 @@
  * Standard options for configuration
  */
 struct CommonOptions : public Options {
-    CommonOptions(const std::string& name=std::string(),
+    QPID_COMMON_EXTERN CommonOptions(const std::string& name=std::string(),
                   const std::string& configfile=std::string());
     bool help;
     bool version;

Modified: qpid/trunk/qpid/cpp/src/qpid/Plugin.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Plugin.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Plugin.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Plugin.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 #include <boost/noncopyable.hpp>
 #include <boost/function.hpp>
 #include <vector>
+#include "qpid/CommonImportExport.h"
 
 /**@file Generic plug-in framework. */
 
@@ -46,10 +47,10 @@
     {
       public:
         /** Calls finalize() if not already called. */
-        virtual ~Target();
+        QPID_COMMON_EXTERN virtual ~Target();
 
         /** Run all the finalizers */
-        void finalize();
+        QPID_COMMON_EXTERN void finalize();
 
         /** Add a function to run when finalize() is called */
         void addFinalizer(const boost::function<void()>&);
@@ -65,9 +66,9 @@
      * member variable in a library so it is registered during 
      * initialization when the library is loaded.
      */
-    Plugin();
+    QPID_COMMON_EXTERN Plugin();
     
-    virtual ~Plugin();
+    QPID_COMMON_EXTERN virtual ~Plugin();
 
     /**
      * Configuration options for the plugin.
@@ -76,7 +77,7 @@
      * @return An options group or 0 for no options. Default returns 0.
      * Plugin retains ownership of return value.
      */
-    virtual Options* getOptions();
+    QPID_COMMON_EXTERN virtual Options* getOptions();
 
     /**
      * Initialize Plugin functionality on a Target, called before
@@ -101,16 +102,16 @@
     /** List of registered Plugin objects.
      * Caller must not delete plugin pointers.
      */
-    static const Plugins& getPlugins();
+    QPID_COMMON_EXTERN static const Plugins& getPlugins();
 
     /** Call earlyInitialize() on all registered plugins */
-    static void earlyInitAll(Target&);
+    QPID_COMMON_EXTERN static void earlyInitAll(Target&);
 
     /** Call initialize() on all registered plugins */
-    static void initializeAll(Target&);
+    QPID_COMMON_EXTERN static void initializeAll(Target&);
 
     /** For each registered plugin, add plugin.getOptions() to opts. */
-    static void addOptions(Options& opts);
+    QPID_COMMON_EXTERN static void addOptions(Options& opts);
 };
  
 } // namespace qpid

Modified: qpid/trunk/qpid/cpp/src/qpid/SessionId.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/SessionId.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/SessionId.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/SessionId.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 
 #include <boost/operators.hpp>
 #include <string>
+#include <qpid/CommonImportExport.h>
 
 namespace qpid {
 
@@ -42,16 +43,16 @@
     std::string userId;
     std::string name;
   public:
-    SessionId(const std::string& userId=std::string(), const std::string& name=std::string());
+    QPID_COMMON_EXTERN SessionId(const std::string& userId=std::string(), const std::string& name=std::string());
     std::string getUserId() const { return userId; }
     std::string getName() const { return name; }
-    bool operator<(const SessionId&) const ;
-    bool operator==(const SessionId& id) const;
+    QPID_COMMON_EXTERN bool operator<(const SessionId&) const ;
+    QPID_COMMON_EXTERN bool operator==(const SessionId& id) const;
     // Convert to a string
-    std::string str() const;
+    QPID_COMMON_EXTERN std::string str() const;
 };
 
-std::ostream& operator<<(std::ostream&, const SessionId&);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const SessionId&);
 
 
 } // namespace qpid

Modified: qpid/trunk/qpid/cpp/src/qpid/SessionState.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/SessionState.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/SessionState.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/SessionState.h Thu Mar 12 20:55:34 2009
@@ -31,6 +31,7 @@
 #include <boost/range/iterator_range.hpp>
 #include <vector>
 #include <iosfwd>
+#include <qpid/CommonImportExport.h>
 
 namespace qpid {
 using framing::SequenceNumber;
@@ -38,19 +39,19 @@
 
 /** A point in the session. Points to command id + offset */
 struct SessionPoint : boost::totally_ordered1<SessionPoint> {
-    SessionPoint(SequenceNumber command = 0, uint64_t offset = 0);
+    QPID_COMMON_EXTERN SessionPoint(SequenceNumber command = 0, uint64_t offset = 0);
 
     SequenceNumber command;
     uint64_t offset;
 
     /** Advance past frame f */
-    void advance(const framing::AMQFrame& f);
+    QPID_COMMON_EXTERN void advance(const framing::AMQFrame& f);
 
-    bool operator<(const SessionPoint&) const;
-    bool operator==(const SessionPoint&) const;
+    QPID_COMMON_EXTERN bool operator<(const SessionPoint&) const;
+    QPID_COMMON_EXTERN bool operator==(const SessionPoint&) const;
 };
 
-std::ostream& operator<<(std::ostream&, const SessionPoint&);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const SessionPoint&);
 
 /**
  * Support for session idempotence barrier and resume as defined in
@@ -78,14 +79,14 @@
     typedef boost::iterator_range<ReplayList::iterator> ReplayRange;
 
     struct Configuration {
-        Configuration(size_t flush=1024*1024, size_t hard=0);
+        QPID_COMMON_EXTERN Configuration(size_t flush=1024*1024, size_t hard=0);
         size_t replayFlushLimit; // Flush when the replay list >= N bytes. 0 disables.
         size_t replayHardLimit; // Kill session if replay list > N bytes. 0 disables.
     };
 
-    SessionState(const SessionId& =SessionId(), const Configuration& =Configuration());
+    QPID_COMMON_EXTERN SessionState(const SessionId& =SessionId(), const Configuration& =Configuration());
     
-    virtual ~SessionState();
+    QPID_COMMON_EXTERN virtual ~SessionState();
 
     bool hasState() const;
 
@@ -100,78 +101,78 @@
     // ==== Functions for sender state.
 
     /** Record frame f for replay. Should not be called during replay. */
-    virtual void senderRecord(const framing::AMQFrame& f);
+    QPID_COMMON_EXTERN virtual void senderRecord(const framing::AMQFrame& f);
 
     /** @return true if we should send flush for confirmed and completed commands. */
-    virtual bool senderNeedFlush() const;
+    QPID_COMMON_EXTERN virtual bool senderNeedFlush() const;
 
     /** Called when flush for confirmed and completed commands is sent to peer. */
-    virtual void senderRecordFlush();
+    QPID_COMMON_EXTERN virtual void senderRecordFlush();
 
     /** True if we should reply to the next incoming completed command */
-    virtual bool senderNeedKnownCompleted() const;
+    QPID_COMMON_EXTERN virtual bool senderNeedKnownCompleted() const;
 
     /** Called when knownCompleted is sent to peer. */
-    virtual void senderRecordKnownCompleted();
+    QPID_COMMON_EXTERN virtual void senderRecordKnownCompleted();
 
     /** Called when the peer confirms up to comfirmed. */
-    virtual void senderConfirmed(const SessionPoint& confirmed);
+    QPID_COMMON_EXTERN virtual void senderConfirmed(const SessionPoint& confirmed);
 
     /** Called when the peer indicates commands completed */
-    virtual void senderCompleted(const SequenceSet& commands);
+    QPID_COMMON_EXTERN virtual void senderCompleted(const SequenceSet& commands);
 
     /** Point from which the next new (not replayed) data will be sent. */
-    virtual SessionPoint senderGetCommandPoint();
+    QPID_COMMON_EXTERN virtual SessionPoint senderGetCommandPoint();
 
     /** Set of outstanding incomplete commands */
-    virtual SequenceSet senderGetIncomplete() const;
+    QPID_COMMON_EXTERN virtual SequenceSet senderGetIncomplete() const;
 
     /** Point from which we can replay. */
-    virtual SessionPoint senderGetReplayPoint() const;
+    QPID_COMMON_EXTERN virtual SessionPoint senderGetReplayPoint() const;
 
     /** Peer expecting commands from this point.
      *@return Range of frames to be replayed.
      */
-    virtual ReplayRange senderExpected(const SessionPoint& expected);
+    QPID_COMMON_EXTERN virtual ReplayRange senderExpected(const SessionPoint& expected);
 
     // ==== Functions for receiver state
 
     /** Set the command point. */
-    virtual void receiverSetCommandPoint(const SessionPoint& point);
+    QPID_COMMON_EXTERN virtual void receiverSetCommandPoint(const SessionPoint& point);
 
     /** Returns true if frame should be be processed, false if it is a duplicate. */
-    virtual bool receiverRecord(const framing::AMQFrame& f);
+    QPID_COMMON_EXTERN virtual bool receiverRecord(const framing::AMQFrame& f);
 
     /** Command completed locally */
-    virtual void receiverCompleted(SequenceNumber command, bool cumulative=false);
+    QPID_COMMON_EXTERN virtual void receiverCompleted(SequenceNumber command, bool cumulative=false);
 
     /** Peer has indicated commands are known completed */
-    virtual void receiverKnownCompleted(const SequenceSet& commands);
+    QPID_COMMON_EXTERN virtual void receiverKnownCompleted(const SequenceSet& commands);
 
     /** True if the next completed control should set the timely-reply argument
      * to request a knonw-completed response.
      */
-    virtual bool receiverNeedKnownCompleted() const;
+    QPID_COMMON_EXTERN virtual bool receiverNeedKnownCompleted() const;
 
     /** Get the incoming command point */
-    virtual const SessionPoint& receiverGetExpected() const;
+    QPID_COMMON_EXTERN virtual const SessionPoint& receiverGetExpected() const;
 
     /** Get the received high-water-mark, may be > getExpected() during replay */
-    virtual const SessionPoint& receiverGetReceived() const;
+    QPID_COMMON_EXTERN virtual const SessionPoint& receiverGetReceived() const;
 
     /** Completed received commands that the peer may not know about. */
-    virtual const SequenceSet& receiverGetUnknownComplete() const;
+    QPID_COMMON_EXTERN virtual const SequenceSet& receiverGetUnknownComplete() const;
 
     /** Incomplete received commands. */
-    virtual const SequenceSet& receiverGetIncomplete() const;
+    QPID_COMMON_EXTERN virtual const SequenceSet& receiverGetIncomplete() const;
 
     /** ID of the command currently being handled. */
-    virtual SequenceNumber receiverGetCurrent() const;
+    QPID_COMMON_EXTERN virtual SequenceNumber receiverGetCurrent() const;
 
     /** Set the state variables, used to create a session that will resume
      *  from some previously established point.
      */
-    virtual void setState(
+    QPID_COMMON_EXTERN virtual void setState(
         const SequenceNumber& replayStart,
         const SequenceNumber& sendCommandPoint,
         const SequenceSet& sentIncomplete,
@@ -183,7 +184,7 @@
 
     /**
      * So called 'push' bridges work by faking a subscribe request
-     * (and the accompanyingflows etc) to the local broker to initiate
+     * (and the accompanying flows etc) to the local broker to initiate
      * the outflow of messages for the bridge.
      * 
      * As the peer doesn't send these it cannot include them in its
@@ -192,8 +193,8 @@
      * received messages to be disabled for the faked commands and
      * subsequently re-enabled.
      */
-    void disableReceiverTracking();
-    void enableReceiverTracking();
+    QPID_COMMON_EXTERN void disableReceiverTracking();
+    QPID_COMMON_EXTERN void enableReceiverTracking();
 
   private:
 

Modified: qpid/trunk/qpid/cpp/src/qpid/StringUtils.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/StringUtils.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/StringUtils.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/StringUtils.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,8 @@
  *
  */
 
+#include "qpid/CommonImportExport.h"
+
 #include <string>
 #include <vector>
 
@@ -31,12 +33,12 @@
  * Split 'in' into words using delimiters in 'delims' and put
  * resulting strings into 'out' vector.
  */
-void split(std::vector<std::string>& out, const std::string& in, const std::string& delims);
+QPID_COMMON_EXTERN void split(std::vector<std::string>& out, const std::string& in, const std::string& delims);
 /**
  * Split 'in' into words using delimiters in 'delims' and return the
  * resulting strings in a vector.
  */
-std::vector<std::string> split(const std::string& in, const std::string& delims);
+QPID_COMMON_EXTERN std::vector<std::string> split(const std::string& in, const std::string& delims);
 
 } // namespace qpid
 

Modified: qpid/trunk/qpid/cpp/src/qpid/Url.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Url.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Url.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Url.h Thu Mar 12 20:55:34 2009
@@ -25,10 +25,11 @@
 #include <vector>
 #include <new>
 #include <ostream>
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 
-std::ostream& operator<<(std::ostream& os, const TcpAddress& a);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& os, const TcpAddress& a);
 
 /** An AMQP URL contains a list of addresses */
 struct Url : public std::vector<Address> {
@@ -38,12 +39,12 @@
 
     /** Url with local IP address(es), may be more than one address
      * on a multi-homed host. */
-    static Url getIpAddressesUrl(uint16_t port);
+    QPID_COMMON_EXTERN static Url getIpAddressesUrl(uint16_t port);
 
     struct Invalid : public Exception { Invalid(const std::string& s); };
 
     /** Convert to string form. */
-    std::string str() const;
+    QPID_COMMON_EXTERN std::string str() const;
 
     /** Empty URL. */
     Url() {}
@@ -62,14 +63,14 @@
     Url& operator=(const std::string& s) { parse(s); return *this; }
     
     /** Throw Invalid if the URL does not contain any addresses. */
-    void throwIfEmpty() const;
+    QPID_COMMON_EXTERN void throwIfEmpty() const;
 
     /** Replace contents with parsed URL as defined in
      * https://wiki.108.redhat.com/jira/browse/AMQP-95
      *@exception Invalid if the url is invalid.
      */
-    void parse(const char* url);
-    void parse(const std::string& url) { parse(url.c_str()); }
+    QPID_COMMON_EXTERN void parse(const char* url);
+    QPID_COMMON_EXTERN void parse(const std::string& url) { parse(url.c_str()); }
 
     /** Replace contesnts with parsed URL as defined in
      * https://wiki.108.redhat.com/jira/browse/AMQP-95
@@ -84,8 +85,8 @@
 inline bool operator==(const Url& a, const Url& b) { return a.str()==b.str(); }
 inline bool operator!=(const Url& a, const Url& b) { return a.str()!=b.str(); }
 
-std::ostream& operator<<(std::ostream& os, const Url& url);
-std::istream& operator>>(std::istream& is, Url& url);
+QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream& os, const Url& url);
+QPID_COMMON_EXTERN std::istream& operator>>(std::istream& is, Url& url);
 
 } // namespace qpid
 

Modified: qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/Connection.h Thu Mar 12 20:55:34 2009
@@ -27,6 +27,7 @@
 #include "qpid/sys/ConnectionInputHandler.h"
 #include "qpid/sys/ConnectionOutputHandler.h"
 #include "qpid/sys/Mutex.h"
+#include "qpid/broker/BrokerImportExport.h"
 #include <boost/intrusive_ptr.hpp>
 #include <memory>
 #include <deque>
@@ -56,8 +57,8 @@
     size_t buffered;
 
   public:
-    Connection(sys::OutputControl&, const std::string& id, bool isClient);
-    void setInputHandler(std::auto_ptr<sys::ConnectionInputHandler> c);
+    QPID_BROKER_EXTERN Connection(sys::OutputControl&, const std::string& id, bool isClient);
+    QPID_BROKER_EXTERN void setInputHandler(std::auto_ptr<sys::ConnectionInputHandler> c);
     size_t decode(const char* buffer, size_t size);
     size_t encode(const char* buffer, size_t size);
     bool isClosed() const;

Modified: qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/amqp_0_10/SessionHandler.h Thu Mar 12 20:55:34 2009
@@ -26,6 +26,7 @@
 #include "qpid/framing/AMQP_AllProxy.h"
 #include "qpid/framing/AMQP_AllOperations.h"
 #include "qpid/SessionState.h"
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 
@@ -43,8 +44,8 @@
                        public framing::FrameHandler::InOutHandler
 {
   public:
-    SessionHandler(framing::FrameHandler* out=0, uint16_t channel=0);
-    ~SessionHandler();
+    QPID_COMMON_EXTERN SessionHandler(framing::FrameHandler* out=0, uint16_t channel=0);
+    QPID_COMMON_EXTERN ~SessionHandler();
 
     void setChannel(uint16_t ch) { channel = ch; }
     uint16_t getChannel() const { return channel.get(); }
@@ -55,35 +56,35 @@
     virtual framing::FrameHandler* getInHandler() = 0;
 
     // Non-protocol methods, called locally to initiate some action.
-    void sendDetach();
-    void sendCompletion();
-    void sendAttach(bool force);
-    void sendTimeout(uint32_t t);
-    void sendFlush();
-    void markReadyToSend();//TODO: only needed for inter-broker bridge; cleanup
+    QPID_COMMON_EXTERN void sendDetach();
+    QPID_COMMON_EXTERN void sendCompletion();
+    QPID_COMMON_EXTERN void sendAttach(bool force);
+    QPID_COMMON_EXTERN void sendTimeout(uint32_t t);
+    QPID_COMMON_EXTERN void sendFlush();
+    QPID_COMMON_EXTERN void markReadyToSend();//TODO: only needed for inter-broker bridge; cleanup
 
     /** True if the handler is ready to send and receive */
     bool ready() const;
 
     // Protocol methods
-    void attach(const std::string& name, bool force);
-    void attached(const std::string& name);
-    void detach(const std::string& name);
-    void detached(const std::string& name, uint8_t code);
-
-    void requestTimeout(uint32_t t);
-    void timeout(uint32_t t);
-
-    void commandPoint(const framing::SequenceNumber& id, uint64_t offset);
-    void expected(const framing::SequenceSet& commands, const framing::Array& fragments);
-    void confirmed(const framing::SequenceSet& commands,const framing::Array& fragments);
-    void completed(const framing::SequenceSet& commands, bool timelyReply);
-    void knownCompleted(const framing::SequenceSet& commands);
-    void flush(bool expected, bool confirmed, bool completed);
-    void gap(const framing::SequenceSet& commands);    
+    QPID_COMMON_EXTERN void attach(const std::string& name, bool force);
+    QPID_COMMON_EXTERN void attached(const std::string& name);
+    QPID_COMMON_EXTERN void detach(const std::string& name);
+    QPID_COMMON_EXTERN void detached(const std::string& name, uint8_t code);
+
+    QPID_COMMON_EXTERN void requestTimeout(uint32_t t);
+    QPID_COMMON_EXTERN void timeout(uint32_t t);
+
+    QPID_COMMON_EXTERN void commandPoint(const framing::SequenceNumber& id, uint64_t offset);
+    QPID_COMMON_EXTERN void expected(const framing::SequenceSet& commands, const framing::Array& fragments);
+    QPID_COMMON_EXTERN void confirmed(const framing::SequenceSet& commands,const framing::Array& fragments);
+    QPID_COMMON_EXTERN void completed(const framing::SequenceSet& commands, bool timelyReply);
+    QPID_COMMON_EXTERN void knownCompleted(const framing::SequenceSet& commands);
+    QPID_COMMON_EXTERN void flush(bool expected, bool confirmed, bool completed);
+    QPID_COMMON_EXTERN void gap(const framing::SequenceSet& commands);    
 
   protected:
-    virtual void invoke(const framing::AMQMethodBody& m);
+    QPID_COMMON_EXTERN virtual void invoke(const framing::AMQMethodBody& m);
 
     virtual void setState(const std::string& sessionName, bool force) = 0;
     virtual void channelException(framing::session::DetachCode code, const std::string& msg) = 0;
@@ -94,9 +95,9 @@
     virtual void readyToSend() {}
     virtual void readyToReceive() {}
     
-    virtual void handleDetach();
-    virtual void handleIn(framing::AMQFrame&);
-    virtual void handleOut(framing::AMQFrame&);
+    QPID_COMMON_EXTERN virtual void handleDetach();
+    QPID_COMMON_EXTERN virtual void handleIn(framing::AMQFrame&);
+    QPID_COMMON_EXTERN virtual void handleOut(framing::AMQFrame&);
 
     framing::ChannelHandler channel;
     framing::AMQP_AllProxy::Session  peer;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "BrokerImportExport.h"
 #include "ConnectionFactory.h"
 #include "ConnectionToken.h"
 #include "DirectExchange.h"
@@ -80,15 +81,16 @@
  * A broker instance. 
  */
 class Broker : public sys::Runnable, public Plugin::Target,
-               public management::Manageable, public RefCounted
+               public management::Manageable,
+               public RefCounted
 {
-  public:
+public:
 
     struct Options : public qpid::Options {
         static const std::string DEFAULT_DATA_DIR_LOCATION;
         static const std::string DEFAULT_DATA_DIR_NAME;
 
-        Options(const std::string& name="Broker Options");
+        QPID_BROKER_EXTERN Options(const std::string& name="Broker Options");
 
         bool noDataDir;
         std::string dataDir;
@@ -148,9 +150,9 @@
   
     virtual ~Broker();
 
-    Broker(const Options& configuration);
-    static boost::intrusive_ptr<Broker> create(const Options& configuration);
-    static boost::intrusive_ptr<Broker> create(int16_t port = DEFAULT_PORT);
+    QPID_BROKER_EXTERN Broker(const Options& configuration);
+    static QPID_BROKER_EXTERN boost::intrusive_ptr<Broker> create(const Options& configuration);
+    static QPID_BROKER_EXTERN boost::intrusive_ptr<Broker> create(int16_t port = DEFAULT_PORT);
 
     /**
      * Return listening port. If called before bind this is
@@ -169,7 +171,7 @@
     /** Shut down the broker */
     virtual void shutdown();
 
-    void setStore (MessageStore*);
+    QPID_BROKER_EXTERN void setStore (MessageStore*);
     MessageStore& getStore() { return *store; }
     void setAcl (AclModule* _acl) {acl = _acl;}
     AclModule* getAcl() { return acl; }
@@ -229,7 +231,7 @@
 
     boost::function<std::vector<Url> ()> getKnownBrokers;
 
-    static const std::string TCP_TRANSPORT;
+    static QPID_BROKER_EXTERN const std::string TCP_TRANSPORT;
 
     void setRecovery(bool set) { recovery = set; }
     bool getRecovery() const { return recovery; }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/BrokerSingleton.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/BrokerSingleton.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/BrokerSingleton.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/BrokerSingleton.h Thu Mar 12 20:55:34 2009
@@ -20,6 +20,7 @@
  */
 
 #include "Broker.h"
+#include "BrokerImportExport.h"
 
 namespace qpid {
 namespace broker {
@@ -36,7 +37,7 @@
  *
  * THREAD UNSAFE.
  */
-class BrokerSingleton : public boost::intrusive_ptr<Broker>
+class QPID_BROKER_EXTERN BrokerSingleton : public boost::intrusive_ptr<Broker>
 {
   public:
     BrokerSingleton();

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/DeliverableMessage.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/DeliverableMessage.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/DeliverableMessage.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/DeliverableMessage.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _DeliverableMessage_
 #define _DeliverableMessage_
 
+#include "BrokerImportExport.h"
 #include "Deliverable.h"
 #include "Queue.h"
 #include "Message.h"
@@ -32,10 +33,10 @@
         class DeliverableMessage : public Deliverable{
             boost::intrusive_ptr<Message> msg;
         public:
-            DeliverableMessage(const boost::intrusive_ptr<Message>& msg);
-            virtual void deliverTo(const boost::shared_ptr<Queue>& queue);
-            Message& getMessage();
-            uint64_t contentSize();
+            QPID_BROKER_EXTERN DeliverableMessage(const boost::intrusive_ptr<Message>& msg);
+            QPID_BROKER_EXTERN virtual void deliverTo(const boost::shared_ptr<Queue>& queue);
+            QPID_BROKER_EXTERN Message& getMessage();
+            QPID_BROKER_EXTERN uint64_t contentSize();
             virtual ~DeliverableMessage(){}
         };
     }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/DeliveryRecord.h Thu Mar 12 20:55:34 2009
@@ -26,6 +26,7 @@
 #include <vector>
 #include <ostream>
 #include "qpid/framing/SequenceSet.h"
+#include "BrokerImportExport.h"
 #include "Queue.h"
 #include "QueuedMessage.h"
 #include "DeliveryId.h"
@@ -74,17 +75,16 @@
     const uint32_t credit;
 
   public:
-    DeliveryRecord(
-        const QueuedMessage& msg,
-        const Queue::shared_ptr& queue, 
-        const std::string& tag,
-        bool acquired,
-        bool accepted,
-        bool windowing,
-        uint32_t credit=0       // Only used if msg is empty.
+    QPID_BROKER_EXTERN DeliveryRecord(const QueuedMessage& msg,
+                                      const Queue::shared_ptr& queue, 
+                                      const std::string& tag,
+                                      bool acquired,
+                                      bool accepted,
+                                      bool windowing,
+                                      uint32_t credit=0       // Only used if msg is empty.
     );
     
-    bool matches(DeliveryId tag) const;
+    QPID_BROKER_EXTERN bool matches(DeliveryId tag) const;
     bool matchOrAfter(DeliveryId tag) const;
     bool after(DeliveryId tag) const;
     bool coveredBy(const framing::SequenceSet* const range) const;
@@ -119,7 +119,7 @@
     const QueuedMessage& getMessage() const { return msg; }
     framing::SequenceNumber getId() const { return id; }
     Queue::shared_ptr getQueue() const { return queue; }
-    friend bool operator<(const DeliveryRecord&, const DeliveryRecord&);         
+    friend QPID_BROKER_EXTERN bool operator<(const DeliveryRecord&, const DeliveryRecord&);         
     friend std::ostream& operator<<(std::ostream&, const DeliveryRecord&);
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/DirectExchange.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/DirectExchange.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/DirectExchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/DirectExchange.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
 
 #include <map>
 #include <vector>
+#include "BrokerImportExport.h"
 #include "Exchange.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/sys/CopyOnWriteArray.h"
@@ -44,18 +45,27 @@
 public:
     static const std::string typeName;
         
-    DirectExchange(const std::string& name, management::Manageable* parent = 0);
-    DirectExchange(const string& _name, bool _durable, 
-                   const qpid::framing::FieldTable& _args, management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN DirectExchange(const std::string& name,
+                                      management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN DirectExchange(const string& _name,
+                                      bool _durable, 
+                                      const qpid::framing::FieldTable& _args,
+                                      management::Manageable* parent = 0);
 
     virtual std::string getType() const { return typeName; }            
         
-    virtual bool bind(Queue::shared_ptr queue, const std::string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual bool bind(Queue::shared_ptr queue,
+                                         const std::string& routingKey,
+                                         const qpid::framing::FieldTable* args);
     virtual bool unbind(Queue::shared_ptr queue, const std::string& routingKey, const qpid::framing::FieldTable* args);
-    virtual void route(Deliverable& msg, const std::string& routingKey, const qpid::framing::FieldTable* args);
-    virtual bool isBound(Queue::shared_ptr queue, const string* const routingKey, const qpid::framing::FieldTable* const args);
+    QPID_BROKER_EXTERN virtual void route(Deliverable& msg,
+                                          const std::string& routingKey,
+                                          const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual bool isBound(Queue::shared_ptr queue,
+                                            const string* const routingKey,
+                                            const qpid::framing::FieldTable* const args);
 
-    virtual ~DirectExchange();
+    QPID_BROKER_EXTERN virtual ~DirectExchange();
 
     virtual bool supportsDynamicBinding() { return true; }
 };

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/DtxBuffer.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/DtxBuffer.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/DtxBuffer.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/DtxBuffer.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _DtxBuffer_
 #define _DtxBuffer_
 
+#include "BrokerImportExport.h"
 #include "TxBuffer.h"
 #include "qpid/sys/Mutex.h"
 
@@ -37,9 +38,9 @@
         public:
             typedef boost::shared_ptr<DtxBuffer> shared_ptr;
 
-            DtxBuffer(const std::string& xid = "");
-            ~DtxBuffer();
-            void markEnded();
+            QPID_BROKER_EXTERN DtxBuffer(const std::string& xid = "");
+            QPID_BROKER_EXTERN ~DtxBuffer();
+            QPID_BROKER_EXTERN void markEnded();
             bool isEnded();
             void setSuspended(bool suspended);
             bool isSuspended();

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/DtxWorkRecord.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/DtxWorkRecord.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/DtxWorkRecord.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/DtxWorkRecord.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _DtxWorkRecord_
 #define _DtxWorkRecord_
 
+#include "BrokerImportExport.h"
 #include "DtxBuffer.h"
 #include "DtxTimeout.h"
 #include "TransactionalStore.h"
@@ -61,12 +62,13 @@
     void abort();
     bool prepare(TransactionContext* txn);
 public:
-    DtxWorkRecord(const std::string& xid, TransactionalStore* const store);
-    ~DtxWorkRecord();
-    bool prepare();
-    bool commit(bool onePhase);
-    void rollback();
-    void add(DtxBuffer::shared_ptr ops);
+    QPID_BROKER_EXTERN DtxWorkRecord(const std::string& xid,
+                                     TransactionalStore* const store);
+    QPID_BROKER_EXTERN ~DtxWorkRecord();
+    QPID_BROKER_EXTERN bool prepare();
+    QPID_BROKER_EXTERN bool commit(bool onePhase);
+    QPID_BROKER_EXTERN void rollback();
+    QPID_BROKER_EXTERN void add(DtxBuffer::shared_ptr ops);
     void recover(std::auto_ptr<TPCTransactionContext> txn, DtxBuffer::shared_ptr ops);
     void timedout();
     void setTimeout(boost::intrusive_ptr<DtxTimeout> t) { timeout = t; }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
  */
 
 #include <boost/shared_ptr.hpp>
+#include "BrokerImportExport.h"
 #include "Deliverable.h"
 #include "Queue.h"
 #include "MessageStore.h"
@@ -123,7 +124,7 @@
     explicit Exchange(const std::string& name, management::Manageable* parent = 0);
     Exchange(const std::string& _name, bool _durable, const qpid::framing::FieldTable& _args,
              management::Manageable* parent = 0);
-    virtual ~Exchange();
+    QPID_BROKER_EXTERN virtual ~Exchange();
 
     const std::string& getName() const { return name; }
     bool isDurable() { return durable; }
@@ -146,9 +147,9 @@
     void setPersistenceId(uint64_t id) const;
     uint64_t getPersistenceId() const { return persistenceId; }
     uint32_t encodedSize() const;
-    virtual void encode(framing::Buffer& buffer) const; 
+    QPID_BROKER_EXTERN virtual void encode(framing::Buffer& buffer) const;
 
-    static Exchange::shared_ptr decode(ExchangeRegistry& exchanges, framing::Buffer& buffer);
+    static QPID_BROKER_EXTERN Exchange::shared_ptr decode(ExchangeRegistry& exchanges, framing::Buffer& buffer);
 
     // Manageable entry points
     management::ManagementObject* GetManagementObject(void) const;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/ExchangeRegistry.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "BrokerImportExport.h"
 #include "Exchange.h"
 #include "MessageStore.h"
 #include "qpid/framing/FieldTable.h"
@@ -45,13 +46,17 @@
                              bool, const qpid::framing::FieldTable&, qpid::management::Manageable*> FactoryFunction;
 
     ExchangeRegistry () : parent(0) {}
-    std::pair<Exchange::shared_ptr, bool> declare(const std::string& name, const std::string& type)
+    QPID_BROKER_EXTERN std::pair<Exchange::shared_ptr, bool> declare
+      (const std::string& name, const std::string& type)
         throw(UnknownExchangeTypeException);
-    std::pair<Exchange::shared_ptr, bool> declare(const std::string& name, const std::string& type, 
-                                                  bool durable, const qpid::framing::FieldTable& args = framing::FieldTable())
-        throw(UnknownExchangeTypeException);
-    void destroy(const std::string& name);
-    Exchange::shared_ptr get(const std::string& name);
+    QPID_BROKER_EXTERN std::pair<Exchange::shared_ptr, bool> declare
+      (const std::string& name,
+       const std::string& type, 
+       bool durable,
+       const qpid::framing::FieldTable& args = framing::FieldTable())
+         throw(UnknownExchangeTypeException);
+    QPID_BROKER_EXTERN void destroy(const std::string& name);
+    QPID_BROKER_EXTERN Exchange::shared_ptr get(const std::string& name);
     Exchange::shared_ptr getDefault();
 
     /**

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/ExpiryPolicy.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
  */
 
 #include "qpid/RefCounted.h"
+#include "BrokerImportExport.h"
 
 namespace qpid {
 namespace broker {
@@ -35,9 +36,9 @@
 class ExpiryPolicy : public RefCounted
 {
   public:
-    virtual ~ExpiryPolicy();
-    virtual void willExpire(Message&);
-    virtual bool hasExpired(Message&);
+    QPID_BROKER_EXTERN virtual ~ExpiryPolicy();
+    QPID_BROKER_EXTERN virtual void willExpire(Message&);
+    QPID_BROKER_EXTERN virtual bool hasExpired(Message&);
 };
 }} // namespace qpid::broker
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/FanOutExchange.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/FanOutExchange.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/FanOutExchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/FanOutExchange.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
 
 #include <map>
 #include <vector>
+#include "BrokerImportExport.h"
 #include "Exchange.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/sys/CopyOnWriteArray.h"
@@ -38,22 +39,30 @@
   public:
     static const std::string typeName;
         
-    FanOutExchange(const std::string& name, management::Manageable* parent = 0);
-    FanOutExchange(const string& _name, bool _durable, 
-                   const qpid::framing::FieldTable& _args,
-                   management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN FanOutExchange(const std::string& name,
+                                      management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN FanOutExchange(const string& _name,
+                                      bool _durable, 
+                                      const qpid::framing::FieldTable& _args,
+                                      management::Manageable* parent = 0);
 
     virtual std::string getType() const { return typeName; }            
         
-    virtual bool bind(Queue::shared_ptr queue, const std::string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual bool bind(Queue::shared_ptr queue,
+                                         const std::string& routingKey,
+                                         const qpid::framing::FieldTable* args);
 
     virtual bool unbind(Queue::shared_ptr queue, const std::string& routingKey, const qpid::framing::FieldTable* args);
 
-    virtual void route(Deliverable& msg, const std::string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual void route(Deliverable& msg,
+                                          const std::string& routingKey,
+                                          const qpid::framing::FieldTable* args);
+
+    QPID_BROKER_EXTERN virtual bool isBound(Queue::shared_ptr queue,
+                                            const string* const routingKey,
+                                            const qpid::framing::FieldTable* const args);
 
-    virtual bool isBound(Queue::shared_ptr queue, const string* const routingKey, const qpid::framing::FieldTable* const args);
-
-    virtual ~FanOutExchange();
+    QPID_BROKER_EXTERN virtual ~FanOutExchange();
     virtual bool supportsDynamicBinding() { return true; }
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/HeadersExchange.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
 #define _HeadersExchange_
 
 #include <vector>
+#include "BrokerImportExport.h"
 #include "Exchange.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/sys/CopyOnWriteArray.h"
@@ -59,24 +60,32 @@
   public:
     static const std::string typeName;
 
-    HeadersExchange(const string& name, management::Manageable* parent = 0);
-    HeadersExchange(const string& _name, bool _durable, 
-                    const qpid::framing::FieldTable& _args,
-                    management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN HeadersExchange(const string& name,
+                                       management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN HeadersExchange(const string& _name,
+                                       bool _durable, 
+                                       const qpid::framing::FieldTable& _args,
+                                       management::Manageable* parent = 0);
     
     virtual std::string getType() const { return typeName; }            
         
-    virtual bool bind(Queue::shared_ptr queue, const string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual bool bind(Queue::shared_ptr queue,
+                                         const string& routingKey,
+                                         const qpid::framing::FieldTable* args);
 
     virtual bool unbind(Queue::shared_ptr queue, const string& routingKey, const qpid::framing::FieldTable* args);
 
-    virtual void route(Deliverable& msg, const string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual void route(Deliverable& msg,
+                                          const string& routingKey,
+                                          const qpid::framing::FieldTable* args);
 
-    virtual bool isBound(Queue::shared_ptr queue, const string* const routingKey, const qpid::framing::FieldTable* const args);
+    QPID_BROKER_EXTERN virtual bool isBound(Queue::shared_ptr queue,
+                                            const string* const routingKey,
+                                            const qpid::framing::FieldTable* const args);
 
-    virtual ~HeadersExchange();
+    QPID_BROKER_EXTERN virtual ~HeadersExchange();
 
-    static bool match(const qpid::framing::FieldTable& bindArgs, const qpid::framing::FieldTable& msgArgs);
+    static QPID_BROKER_EXTERN bool match(const qpid::framing::FieldTable& bindArgs, const qpid::framing::FieldTable& msgArgs);
     static bool equal(const qpid::framing::FieldTable& bindArgs, const qpid::framing::FieldTable& msgArgs);
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/IncompleteMessageList.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/IncompleteMessageList.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/IncompleteMessageList.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/IncompleteMessageList.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _IncompleteMessageList_
 #define _IncompleteMessageList_
 
+#include "BrokerImportExport.h"
 #include "qpid/sys/Monitor.h"
 #include "qpid/broker/Message.h"
 #include <boost/intrusive_ptr.hpp>
@@ -43,11 +44,11 @@
 public:
     typedef Message::MessageCallback CompletionListener;    
 
-    IncompleteMessageList();
-    ~IncompleteMessageList();
+    QPID_BROKER_EXTERN IncompleteMessageList();
+    QPID_BROKER_EXTERN ~IncompleteMessageList();
     
-    void add(boost::intrusive_ptr<Message> msg);
-    void process(const CompletionListener& l, bool sync);
+    QPID_BROKER_EXTERN void add(boost::intrusive_ptr<Message> msg);
+    QPID_BROKER_EXTERN void process(const CompletionListener& l, bool sync);
     void each(const CompletionListener& l);
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Message.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Message.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Message.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Message.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "BrokerImportExport.h"
 #include "PersistableMessage.h"
 #include "MessageAdapter.h"
 #include "qpid/framing/amqp_types.h"
@@ -51,8 +52,8 @@
 public:
     typedef boost::function<void (const boost::intrusive_ptr<Message>&)> MessageCallback;
     
-    Message(const framing::SequenceNumber& id = framing::SequenceNumber());
-    ~Message();
+    QPID_BROKER_EXTERN Message(const framing::SequenceNumber& id = framing::SequenceNumber());
+    QPID_BROKER_EXTERN ~Message();
         
     uint64_t getPersistenceId() const { return persistenceId; }
     void setPersistenceId(uint64_t _persistenceId) const { persistenceId = _persistenceId; }
@@ -65,18 +66,18 @@
 
     const framing::SequenceNumber& getCommandId() { return frames.getId(); }
 
-    uint64_t contentSize() const;
+    QPID_BROKER_EXTERN uint64_t contentSize() const;
 
-    std::string getRoutingKey() const;
+    QPID_BROKER_EXTERN std::string getRoutingKey() const;
     const boost::shared_ptr<Exchange> getExchange(ExchangeRegistry&) const;
-    std::string getExchangeName() const;
+    QPID_BROKER_EXTERN std::string getExchangeName() const;
     bool isImmediate() const;
-    const framing::FieldTable* getApplicationHeaders() const;
+    QPID_BROKER_EXTERN const framing::FieldTable* getApplicationHeaders() const;
     framing::FieldTable& getOrInsertHeaders();
-    bool isPersistent();
+    QPID_BROKER_EXTERN bool isPersistent();
     bool requiresAccept();
 
-    void setTimestamp(const boost::intrusive_ptr<ExpiryPolicy>& e);
+    QPID_BROKER_EXTERN void setTimestamp(const boost::intrusive_ptr<ExpiryPolicy>& e);
     void setExpiryPolicy(const boost::intrusive_ptr<ExpiryPolicy>& e);
     bool hasExpired();
     sys::AbsTime getExpiration() const { return expiration; }
@@ -125,8 +126,8 @@
     uint32_t encodedHeaderSize() const;
     uint32_t encodedContentSize() const;
 
-    void decodeHeader(framing::Buffer& buffer);
-    void decodeContent(framing::Buffer& buffer);
+    QPID_BROKER_EXTERN void decodeHeader(framing::Buffer& buffer);
+    QPID_BROKER_EXTERN void decodeContent(framing::Buffer& buffer);
             
     /**
      * Releases the in-memory content data held by this
@@ -140,7 +141,7 @@
     void sendContent(const Queue& queue, framing::FrameHandler& out, uint16_t maxFrameSize) const;
     void sendHeader(framing::FrameHandler& out, uint16_t maxFrameSize) const;
 
-    bool isContentLoaded() const;
+    QPID_BROKER_EXTERN bool isContentLoaded() const;
 
     bool isExcluded(const std::vector<std::string>& excludes) const;
     void addTraceId(const std::string& id);

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/MessageBuilder.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/MessageBuilder.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/MessageBuilder.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/MessageBuilder.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _MessageBuilder_
 #define _MessageBuilder_
 
+#include "BrokerImportExport.h"
 #include "qpid/framing/FrameHandler.h"
 #include "qpid/framing/SequenceNumber.h"
 #include "qpid/RefCounted.h"
@@ -34,10 +35,11 @@
 
         class MessageBuilder : public framing::FrameHandler{
         public:
-            MessageBuilder(MessageStore* const store, uint64_t stagingThreshold);
-            void handle(framing::AMQFrame& frame);
+            QPID_BROKER_EXTERN MessageBuilder(MessageStore* const store,
+                                              uint64_t stagingThreshold);
+            QPID_BROKER_EXTERN void handle(framing::AMQFrame& frame);
             boost::intrusive_ptr<Message> getMessage() { return message; }
-            void start(const framing::SequenceNumber& id);
+            QPID_BROKER_EXTERN void start(const framing::SequenceNumber& id);
             void end();
         private:
             enum State {DORMANT, METHOD, HEADER, CONTENT};

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/NullMessageStore.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
 #define _NullMessageStore_
 
 #include <set>
+#include "BrokerImportExport.h"
 #include "MessageStore.h"
 #include "Queue.h"
 
@@ -38,46 +39,54 @@
     std::set<std::string> prepared;
     uint64_t nextPersistenceId;
   public:
-    NullMessageStore();
+    QPID_BROKER_EXTERN NullMessageStore();
 
-    virtual bool init(const Options* options);
-    virtual std::auto_ptr<TransactionContext> begin();
-    virtual std::auto_ptr<TPCTransactionContext> begin(const std::string& xid);
-    virtual void prepare(TPCTransactionContext& txn);
-    virtual void commit(TransactionContext& txn);
-    virtual void abort(TransactionContext& txn);
-    virtual void collectPreparedXids(std::set<std::string>& xids);
-
-    virtual void create(PersistableQueue& queue, const framing::FieldTable& args);
-    virtual void destroy(PersistableQueue& queue);
-    virtual void create(const PersistableExchange& exchange, const framing::FieldTable& args);
-    virtual void destroy(const PersistableExchange& exchange);
-
-    virtual void bind(const PersistableExchange& exchange, const PersistableQueue& queue, 
-                      const std::string& key, const framing::FieldTable& args);
-    virtual void unbind(const PersistableExchange& exchange, const PersistableQueue& queue, 
-                        const std::string& key, const framing::FieldTable& args);
-    virtual void create(const PersistableConfig& config);
-    virtual void destroy(const PersistableConfig& config);
-    virtual void recover(RecoveryManager& queues);
-    virtual void stage(const boost::intrusive_ptr<PersistableMessage>& msg);
-    virtual void destroy(PersistableMessage& msg);
-    virtual void appendContent(const boost::intrusive_ptr<const PersistableMessage>& msg,
-                               const std::string& data);
-    virtual void loadContent(const qpid::broker::PersistableQueue& queue,
-                             const boost::intrusive_ptr<const PersistableMessage>& msg, std::string& data,
-                             uint64_t offset, uint32_t length);
-    virtual void enqueue(TransactionContext* ctxt,
-                         const boost::intrusive_ptr<PersistableMessage>& msg,
-                         const PersistableQueue& queue);
-    virtual void dequeue(TransactionContext* ctxt,
-                         const boost::intrusive_ptr<PersistableMessage>& msg,
-                         const PersistableQueue& queue);
-    virtual uint32_t outstandingQueueAIO(const PersistableQueue& queue);
-    virtual void flush(const qpid::broker::PersistableQueue& queue);
+    QPID_BROKER_EXTERN virtual bool init(const Options* options);
+    QPID_BROKER_EXTERN virtual std::auto_ptr<TransactionContext> begin();
+    QPID_BROKER_EXTERN virtual std::auto_ptr<TPCTransactionContext> begin(const std::string& xid);
+    QPID_BROKER_EXTERN virtual void prepare(TPCTransactionContext& txn);
+    QPID_BROKER_EXTERN virtual void commit(TransactionContext& txn);
+    QPID_BROKER_EXTERN virtual void abort(TransactionContext& txn);
+    QPID_BROKER_EXTERN virtual void collectPreparedXids(std::set<std::string>& xids);
+
+    QPID_BROKER_EXTERN virtual void create(PersistableQueue& queue,
+                                           const framing::FieldTable& args);
+    QPID_BROKER_EXTERN virtual void destroy(PersistableQueue& queue);
+    QPID_BROKER_EXTERN virtual void create(const PersistableExchange& exchange,
+                                           const framing::FieldTable& args);
+    QPID_BROKER_EXTERN virtual void destroy(const PersistableExchange& exchange);
+
+    QPID_BROKER_EXTERN virtual void bind(const PersistableExchange& exchange,
+                                         const PersistableQueue& queue, 
+                                         const std::string& key,
+                                         const framing::FieldTable& args);
+    QPID_BROKER_EXTERN virtual void unbind(const PersistableExchange& exchange,
+                                           const PersistableQueue& queue, 
+                                           const std::string& key,
+                                           const framing::FieldTable& args);
+    QPID_BROKER_EXTERN virtual void create(const PersistableConfig& config);
+    QPID_BROKER_EXTERN virtual void destroy(const PersistableConfig& config);
+    QPID_BROKER_EXTERN virtual void recover(RecoveryManager& queues);
+    QPID_BROKER_EXTERN virtual void stage(const boost::intrusive_ptr<PersistableMessage>& msg);
+    QPID_BROKER_EXTERN virtual void destroy(PersistableMessage& msg);
+    QPID_BROKER_EXTERN virtual void appendContent(const boost::intrusive_ptr<const PersistableMessage>& msg,
+                                                  const std::string& data);
+    QPID_BROKER_EXTERN virtual void loadContent(const qpid::broker::PersistableQueue& queue,
+                                                const boost::intrusive_ptr<const PersistableMessage>& msg,
+                                                std::string& data,
+                                                uint64_t offset,
+                                                uint32_t length);
+    QPID_BROKER_EXTERN virtual void enqueue(TransactionContext* ctxt,
+                                            const boost::intrusive_ptr<PersistableMessage>& msg,
+                                            const PersistableQueue& queue);
+    QPID_BROKER_EXTERN virtual void dequeue(TransactionContext* ctxt,
+                                            const boost::intrusive_ptr<PersistableMessage>& msg,
+                                            const PersistableQueue& queue);
+    QPID_BROKER_EXTERN virtual uint32_t outstandingQueueAIO(const PersistableQueue& queue);
+    QPID_BROKER_EXTERN virtual void flush(const qpid::broker::PersistableQueue& queue);
     ~NullMessageStore(){}
 
-    virtual bool isNull() const;
+    QPID_BROKER_EXTERN virtual bool isNull() const;
     static bool isNullStore(const MessageStore*);
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/PersistableMessage.h Thu Mar 12 20:55:34 2009
@@ -26,6 +26,7 @@
 #include <list>
 #include <boost/shared_ptr.hpp>
 #include <boost/weak_ptr.hpp>
+#include "BrokerImportExport.h"
 #include "Persistable.h"
 #include "qpid/framing/amqp_types.h"
 #include "qpid/sys/Mutex.h"
@@ -93,21 +94,23 @@
     
     bool isContentReleased() const;
 	
-    bool isEnqueueComplete();
+    QPID_BROKER_EXTERN bool isEnqueueComplete();
 
-    void enqueueComplete();
+    QPID_BROKER_EXTERN void enqueueComplete();
 
-    void enqueueAsync(PersistableQueue::shared_ptr queue, MessageStore* _store);
+    QPID_BROKER_EXTERN void enqueueAsync(PersistableQueue::shared_ptr queue,
+                                         MessageStore* _store);
 
-    void enqueueAsync();
+    QPID_BROKER_EXTERN void enqueueAsync();
 
-    bool isDequeueComplete();
+    QPID_BROKER_EXTERN bool isDequeueComplete();
     
-    void dequeueComplete();
+    QPID_BROKER_EXTERN void dequeueComplete();
 
-    void dequeueAsync(PersistableQueue::shared_ptr queue, MessageStore* _store);
+    QPID_BROKER_EXTERN void dequeueAsync(PersistableQueue::shared_ptr queue,
+                                         MessageStore* _store);
 
-    void dequeueAsync();
+    QPID_BROKER_EXTERN void dequeueAsync();
 };
 
 }}

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,8 @@
  * under the License.
  *
  */
+
+#include "BrokerImportExport.h"
 #include "OwnershipToken.h"
 #include "Consumer.h"
 #include "Message.h"
@@ -152,13 +154,14 @@
 
             typedef std::vector<shared_ptr> vector;
 
-            Queue(const string& name, bool autodelete = false, 
-                  MessageStore* const store = 0, 
-                  const OwnershipToken* const owner = 0,
-                  management::Manageable* parent = 0);
-            ~Queue();
+            QPID_BROKER_EXTERN Queue(const string& name,
+                                     bool autodelete = false, 
+                                     MessageStore* const store = 0, 
+                                     const OwnershipToken* const owner = 0,
+                                     management::Manageable* parent = 0);
+            QPID_BROKER_EXTERN ~Queue();
 
-            bool dispatch(Consumer::shared_ptr);
+            QPID_BROKER_EXTERN bool dispatch(Consumer::shared_ptr);
             /**
              * Check whether there would be a message available for
              * dispatch to this consumer. If not, the consumer will be
@@ -170,24 +173,28 @@
             void create(const qpid::framing::FieldTable& settings);
 
             // "recovering" means we are doing a MessageStore recovery.
-            void configure(const qpid::framing::FieldTable& settings, bool recovering = false);
+            QPID_BROKER_EXTERN void configure(const qpid::framing::FieldTable& settings,
+                                              bool recovering = false);
             void destroy();
-            void bound(const string& exchange, const string& key, const qpid::framing::FieldTable& args);
-            void unbind(ExchangeRegistry& exchanges, Queue::shared_ptr shared_ref);
+            QPID_BROKER_EXTERN void bound(const string& exchange,
+                                          const string& key,
+                                          const qpid::framing::FieldTable& args);
+            QPID_BROKER_EXTERN void unbind(ExchangeRegistry& exchanges,
+                                           Queue::shared_ptr shared_ref);
 
-            bool acquire(const QueuedMessage& msg);
+            QPID_BROKER_EXTERN bool acquire(const QueuedMessage& msg);
             bool acquireMessageAt(const qpid::framing::SequenceNumber& position, QueuedMessage& message);
 
             /**
              * Delivers a message to the queue. Will record it as
              * enqueued if persistent then process it.
              */
-            void deliver(boost::intrusive_ptr<Message>& msg);
+            QPID_BROKER_EXTERN void deliver(boost::intrusive_ptr<Message>& msg);
             /**
              * Dispatches the messages immediately to a consumer if
              * one is available or stores it for later if not.
              */
-            void process(boost::intrusive_ptr<Message>& msg);
+            QPID_BROKER_EXTERN void process(boost::intrusive_ptr<Message>& msg);
             /**
              * Returns a message to the in-memory queue (due to lack
              * of acknowledegement from a receiver). If a consumer is
@@ -200,17 +207,18 @@
              */
             void recover(boost::intrusive_ptr<Message>& msg);
 
-            void consume(Consumer::shared_ptr c, bool exclusive = false);
-            void cancel(Consumer::shared_ptr c);
+            QPID_BROKER_EXTERN void consume(Consumer::shared_ptr c,
+                                            bool exclusive = false);
+            QPID_BROKER_EXTERN void cancel(Consumer::shared_ptr c);
 
             uint32_t purge(const uint32_t purge_request = 0); //defaults to all messages 
-            void purgeExpired();
+            QPID_BROKER_EXTERN void purgeExpired();
 
             //move qty # of messages to destination Queue destq
             uint32_t move(const Queue::shared_ptr destq, uint32_t qty); 
 
-            uint32_t getMessageCount() const;
-            uint32_t getConsumerCount() const;
+            QPID_BROKER_EXTERN uint32_t getMessageCount() const;
+            QPID_BROKER_EXTERN uint32_t getConsumerCount() const;
             inline const string& getName() const { return name; }
             bool isExclusiveOwner(const OwnershipToken* const o) const;
             void releaseExclusiveOwnership();
@@ -226,8 +234,8 @@
             /**
              * used to take messages from in memory and flush down to disk.
              */
-            void setLastNodeFailure();
-            void clearLastNodeFailure();
+            QPID_BROKER_EXTERN void setLastNodeFailure();
+            QPID_BROKER_EXTERN void clearLastNodeFailure();
 
             bool enqueue(TransactionContext* ctxt, boost::intrusive_ptr<Message> msg);
             /**
@@ -243,7 +251,7 @@
             /**
              * Gets the next available message 
              */
-            QueuedMessage get();
+            QPID_BROKER_EXTERN QueuedMessage get();
 
             /** Get the message at position pos */
             QueuedMessage find(framing::SequenceNumber pos) const;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueCleaner.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueCleaner.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueueCleaner.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueCleaner.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "BrokerImportExport.h"
 #include "Timer.h"
 
 namespace qpid {
@@ -34,8 +35,8 @@
 class QueueCleaner
 {
   public:
-    QueueCleaner(QueueRegistry& queues, Timer& timer);
-    void start(qpid::sys::Duration period);
+    QPID_BROKER_EXTERN QueueCleaner(QueueRegistry& queues, Timer& timer);
+    QPID_BROKER_EXTERN void start(qpid::sys::Duration period);
   private:
     class Task : public TimerTask
     {

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueEvents.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueEvents.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueueEvents.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueEvents.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "BrokerImportExport.h"
 #include "QueuedMessage.h"
 #include "qpid/sys/Mutex.h"
 #include "qpid/sys/PollableQueue.h"
@@ -48,21 +49,22 @@
         EventType type;
         QueuedMessage msg;
 
-        Event(EventType, const QueuedMessage&);
+        QPID_BROKER_EXTERN Event(EventType, const QueuedMessage&);
     };
 
     typedef boost::function<void (Event)> EventListener;
 
-    QueueEvents(const boost::shared_ptr<sys::Poller>& poller);
-    ~QueueEvents();
-    void enqueued(const QueuedMessage&);
-    void dequeued(const QueuedMessage&);
-    void registerListener(const std::string& id, const EventListener&);
-    void unregisterListener(const std::string& id);
+    QPID_BROKER_EXTERN QueueEvents(const boost::shared_ptr<sys::Poller>& poller);
+    QPID_BROKER_EXTERN ~QueueEvents();
+    QPID_BROKER_EXTERN void enqueued(const QueuedMessage&);
+    QPID_BROKER_EXTERN void dequeued(const QueuedMessage&);
+    QPID_BROKER_EXTERN void registerListener(const std::string& id,
+                                             const EventListener&);
+    QPID_BROKER_EXTERN void unregisterListener(const std::string& id);
     void enable();
     void disable();
     //process all outstanding events
-    void shutdown();
+    QPID_BROKER_EXTERN void shutdown();
   private:
     typedef qpid::sys::PollableQueue<Event> EventQueue;
     typedef std::map<std::string, EventListener> Listeners;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueuePolicy.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueuePolicy.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueuePolicy.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueuePolicy.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 #include <deque>
 #include <iostream>
 #include <memory>
+#include "BrokerImportExport.h"
 #include "QueuedMessage.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/sys/AtomicValue.h"
@@ -47,20 +48,20 @@
     static std::string getType(const qpid::framing::FieldTable& settings);
 
   public:
-    static const std::string maxCountKey;
-    static const std::string maxSizeKey;
-    static const std::string typeKey;
-    static const std::string REJECT;
-    static const std::string FLOW_TO_DISK;
-    static const std::string RING;
-    static const std::string RING_STRICT;            
+    static QPID_BROKER_EXTERN const std::string maxCountKey;
+    static QPID_BROKER_EXTERN const std::string maxSizeKey;
+    static QPID_BROKER_EXTERN const std::string typeKey;
+    static QPID_BROKER_EXTERN const std::string REJECT;
+    static QPID_BROKER_EXTERN const std::string FLOW_TO_DISK;
+    static QPID_BROKER_EXTERN const std::string RING;
+    static QPID_BROKER_EXTERN const std::string RING_STRICT;            
 
     virtual ~QueuePolicy() {}
-    void tryEnqueue(const QueuedMessage&);
+    QPID_BROKER_EXTERN void tryEnqueue(const QueuedMessage&);
     virtual void dequeued(const QueuedMessage&);
     virtual bool isEnqueued(const QueuedMessage&);
     virtual bool checkLimit(const QueuedMessage&);
-    void update(qpid::framing::FieldTable& settings);
+    QPID_BROKER_EXTERN void update(qpid::framing::FieldTable& settings);
     uint32_t getMaxCount() const { return maxCount; }
     uint64_t getMaxSize() const { return maxSize; }           
     void encode(framing::Buffer& buffer) const;
@@ -68,10 +69,11 @@
     uint32_t encodedSize() const;
 
 
-    static std::auto_ptr<QueuePolicy> createQueuePolicy(const qpid::framing::FieldTable& settings);
-    static std::auto_ptr<QueuePolicy> createQueuePolicy(uint32_t maxCount, uint64_t maxSize, const std::string& type = REJECT);
+    static QPID_BROKER_EXTERN std::auto_ptr<QueuePolicy> createQueuePolicy(const qpid::framing::FieldTable& settings);
+    static QPID_BROKER_EXTERN std::auto_ptr<QueuePolicy> createQueuePolicy(uint32_t maxCount, uint64_t maxSize, const std::string& type = REJECT);
     static void setDefaultMaxSize(uint64_t);
-    friend std::ostream& operator<<(std::ostream&, const QueuePolicy&);
+    friend QPID_BROKER_EXTERN std::ostream& operator<<(std::ostream&,
+                                                       const QueuePolicy&);
   protected:
     QueuePolicy(uint32_t maxCount, uint64_t maxSize, const std::string& type = REJECT);
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _QueueRegistry_
 #define _QueueRegistry_
 
+#include "BrokerImportExport.h"
 #include "Queue.h"
 #include "qpid/sys/Mutex.h"
 #include "qpid/management/Manageable.h"
@@ -40,10 +41,10 @@
  * are deleted when and only when they are no longer in use.
  *
  */
-class QueueRegistry{
+class QueueRegistry {
   public:
-    QueueRegistry();
-    ~QueueRegistry();
+    QPID_BROKER_EXTERN QueueRegistry();
+    QPID_BROKER_EXTERN ~QueueRegistry();
 
     /**
      * Declare a queue.
@@ -51,8 +52,11 @@
      * @return The queue and a boolean flag which is true if the queue
      * was created by this declare call false if it already existed.
      */
-    std::pair<Queue::shared_ptr, bool> declare(const string& name, bool durable = false, bool autodelete = false, 
-                                               const OwnershipToken* owner = 0);
+    QPID_BROKER_EXTERN std::pair<Queue::shared_ptr, bool> declare
+      (const string& name,
+       bool durable = false,
+       bool autodelete = false, 
+       const OwnershipToken* owner = 0);
 
     /**
      * Destroy the named queue.
@@ -66,7 +70,7 @@
      * subsequent calls to find or declare with the same name.
      *
      */
-    void destroy   (const string& name);
+    QPID_BROKER_EXTERN void destroy(const string& name);
     template <class Test> bool destroyIf(const string& name, Test test)
     {
         qpid::sys::RWlock::ScopedWlock locker(lock);
@@ -81,7 +85,7 @@
     /**
      * Find the named queue. Return 0 if not found.
      */
-    Queue::shared_ptr find(const string& name);
+    QPID_BROKER_EXTERN Queue::shared_ptr find(const string& name);
 
     /**
      * Generate unique queue name.

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/RetryList.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/RetryList.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/RetryList.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/RetryList.h Thu Mar 12 20:55:34 2009
@@ -22,6 +22,7 @@
  *
  */
 
+#include "BrokerImportExport.h"
 #include "qpid/Address.h"
 #include "qpid/Url.h"
 
@@ -35,9 +36,9 @@
 class RetryList
 {
   public:
-    RetryList();                
-    void reset(const std::vector<Url>& urls);
-    bool next(TcpAddress& address);
+    QPID_BROKER_EXTERN RetryList();                
+    QPID_BROKER_EXTERN void reset(const std::vector<Url>& urls);
+    QPID_BROKER_EXTERN bool next(TcpAddress& address);
   private:
     std::vector<Url> urls;
     size_t urlIndex;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h Thu Mar 12 20:55:34 2009
@@ -56,7 +56,7 @@
 class SessionHandler;
 class SessionManager;
 class RateFlowcontrol;
-class TimerTask;
+struct TimerTask;
 
 /**
  * Broker-side session state includes session's handler chains, which

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Timer.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Timer.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Timer.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Timer.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _Timer_
 #define _Timer_
 
+#include "BrokerImportExport.h"
 #include "qpid/sys/Monitor.h"
 #include "qpid/sys/Thread.h"
 #include "qpid/sys/Runnable.h"
@@ -43,9 +44,9 @@
     qpid::sys::AbsTime time;
     volatile bool cancelled;
 
-    TimerTask(qpid::sys::Duration timeout);
+    QPID_BROKER_EXTERN TimerTask(qpid::sys::Duration timeout);
     TimerTask(qpid::sys::AbsTime time);
-    virtual ~TimerTask();
+    QPID_BROKER_EXTERN virtual ~TimerTask();
     void reset();
     void cancel();
     bool isCancelled() const;
@@ -69,10 +70,10 @@
     virtual void run();
 
   public:
-    Timer();
-    virtual ~Timer();
+    QPID_BROKER_EXTERN Timer();
+    QPID_BROKER_EXTERN virtual ~Timer();
 
-    void add(boost::intrusive_ptr<TimerTask> task);
+    QPID_BROKER_EXTERN void add(boost::intrusive_ptr<TimerTask> task);
     void start();
     void stop();
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/TopicExchange.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/TopicExchange.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/TopicExchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/TopicExchange.h Thu Mar 12 20:55:34 2009
@@ -23,6 +23,7 @@
 
 #include <map>
 #include <vector>
+#include "BrokerImportExport.h"
 #include "Exchange.h"
 #include "qpid/framing/FieldTable.h"
 #include "qpid/sys/Monitor.h"
@@ -40,7 +41,7 @@
     /** Tokenize s, provides automatic conversion of string to Tokens */
     Tokens(const std::string& s) { operator=(s); }
     /** Tokenizing assignment operator s */
-    Tokens & operator=(const std::string& s);
+    QPID_BROKER_EXTERN Tokens & operator=(const std::string& s);
     void key(std::string& key) const;
     
   private:
@@ -60,12 +61,12 @@
     // Default copy, assign, dtor are sufficient.
     TopicPattern(const Tokens& tokens) { operator=(tokens); }
     TopicPattern(const std::string& str) { operator=(str); }
-    TopicPattern& operator=(const Tokens&);
+    QPID_BROKER_EXTERN TopicPattern& operator=(const Tokens&);
     TopicPattern& operator=(const std::string& str) { return operator=(Tokens(str)); }
     
     /** Match a topic */
     bool match(const std::string& topic) { return match(Tokens(topic)); }
-    bool match(const Tokens& topic) const;
+    QPID_BROKER_EXTERN bool match(const Tokens& topic) const;
 
   private:
     void normalize();
@@ -84,21 +85,30 @@
   public:
     static const std::string typeName;
 
-    TopicExchange(const string& name, management::Manageable* parent = 0);
-    TopicExchange(const string& _name, bool _durable, 
-                  const qpid::framing::FieldTable& _args, management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN TopicExchange(const string& name,
+                                     management::Manageable* parent = 0);
+    QPID_BROKER_EXTERN TopicExchange(const string& _name,
+                                     bool _durable, 
+                                     const qpid::framing::FieldTable& _args,
+                                     management::Manageable* parent = 0);
 
     virtual std::string getType() const { return typeName; }            
 
-    virtual bool bind(Queue::shared_ptr queue, const string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual bool bind(Queue::shared_ptr queue,
+                                         const string& routingKey,
+                                         const qpid::framing::FieldTable* args);
 
     virtual bool unbind(Queue::shared_ptr queue, const string& routingKey, const qpid::framing::FieldTable* args);
 
-    virtual void route(Deliverable& msg, const string& routingKey, const qpid::framing::FieldTable* args);
+    QPID_BROKER_EXTERN virtual void route(Deliverable& msg,
+                                          const string& routingKey,
+                                          const qpid::framing::FieldTable* args);
+
+    QPID_BROKER_EXTERN virtual bool isBound(Queue::shared_ptr queue,
+                                            const string* const routingKey,
+                                            const qpid::framing::FieldTable* const args);
 
-    virtual bool isBound(Queue::shared_ptr queue, const string* const routingKey, const qpid::framing::FieldTable* const args);
-
-    virtual ~TopicExchange();
+    QPID_BROKER_EXTERN virtual ~TopicExchange();
     virtual bool supportsDynamicBinding() { return true; }
 };
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/TxBuffer.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/TxBuffer.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/TxBuffer.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/TxBuffer.h Thu Mar 12 20:55:34 2009
@@ -24,6 +24,7 @@
 #include <algorithm>
 #include <functional>
 #include <vector>
+#include "BrokerImportExport.h"
 #include "TransactionalStore.h"
 #include "TxOp.h"
 
@@ -68,7 +69,7 @@
             /**
              * Adds an operation to the transaction.
              */
-            void enlist(TxOp::shared_ptr op);
+            QPID_BROKER_EXTERN void enlist(TxOp::shared_ptr op);
 
             /**
              * Requests that all ops are prepared. This should
@@ -81,7 +82,7 @@
              * @returns true if all the operations prepared
              * successfully, false if not.
              */
-            bool prepare(TransactionContext* const ctxt);
+            QPID_BROKER_EXTERN bool prepare(TransactionContext* const ctxt);
 
             /**
              * Signals that the ops all prepared successfully and can
@@ -91,7 +92,7 @@
              * Should only be called after a call to prepare() returns
              * true.
              */
-            void commit();
+            QPID_BROKER_EXTERN void commit();
 
             /**
              * Signals that all ops can be rolled back.
@@ -100,13 +101,13 @@
              * returns true (2pc) or instead of a prepare call
              * ('server-local')
              */
-            void rollback();
+            QPID_BROKER_EXTERN void rollback();
 
             /**
              * Helper method for managing the process of server local
              * commit
              */
-            bool commitLocal(TransactionalStore* const store);
+            QPID_BROKER_EXTERN bool commitLocal(TransactionalStore* const store);
 
             // Used by cluster to replicate transaction status.
             void accept(TxOpConstVisitor& v) const;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/TxPublish.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/TxPublish.h?rev=753014&r1=753013&r2=753014&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/TxPublish.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/TxPublish.h Thu Mar 12 20:55:34 2009
@@ -21,6 +21,7 @@
 #ifndef _TxPublish_
 #define _TxPublish_
 
+#include "BrokerImportExport.h"
 #include "Queue.h"
 #include "Deliverable.h"
 #include "Message.h"
@@ -65,19 +66,19 @@
             std::list<Queue::shared_ptr> queues;
 
         public:
-            TxPublish(boost::intrusive_ptr<Message> msg);
-            virtual bool prepare(TransactionContext* ctxt) throw();
-            virtual void commit() throw();
-            virtual void rollback() throw();
+            QPID_BROKER_EXTERN TxPublish(boost::intrusive_ptr<Message> msg);
+            QPID_BROKER_EXTERN virtual bool prepare(TransactionContext* ctxt) throw();
+            QPID_BROKER_EXTERN virtual void commit() throw();
+            QPID_BROKER_EXTERN virtual void rollback() throw();
 
 	    virtual Message& getMessage() { return *msg; };
             
-            virtual void deliverTo(const boost::shared_ptr<Queue>& queue);
+            QPID_BROKER_EXTERN virtual void deliverTo(const boost::shared_ptr<Queue>& queue);
 
             virtual ~TxPublish(){}
             virtual void accept(TxOpConstVisitor& visitor) const { visitor(*this); }
 
-            uint64_t contentSize();
+            QPID_BROKER_EXTERN uint64_t contentSize();
 
             boost::intrusive_ptr<Message> getMessage() const { return msg; }
             const std::list<Queue::shared_ptr> getQueues() const { return queues; }



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