qpid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From acon...@apache.org
Subject svn commit: r1151956 [1/3] - in /qpid/branches/qpid-3163/qpid/cpp: ./ examples/messaging/ include/qmf/ include/qmf/engine/ include/qpid/ include/qpid/agent/ include/qpid/client/ include/qpid/console/ include/qpid/framing/ include/qpid/log/ include/qpid...
Date Thu, 28 Jul 2011 18:29:32 GMT
Author: aconway
Date: Thu Jul 28 18:28:56 2011
New Revision: 1151956

URL: http://svn.apache.org/viewvc?rev=1151956&view=rev
Log:
Merge branch 'visibility-hidden' into qpid-3163

Added:
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/rdma/ImportExport.h
      - copied, changed from r1151955, qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DtxTimeout.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/ssl/SslCommonImportExport.h
      - copied, changed from r1151955, qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DtxTimeout.h
Modified:
    qpid/branches/qpid-3163/qpid/cpp/configure.ac
    qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.cpp
    qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.h
    qpid/branches/qpid-3163/qpid/cpp/include/qmf/Subscription.h
    qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/ConnectionSettings.h
    qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/Address.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/Exception.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/ImportExport.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/Options.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/RangeSet.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/SessionId.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/Url.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/agent/ManagementAgent.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/client/Handle.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Broker.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Event.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Object.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SequenceManager.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SessionManager.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldTable.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldValue.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/Uuid.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Options.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Selector.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/SinkOptions.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Statement.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Buffer.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/ManagementObject.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Mutex.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/IOHandle.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Thread.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Time.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/Mutex.h
    qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h
    qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Args.h
    qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Class.h
    qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Event.h
    qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Package.h
    qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/V2Package.h
    qpid/branches/qpid-3163/qpid/cpp/rubygen/0-10/exceptions.rb
    qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/MethodBodyConstVisitor.rb
    qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/Session.rb
    qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/constants.rb
    qpid/branches/qpid-3163/qpid/cpp/src/Makefile.am
    qpid/branches/qpid-3163/qpid/cpp/src/qmf.mk
    qpid/branches/qpid-3163/qpid/cpp/src/qmf/QueryImpl.h
    qpid/branches/qpid-3163/qpid/cpp/src/qmf/SchemaImpl.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/DataDir.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/DisableExceptionLogging.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/Modules.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/Plugin.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/RefCountedBuffer.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/SaslFactory.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/SessionState.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/amqp_0_10/Connection.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/amqp_0_10/Exception.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/amqp_0_10/Map.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/assert.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Bridge.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Broker.cpp
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Broker.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/BrokerImportExport.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Connection.cpp
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Connection.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/ConnectionFactory.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Daemon.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DeliveryRecord.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DirectExchange.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DtxBuffer.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DtxTimeout.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/DtxWorkRecord.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/ExchangeRegistry.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Fairshare.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/FanOutExchange.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/HeadersExchange.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Link.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/LinkRegistry.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Message.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/PersistableMessage.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/Queue.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/QueueCleaner.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/QueueEvents.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/QueueFlowLimit.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/QueueListeners.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/QueuePolicy.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/QueueRegistry.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/RecoveredDequeue.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/RecoveredEnqueue.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/RetryList.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/SecureConnection.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/SemanticState.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/SignalHandler.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/TopicExchange.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/TxAccept.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/broker/TxBuffer.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/Bounds.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/ConnectionImpl.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/Connector.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/Demux.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/Dispatcher.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/SessionImpl.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/client/SubscriptionImpl.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/cluster/Cpg.cpp
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/cluster/Cpg.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/AMQMethodBody.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/AccumulatedAck.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/FrameDecoder.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/FrameSet.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/ProtocolInitiation.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/Proxy.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/SendContent.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/framing/SequenceNumberSet.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/log/posix/SinkOptions.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/management/ManagementAgent.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/messaging/AddressParser.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/AsynchIO.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/AsynchIOHandler.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/ClusterSafe.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/DispatchHandle.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/Dispatcher.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/LockFile.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/PipeHandle.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/PollableCondition.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/Poller.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/Shlib.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/SocketAddress.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/Timer.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/cyrus/CyrusSecurityLayer.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/posix/Fork.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/posix/PidFile.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/posix/Shlib.cpp
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/rdma/RdmaIO.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/rdma/rdma_wrap.h
    qpid/branches/qpid-3163/qpid/cpp/src/qpid/sys/ssl/SslIo.h
    qpid/branches/qpid-3163/qpid/cpp/src/ssl.mk
    qpid/branches/qpid-3163/qpid/cpp/src/tests/unit_test.cpp

Modified: qpid/branches/qpid-3163/qpid/cpp/configure.ac
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/configure.ac?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/configure.ac (original)
+++ qpid/branches/qpid-3163/qpid/cpp/configure.ac Thu Jul 28 18:28:56 2011
@@ -27,7 +27,7 @@ AC_PROG_CC_STDC
 AM_PROG_CC_C_O
 AC_PROG_CXX
 AC_USE_SYSTEM_EXTENSIONS
-AC_LANG([C++])	
+AC_LANG([C++])
 
 # Check for optional use of help2man
 AC_CHECK_PROG([HELP2MAN], [help2man], [help2man])
@@ -81,14 +81,15 @@ if test x$GXX = xyes; then
 	    gl_COMPILER_FLAGS(-Wvolatile-register-var)
 	    gl_COMPILER_FLAGS(-Winvalid-pch)
 	    gl_COMPILER_FLAGS(-Wno-system-headers)
-	    gl_COMPILER_FLAGS(-Woverloaded-virtual)	
+	    gl_COMPILER_FLAGS(-Woverloaded-virtual)
+	    gl_COMPILER_FLAGS(-Wno-attributes)
 	    AC_SUBST([WARNING_CFLAGS], [$COMPILER_FLAGS])
 	    AC_DEFINE([lint], 1, [Define to 1 if the compiler is checking for lint.])
 	    COMPILER_FLAGS=
 	fi
 else
 	AC_CHECK_DECL([__SUNPRO_CC], [SUNCC=yes], [SUNCC=no])
-	
+
 	# Set up for sun CC compiler
 	if test x$SUNCC = xyes; then
 		if test "${enableval}" = yes; then
@@ -116,7 +117,7 @@ LIBS=$gl_saved_libs
 
 gl_CLOCK_TIME
 
-# Enable Valgrind	
+# Enable Valgrind
 AC_ARG_ENABLE([valgrind],
   [AS_HELP_STRING([--enable-valgrind],
     [run valgrind memory checker on tests, if available (default yes)])],
@@ -236,7 +237,7 @@ if test -n "$PERL"; then
     PERL_ARCHLIB=`perl -MConfig -e 'print "$Config{archlib}";'`
     AC_CHECK_FILE( ["$PERL_ARCHLIB/CORE/perl.h"],
             [AC_SUBST([PERL_INC], ["$PERL_ARCHLIB/CORE"])] )
-fi 
+fi
 AM_CONDITIONAL([HAVE_PERL_DEVEL], [test -n "$PERL" && test -n "$SWIG" && test -n "$PERL_INC"])
 
 specdir=`pwd`/$srcdir/../specs
@@ -261,7 +262,7 @@ tmp_LDFLAGS=$LDFLAGS
 LDFLAGS="$LDFLAGS -L/usr/lib/openais -L/usr/lib64/openais -L/usr/lib/corosync -L/usr/lib64/corosync"
 AC_CHECK_LIB([cpg],[cpg_local_get],[have_libcpg=yes],)
 AC_CHECK_HEADERS([openais/cpg.h corosync/cpg.h],[have_cpg_h=yes],)
-AC_ARG_WITH([cpg],  
+AC_ARG_WITH([cpg],
   [AS_HELP_STRING([--with-cpg], [Build with CPG support for clustering.])],
   [case "${withval}" in
     yes)			# yes - require dependencies
@@ -269,7 +270,7 @@ AC_ARG_WITH([cpg],  
     test x$have_cpg_h = xyes || AC_MSG_ERROR([cpg.h not found, install openais-devel or corosync-devel])
     with_cpg=yes
     ;;
-    no) with_cpg=no ;; 
+    no) with_cpg=no ;;
     *) AC_MSG_ERROR([Bad value ${withval} for --with-cpg option]) ;;
    esac],
    [		   # not specified - use if present
@@ -282,7 +283,7 @@ AS_IF([test ! x$with_cpg = xyes], [LDFLA
 
 AC_CHECK_LIB([cman],[cman_is_quorate],have_libcman=yes,)
 AC_CHECK_HEADERS([libcman.h],have_libcman_h=yes,)
-AC_ARG_WITH([libcman],  
+AC_ARG_WITH([libcman],
   [AS_HELP_STRING([--with-libcman], [Integration with libcman quorum service.])],
   [case "${withval}" in
     yes)			# yes - require dependencies
@@ -290,7 +291,7 @@ AC_ARG_WITH([libcman],  
     test x$have_libcman_h = xyes || AC_MSG_ERROR([libcman.h not found, install cman-devel or cmanlib-devel])
     with_libcman=yes
     ;;
-    no) with_libcman=no ;; 
+    no) with_libcman=no ;;
     *) AC_MSG_ERROR([Bad value ${withval} for --with-libcman option]) ;;
    esac],
    [				# not specified - use if present and we're using with_cpg
@@ -442,9 +443,9 @@ AC_ARG_WITH([ssl],
   [
     with_SSL=yes
     AC_PATH_PROG([NSPR_CONFIG], [nspr-config])
-    AS_IF([test x$NSPR_CONFIG = x], [with_SSL=no], 
+    AS_IF([test x$NSPR_CONFIG = x], [with_SSL=no],
       [AC_PATH_PROG([NSS_CONFIG], [nss-config])
-       AS_IF([test x$NSS_CONFIG = x], [with_SSL=no], 
+       AS_IF([test x$NSS_CONFIG = x], [with_SSL=no],
              [SSL_CFLAGS="`$NSPR_CONFIG --cflags` `$NSS_CONFIG --cflags`"
               SSL_LDFLAGS="`$NSPR_CONFIG --libs` `$NSS_CONFIG --libs`"])])
   ]
@@ -493,11 +494,11 @@ esac
 AM_CONDITIONAL([SUNOS], [test x$arch = xsolaris])
 
 # Check for some syslog capabilities not present in all systems
-AC_TRY_COMPILE([#include <sys/syslog.h>], 
+AC_TRY_COMPILE([#include <sys/syslog.h>],
                [int v = LOG_AUTHPRIV;],
                [AC_DEFINE([HAVE_LOG_AUTHPRIV], [1], [Set to 1 whether LOG_AUTHPRIV is supported.])],)
 
-AC_TRY_COMPILE([#include <sys/syslog.h>], 
+AC_TRY_COMPILE([#include <sys/syslog.h>],
                [int v = LOG_FTP;],
                [AC_DEFINE([HAVE_LOG_FTP], [1], [Set to 1 whether LOG_FTP is supported.])],)
 
@@ -521,6 +522,13 @@ AM_PATH_PYTHON()
 builddir_lib_suffix="/.libs"
 AC_SUBST([builddir_lib_suffix])
 
+# Enable -fvisibility=hidden if using a gcc that supports it
+save_CXXFLAGS="$CXXFLAGS"
+AC_MSG_CHECKING([whether $CC supports -fvisibility=hidden])
+CXXFLAGS="$CXXFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
+AC_LINK_IFELSE([AC_LANG_PROGRAM()], AC_MSG_RESULT([yes]),
+               [CXXFLAGS="$save_CXXFLAGS" ; AC_MSG_RESULT([no])]);
+
 # Files to generate
 AC_CONFIG_FILES([
   Makefile

Modified: qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.cpp?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.cpp (original)
+++ qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.cpp Thu Jul 28 18:28:56 2011
@@ -7,9 +7,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -93,12 +93,6 @@ class OptionMatch
     std::string name;
 };
 
-class OptionsError : public qpid::types::Exception
-{
-  public:
-    OptionsError(const std::string& message) : qpid::types::Exception(message) {}
-};
-
 Option::Option(const std::string& name, const std::string& desc) : description(desc)
 {
     std::string::size_type i = name.find(",");
@@ -197,7 +191,7 @@ Option* OptionParser::getOption(const st
             throw OptionsError(error.str());
         } else {
             return *i;
-        }        
+        }
     } else {
         return 0;
     }
@@ -251,7 +245,7 @@ bool OptionParser::parse(int argc, char*
 
 OptionParser::~OptionParser()
 {
-    for (Options::iterator i = options.begin(); i != options.end(); ++i) {        
+    for (Options::iterator i = options.begin(); i != options.end(); ++i) {
         delete *i;
     }
 }

Modified: qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/examples/messaging/OptionParser.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -25,6 +25,7 @@
 #include <map>
 #include <string>
 #include <vector>
+#include "qpid/CommonImportExport.h"
 
 class Option;
 
@@ -53,4 +54,10 @@ class OptionParser
     Option* getOption(const std::string& argument);
 };
 
+class QPID_COMMON_CLASS_EXTERN OptionsError : public qpid::types::Exception
+{
+  public:
+    OptionsError(const std::string& message) : qpid::types::Exception(message) {}
+};
+
 #endif  /*!OPTIONPARSER_H*/

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qmf/Subscription.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qmf/Subscription.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qmf/Subscription.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qmf/Subscription.h Thu Jul 28 18:28:56 2011
@@ -9,9 +9,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/ConnectionSettings.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/ConnectionSettings.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/ConnectionSettings.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/ConnectionSettings.h Thu Jul 28 18:28:56 2011
@@ -9,9 +9,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -34,7 +34,7 @@ namespace engine {
      *
      * \ingroup qmfapi
      */
-    class ConnectionSettings {
+    class QMFE_CLASS_EXTERN ConnectionSettings {
     public:
 
         /**

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qmf/engine/QmfEngineImportExport.h Thu Jul 28 18:28:56 2011
@@ -20,23 +20,16 @@
  * under the License.
  */
 
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
-#  if defined(QMF_EXPORT) || defined (qmfengine_EXPORTS)
-#    define QMFE_EXTERN __declspec(dllexport)
-#  else
-#    define QMFE_EXTERN __declspec(dllimport)
-#  endif
-#  ifdef _MSC_VER
-#    define QMFE_CLASS_EXTERN
-#    define QMFE_INLINE_EXTERN QMFE_EXTERN
-#  else
-#    define QMFE_CLASS_EXTERN QMFE_EXTERN
-#    define QMFE_INLINE_EXTERN
-#  endif
+#include "qpid/ImportExport.h"
+
+#if defined(QMF_EXPORT) || defined (qmfengine_EXPORTS)
+#  define QMFE_EXTERN QPID_EXPORT
+#  define QMFE_CLASS_EXTERN QPID_CLASS_EXPORT
+#  define QMFE_INLINE_EXTERN QPID_INLINE_EXPORT
 #else
-#  define QMFE_EXTERN
-#  define QMFE_CLASS_EXTERN
-#  define QMFE_INLINE_EXTERN
+#  define QMFE_EXTERN QPID_IMPORT
+#  define QMFE_CLASS_EXTERN QPID_CLASS_IMPORT
+#  define QMFE_INLINE_EXTERN QPID_INLINE_IMPORT
 #endif
 
 #endif

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/Address.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/Address.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/Address.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/Address.h Thu Jul 28 18:28:56 2011
@@ -29,13 +29,13 @@ namespace client { struct ConnectionSett
 
 
 /**
- * Contains the protocol address of an AMQP broker. 
+ * Contains the protocol address of an AMQP broker.
  */
-struct Address  {
+struct QPID_COMMON_CLASS_EXTERN Address  {
 public:
     static const std::string TCP; // Default TCP protocol tag.
     static const uint16_t AMQP_PORT=5672; // Default AMQP port.
-    
+
     QPID_COMMON_INLINE_EXTERN explicit Address(
         const std::string& protocol_=std::string(),
         const std::string& host_=std::string(),

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/Exception.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/Exception.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/Exception.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/Exception.h Thu Jul 28 18:28:56 2011
@@ -82,7 +82,7 @@ struct QPID_COMMON_CLASS_EXTERN ClosedEx
 /**
  * Exception representing transport failure
  */
-struct TransportFailure : public Exception {
+struct QPID_COMMON_CLASS_EXTERN TransportFailure : public Exception {
     TransportFailure(const std::string& msg=std::string()) : Exception(msg) {}
 };
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/ImportExport.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/ImportExport.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/ImportExport.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/ImportExport.h Thu Jul 28 18:28:56 2011
@@ -56,10 +56,21 @@
 #    define QPID_INLINE_EXPORT
 #    define QPID_INLINE_IMPORT
 #  endif
-#else
+#elif __GNUC__ >= 4
    //
-   // Non-Windows (Linux, etc.) definitions:
+   // GCC visibility attribute
    //
+#    define QPID_IMPORT __attribute__ ((visibility("default")))
+#    define QPID_EXPORT __attribute__ ((visibility("default")))
+#    define QPID_CLASS_EXPORT QPID_EXPORT
+#    define QPID_CLASS_IMPORT QPID_IMPORT
+#    define QPID_INLINE_EXPORT QPID_EXPORT
+#    define QPID_INLINE_IMPORT QPID_IMPORT
+
+#else
+    //
+    // No import/export definitions
+    //
 #  define QPID_EXPORT
 #  define QPID_IMPORT
 #  define QPID_CLASS_EXPORT

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/Options.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/Options.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/Options.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/Options.h Thu Jul 28 18:28:56 2011
@@ -53,7 +53,7 @@ QPID_COMMON_EXTERN std::string prettyArg
 
 /** @internal Normally only constructed by optValue() */
 template <class T>
-class OptionValue : public po::typed_value<T> {
+class QPID_COMMON_CLASS_EXTERN OptionValue : public po::typed_value<T> {
   public:
     OptionValue(T& value, const std::string& arg)
         : po::typed_value<T>(&value), argName(arg) {}
@@ -135,7 +135,7 @@ inline po::value_semantic* optValue(bool
 
 struct Options : public po::options_description {
 
-    struct Exception : public qpid::Exception {
+    struct QPID_COMMON_CLASS_EXTERN Exception : public qpid::Exception {
         Exception(const std::string& msg) : qpid::Exception(msg) {}
     };
 
@@ -161,7 +161,7 @@ struct Options : public po::options_desc
 /**
  * Standard options for configuration
  */
-struct CommonOptions : public Options {
+struct QPID_COMMON_CLASS_EXTERN CommonOptions : public Options {
     QPID_COMMON_EXTERN CommonOptions(const std::string& name=std::string(),
                   const std::string& configfile=std::string());
     bool help;

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/RangeSet.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/RangeSet.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/RangeSet.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/RangeSet.h Thu Jul 28 18:28:56 2011
@@ -190,8 +190,6 @@ class RangeSet
     static size_t accumulateSize(size_t s, const Range<T>& r) { return s+r.size(); }
     Ranges ranges;
 
-  template <class U> friend std::ostream& operator<<(std::ostream& o, const RangeSet<U>& r);
-
   friend class iterator;
 };
 
@@ -204,7 +202,7 @@ template <class T>
 std::ostream& operator<<(std::ostream& o, const RangeSet<T>& rs) {
     std::ostream_iterator<Range<T> > i(o, " ");
     o << "{ ";
-    std::copy(rs.ranges.begin(), rs.ranges.end(), i);
+    std::copy(rs.rangesBegin(), rs.rangesEnd(), i);
     return o << "}";
 }
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/SessionId.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/SessionId.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/SessionId.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/SessionId.h Thu Jul 28 18:28:56 2011
@@ -39,7 +39,7 @@ namespace qpid {
  * The name must be unique among sessions with the same authentication
  * principal.
  */
-class SessionId : boost::totally_ordered1<SessionId> {
+class QPID_COMMON_CLASS_EXTERN SessionId : boost::totally_ordered1<SessionId> {
     std::string userId;
     std::string name;
   public:

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/Url.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/Url.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/Url.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/Url.h Thu Jul 28 18:28:56 2011
@@ -30,7 +30,7 @@
 namespace qpid {
 
 /** An AMQP URL contains a list of addresses */
-struct Url : public std::vector<Address> {
+struct QPID_COMMON_CLASS_EXTERN Url : public std::vector<Address> {
 
     /** Url with the hostname as returned by gethostname(2)  */
     QPID_COMMON_EXTERN static Url getHostNameUrl(uint16_t port);
@@ -39,7 +39,7 @@ struct Url : public std::vector<Address>
      * on a multi-homed host. */
     QPID_COMMON_EXTERN static Url getIpAddressesUrl(uint16_t port);
 
-    struct Invalid : public Exception { Invalid(const std::string& s); };
+    struct QPID_COMMON_CLASS_EXTERN Invalid : public Exception { Invalid(const std::string& s); };
 
     /** Convert to string form. */
     QPID_COMMON_EXTERN std::string str() const;

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/agent/ManagementAgent.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/agent/ManagementAgent.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/agent/ManagementAgent.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/agent/ManagementAgent.h Thu Jul 28 18:28:56 2011
@@ -35,11 +35,11 @@ public:
     virtual void notify() = 0;
 };
 
-class ManagementAgent
+class QMF_AGENT_CLASS_EXTERN ManagementAgent
 {
   public:
 
-    class Singleton {
+    class QMF_AGENT_CLASS_EXTERN Singleton {
     public:
         QMF_AGENT_EXTERN Singleton(bool disableManagement = false);
         QMF_AGENT_EXTERN ~Singleton();

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/client/Handle.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/client/Handle.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/client/Handle.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/client/Handle.h Thu Jul 28 18:28:56 2011
@@ -36,7 +36,7 @@ template <class> class PrivateImplRef;
  * Handles can be null,  like a 0 pointer. Use isValid(), isNull() or the
  * conversion to bool to test for a null handle.
  */
-template <class T> class Handle {
+template <class T> class QPID_CLIENT_CLASS_EXTERN Handle {
   public:
 
     /**@return true if handle is valid,  i.e. not null. */

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Broker.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Broker.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Broker.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Broker.h Thu Jul 28 18:28:56 2011
@@ -49,7 +49,7 @@ namespace console {
      *
      * \ingroup qpidconsoleapi
      */
-    class Broker : public client::MessageListener {
+    class QPID_CONSOLE_CLASS_EXTERN Broker : public client::MessageListener {
     public:
         QPID_CONSOLE_EXTERN Broker(SessionManager& sm,
                                    client::ConnectionSettings& settings);

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Event.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Event.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Event.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Event.h Thu Jul 28 18:28:56 2011
@@ -40,7 +40,7 @@ namespace console {
      *
      * \ingroup qmfconsoleapi
      */
-    class Event {
+    class QPID_CONSOLE_CLASS_EXTERN Event {
     public:
         typedef enum {
         SEV_EMERGENCY = 0, SEV_ALERT = 1, SEV_CRITICAL = 2, SEV_ERROR = 3,

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Object.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Object.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Object.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/Object.h Thu Jul 28 18:28:56 2011
@@ -52,10 +52,10 @@ namespace console {
         std::map<std::string, boost::shared_ptr<Value> > arguments;
     };
 
-    class Object {
+    class QPID_CONSOLE_CLASS_EXTERN Object {
     public:
         typedef std::vector<Object> Vector;
-        struct AttributeMap : public std::map<std::string, boost::shared_ptr<Value> > {
+        struct QPID_CONSOLE_CLASS_EXTERN AttributeMap : public std::map<std::string, boost::shared_ptr<Value> > {
             QPID_CONSOLE_EXTERN void addRef(const std::string& key, const ObjectId& val);
             QPID_CONSOLE_EXTERN void addUint(const std::string& key, uint32_t val);
             QPID_CONSOLE_EXTERN void addInt(const std::string& key, int32_t val);

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SequenceManager.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SequenceManager.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SequenceManager.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SequenceManager.h Thu Jul 28 18:28:56 2011
@@ -34,7 +34,7 @@ namespace console {
      *
      * \ingroup qpidconsoleapi
      */
-    class SequenceManager {
+    class QPID_CONSOLE_CLASS_EXTERN SequenceManager {
     public:
         typedef std::set<uint32_t> set;
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SessionManager.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SessionManager.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SessionManager.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/console/SessionManager.h Thu Jul 28 18:28:56 2011
@@ -47,14 +47,14 @@ class ConsoleListener;
  *
  * \ingroup qmfconsoleapi
  */
-class SessionManager
+class QPID_CONSOLE_CLASS_EXTERN SessionManager
 {
   public:
     typedef std::vector<std::string> NameVector;
     typedef std::vector<ClassKey> KeyVector;
     QPID_CONSOLE_EXTERN ~SessionManager();
 
-    struct Settings {
+    struct QPID_CONSOLE_CLASS_EXTERN Settings {
         bool rcvObjects;
         bool rcvEvents;
         bool rcvHeartbeats;

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldTable.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldTable.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldTable.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldTable.h Thu Jul 28 18:28:56 2011
@@ -45,7 +45,7 @@ class Buffer;
  *
  * \ingroup clientapi
  */
-class FieldTable
+class QPID_COMMON_CLASS_EXTERN FieldTable
 {
   public:
     typedef boost::shared_ptr<FieldValue> ValuePtr;
@@ -119,9 +119,6 @@ class FieldTable
     QPID_COMMON_EXTERN friend std::ostream& operator<<(std::ostream& out, const FieldTable& body);
 };
 
-//class FieldNotFoundException{};
-//class UnknownFieldName : public FieldNotFoundException{};
-//class IncorrectFieldType : public FieldNotFoundException{};
 }
 }
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldValue.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldValue.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldValue.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/FieldValue.h Thu Jul 28 18:28:56 2011
@@ -138,7 +138,7 @@ inline std::ostream& operator<<(std::ost
 }
 
 template <int width>
-class FixedWidthValue : public FieldValue::Data {
+class QPID_COMMON_CLASS_EXTERN FixedWidthValue : public FieldValue::Data {
     uint8_t octets[width];
 
   public:
@@ -244,7 +244,7 @@ inline double FieldValue::get<double>() 
 }
 
 template <>
-class FixedWidthValue<0> : public FieldValue::Data {
+class QPID_COMMON_CLASS_EXTERN FixedWidthValue<0> : public FieldValue::Data {
   public:
     // Implicit default constructor is fine
     uint32_t encodedSize() const { return 0; }
@@ -258,7 +258,7 @@ class FixedWidthValue<0> : public FieldV
 };
 
 template <int lenwidth>
-class VariableWidthValue : public FieldValue::Data {
+class QPID_COMMON_CLASS_EXTERN VariableWidthValue : public FieldValue::Data {
     std::vector<uint8_t> octets;
 
   public:
@@ -290,7 +290,7 @@ class VariableWidthValue : public FieldV
 };
 
 template <class T>
-class EncodedValue : public FieldValue::Data {
+class QPID_COMMON_CLASS_EXTERN EncodedValue : public FieldValue::Data {
     T value;
   public:
 
@@ -324,7 +324,7 @@ class EncodedValue : public FieldValue::
 template <class T>
 inline bool FieldValue::get(T& t) const
 {
-    const EncodedValue<T>* v = dynamic_cast< EncodedValue<T>* >(data.get());    
+    const EncodedValue<T>* v = dynamic_cast< EncodedValue<T>* >(data.get());
     if (v != 0) {
         t = v->getValue();
         return true;
@@ -338,37 +338,37 @@ inline bool FieldValue::get(T& t) const
     }
 }
 
-class Str8Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Str8Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Str8Value(const std::string& v);
 };
 
-class Str16Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Str16Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Str16Value(const std::string& v);
 };
 
-class Var16Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Var16Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Var16Value(const std::string& v, uint8_t code);
 };
 
-class Var32Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Var32Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Var32Value(const std::string& v, uint8_t code);
 };
 
-class Struct32Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Struct32Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Struct32Value(const std::string& v);
 };
 
-class FloatValue : public FieldValue
+class QPID_COMMON_CLASS_EXTERN FloatValue : public FieldValue
 {
   public:
     QPID_COMMON_EXTERN FloatValue(float f);
 };
-class DoubleValue : public FieldValue
+class QPID_COMMON_CLASS_EXTERN DoubleValue : public FieldValue
 {
   public:
     QPID_COMMON_EXTERN DoubleValue(double f);
@@ -377,81 +377,81 @@ class DoubleValue : public FieldValue
 /*
  * Basic integer value encodes as signed 32 bit
  */
-class IntegerValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN IntegerValue : public FieldValue {
   public:
     QPID_COMMON_EXTERN IntegerValue(int v);
 };
 
-class TimeValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN TimeValue : public FieldValue {
   public:
     QPID_COMMON_EXTERN TimeValue(uint64_t v);
 };
 
-class Integer64Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Integer64Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Integer64Value(int64_t v);
 };
 
-class Unsigned64Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Unsigned64Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Unsigned64Value(uint64_t v);
 };
 
-class FieldTableValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN FieldTableValue : public FieldValue {
   public:
     typedef FieldTable ValueType;
     QPID_COMMON_EXTERN FieldTableValue(const FieldTable&);
 };
 
-class ArrayValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN ArrayValue : public FieldValue {
   public:
     QPID_COMMON_EXTERN ArrayValue(const Array&);
 };
 
-class VoidValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN VoidValue : public FieldValue {
   public:
     QPID_COMMON_EXTERN VoidValue();
 };
 
-class BoolValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN BoolValue : public FieldValue {
   public:
     QPID_COMMON_EXTERN BoolValue(bool);
 };
 
-class Unsigned8Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Unsigned8Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Unsigned8Value(uint8_t);
 };
 
-class Unsigned16Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Unsigned16Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Unsigned16Value(uint16_t);
 };
 
-class Unsigned32Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Unsigned32Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Unsigned32Value(uint32_t);
 };
 
-class Integer8Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Integer8Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Integer8Value(int8_t);
 };
 
-class Integer16Value : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN Integer16Value : public FieldValue {
   public:
     QPID_COMMON_EXTERN Integer16Value(int16_t);
 };
 
 typedef IntegerValue Integer32Value;
 
-class ListValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN ListValue : public FieldValue {
   public:
     typedef List ValueType;
     QPID_COMMON_EXTERN ListValue(const List&);
 };
 
-class UuidValue : public FieldValue {
+class QPID_COMMON_CLASS_EXTERN UuidValue : public FieldValue {
   public:
     QPID_COMMON_EXTERN UuidValue(const unsigned char*);
 };

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/Uuid.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/Uuid.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/Uuid.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/framing/Uuid.h Thu Jul 28 18:28:56 2011
@@ -41,7 +41,7 @@ class Buffer;
  * TODO: change this implementation as it leaks boost into the
  * client API
  */
-struct Uuid : public boost::array<uint8_t, 16> {
+struct QPID_COMMON_CLASS_EXTERN Uuid : public boost::array<uint8_t, 16> {
     /** If unique is true, generate a unique ID else a null ID. */
     QPID_COMMON_EXTERN Uuid(bool unique=false);
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Options.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Options.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Options.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Options.h Thu Jul 28 18:28:56 2011
@@ -28,7 +28,7 @@ namespace qpid {
 namespace log {
 
 /** Logging options for config parser. */
-struct Options : public qpid::Options {
+struct QPID_COMMON_CLASS_EXTERN Options : public qpid::Options {
     /** Pass argv[0] for use in syslog output */
     QPID_COMMON_EXTERN Options(const std::string& argv0_=std::string(),
             const std::string& name_="Logging options");

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Selector.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Selector.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Selector.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Selector.h Thu Jul 28 18:28:56 2011
@@ -32,7 +32,7 @@ struct Options;
  *
  * Thread object unsafe, pass-by-value type.
  */
-class Selector {
+class QPID_COMMON_CLASS_EXTERN Selector {
   public:
     /** Empty selector selects nothing */
     Selector() {}

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/SinkOptions.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/SinkOptions.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/SinkOptions.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/SinkOptions.h Thu Jul 28 18:28:56 2011
@@ -35,7 +35,7 @@ class Logger;
  * can't be assumed to all have C++ iostreams or files. Thus, this class
  * is primarily for implementing in a platform-specific way.
  */
-struct SinkOptions : public qpid::Options {
+struct QPID_COMMON_CLASS_EXTERN SinkOptions : public qpid::Options {
 
     // Create a platform's SinkOptions. Pass argv0 as the program name,
     // useful for syslog-type logging.

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Statement.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Statement.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Statement.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/log/Statement.h Thu Jul 28 18:28:56 2011
@@ -56,7 +56,7 @@ struct LevelTraits {
 };
 
 /** POD struct representing a logging statement in source code. */
-struct Statement {
+struct QPID_COMMON_CLASS_EXTERN Statement {
     bool enabled;
     const char* file;
     int line;

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Buffer.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Buffer.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Buffer.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Buffer.h Thu Jul 28 18:28:56 2011
@@ -40,7 +40,7 @@ struct OutOfBounds : qpid::types::Except
  * This class is a wrapper around qpid::framing::Buffer that does not include any dependencies
  * from boost or from qpid::framing.
  */
-class Buffer
+class QPID_COMMON_CLASS_EXTERN Buffer
 {
 public:
     QPID_COMMON_EXTERN Buffer(char* data=0, uint32_t size=0);

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/ManagementObject.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/ManagementObject.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/ManagementObject.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/ManagementObject.h Thu Jul 28 18:28:56 2011
@@ -37,7 +37,7 @@ class ObjectId;
 class ManagementObject;
 
 
-class AgentAttachment {
+class QPID_COMMON_CLASS_EXTERN AgentAttachment {
     friend class ObjectId;
 private:
     uint64_t first;
@@ -48,7 +48,7 @@ public:
 };
 
 
-class ObjectId {
+class QPID_COMMON_CLASS_EXTERN ObjectId {
 protected:
     const AgentAttachment* agent;
     uint64_t first;
@@ -88,7 +88,7 @@ public:
     friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const ObjectId&);
 };
 
-class ManagementItem {
+class QPID_COMMON_CLASS_EXTERN ManagementItem {
 public:
     static const uint8_t TYPE_U8        = 1;
     static const uint8_t TYPE_U16       = 2;

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Mutex.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Mutex.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Mutex.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/management/Mutex.h Thu Jul 28 18:28:56 2011
@@ -48,7 +48,7 @@ namespace qpid {
             L& mutex;
         };
 
-        class Mutex {
+        class QPID_COMMON_CLASS_EXTERN Mutex {
         public:
             typedef ScopedLockTemplate<Mutex> ScopedLock;
             typedef ScopedUnlockTemplate<Mutex> ScopedUnlock;

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/IOHandle.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/IOHandle.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/IOHandle.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/IOHandle.h Thu Jul 28 18:28:56 2011
@@ -33,14 +33,14 @@ namespace sys {
  */
 class PollerHandle;
 class IOHandlePrivate;
-class IOHandle {
+class QPID_COMMON_CLASS_EXTERN IOHandle {
     friend class PollerHandle;
     friend class IOHandlePrivate;
 
 protected:
     IOHandlePrivate* const impl;
 
-    IOHandle(IOHandlePrivate*);
+    QPID_COMMON_EXTERN IOHandle(IOHandlePrivate*);
     QPID_COMMON_EXTERN virtual ~IOHandle();
 };
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Thread.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Thread.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Thread.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Thread.h Thu Jul 28 18:28:56 2011
@@ -44,7 +44,7 @@ namespace sys {
 class Runnable;
 class ThreadPrivate;
 
-class Thread
+class QPID_COMMON_CLASS_EXTERN Thread
 {
     boost::shared_ptr<ThreadPrivate> impl;
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Time.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Time.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Time.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/Time.h Thu Jul 28 18:28:56 2011
@@ -77,7 +77,7 @@ class Duration;
  * with one of the AbsTime constructors). However trying to add 2 AbsTimes
  * doesn't make sense.
  */
-class AbsTime {
+class QPID_COMMON_CLASS_EXTERN AbsTime {
     friend class Duration;
     friend class Condition;
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/Mutex.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/Mutex.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/Mutex.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/Mutex.h Thu Jul 28 18:28:56 2011
@@ -20,6 +20,7 @@
  */
 
 #include "qpid/sys/posix/check.h"
+#include "qpid/CommonImportExport.h"
 
 #include <pthread.h>
 #include <boost/noncopyable.hpp>
@@ -32,9 +33,9 @@ class Condition;
 /**
  * Mutex lock.
  */
-class Mutex : private boost::noncopyable {
+class QPID_COMMON_CLASS_EXTERN Mutex : private boost::noncopyable {
     friend class Condition;
-    static const pthread_mutexattr_t* getAttribute();
+    QPID_COMMON_EXTERN static const pthread_mutexattr_t* getAttribute();
 
 public:
     typedef ::qpid::sys::ScopedLock<Mutex> ScopedLock;
@@ -54,7 +55,7 @@ protected:
 /**
  * RW lock.
  */
-class RWlock : private boost::noncopyable {
+class QPID_COMMON_CLASS_EXTERN RWlock : private boost::noncopyable {
     friend class Condition;
 
 public:
@@ -78,7 +79,7 @@ protected:
  * PODMutex is a POD, can be static-initialized with
  * PODMutex m = QPID_PODMUTEX_INITIALIZER
  */
-struct PODMutex
+struct QPID_COMMON_CLASS_EXTERN PODMutex
 {
     typedef ::qpid::sys::ScopedLock<PODMutex> ScopedLock;
 

Modified: qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/include/qpid/sys/posix/PrivatePosix.h Thu Jul 28 18:28:56 2011
@@ -24,6 +24,7 @@
 
 #include "qpid/sys/Time.h"
 #include "qpid/sys/IOHandle.h"
+#include "qpid/CommonImportExport.h"
 
 struct timespec;
 struct timeval;
@@ -33,13 +34,14 @@ namespace qpid {
 namespace sys {
 
 // Private Time related implementation details
-struct timespec& toTimespec(struct timespec& ts, const Duration& t);
-struct timeval& toTimeval(struct timeval& tv, const Duration& t);
-Duration toTime(const struct timespec& ts);
+QPID_COMMON_EXTERN struct timespec& toTimespec(struct timespec& ts, const Duration& t);
+QPID_COMMON_EXTERN struct timeval& toTimeval(struct timeval& tv, const Duration& t);
+QPID_COMMON_EXTERN Duration toTime(const struct timespec& ts);
 
 // Private SocketAddress details
 class SocketAddress;
-const struct addrinfo& getAddrInfo(const SocketAddress&);
+// FIXME aconway 2011-03-22: ??
+const struct addrinfo& QPID_COMMON_EXTERN getAddrInfo(const SocketAddress&);
 
 // Private fd related implementation details
 class IOHandlePrivate {
@@ -51,7 +53,7 @@ public:
     int fd;
 };
 
-int toFd(const IOHandlePrivate* h);
+QPID_COMMON_EXTERN int toFd(const IOHandlePrivate* h);
 
 // Posix fd as an IOHandle
 class PosixIOHandle : public IOHandle {

Modified: qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Args.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Args.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Args.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Args.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
-// 
+//
 // Unless required by applicable law or agreed to in writing,
 // software distributed under the License is distributed on an
 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -23,13 +23,14 @@
 
 /*MGEN:Root.Disclaimer*/
 
+#include "qpid/broker/BrokerImportExport.h"
 #include "qpid/management/Args.h"
 #include <string>
 
-namespace qmf { 
+namespace qmf {
 /*MGEN:Method.OpenNamespaces*/
 
-    class Args/*MGEN:Method.NameCamel*/ : public ::qpid::management::Args
+class QPID_BROKER_CLASS_EXTERN Args/*MGEN:Method.NameCamel*/ : public ::qpid::management::Args
 {
   public:
 /*MGEN:Method.Arguments*/

Modified: qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Class.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Class.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Class.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Class.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
-// 
+//
 // Unless required by applicable law or agreed to in writing,
 // software distributed under the License is distributed on an
 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -24,6 +24,7 @@
 /*MGEN:Root.Disclaimer*/
 
 #include "qpid/management/ManagementObject.h"
+#include "qpid/broker/BrokerImportExport.h"
 
 namespace qpid {
     namespace management {
@@ -34,7 +35,7 @@ namespace qpid {
 namespace qmf {
 /*MGEN:Class.OpenNamespaces*/
 
-class /*MGEN:Class.NameCap*/ : public ::qpid::management::ManagementObject
+class QPID_BROKER_CLASS_EXTERN /*MGEN:Class.NameCap*/ : public ::qpid::management::ManagementObject
 {
   private:
 

Modified: qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Event.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Event.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Event.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Event.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
-// 
+//
 // Unless required by applicable law or agreed to in writing,
 // software distributed under the License is distributed on an
 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -24,11 +24,12 @@
 /*MGEN:Root.Disclaimer*/
 
 #include "qpid/management/ManagementEvent.h"
+#include "qpid/broker/BrokerImportExport.h"
 
 namespace qmf {
 /*MGEN:Event.OpenNamespaces*/
 
-class Event/*MGEN:Event.NameCap*/ : public ::qpid::management::ManagementEvent
+class QPID_BROKER_CLASS_EXTERN Event/*MGEN:Event.NameCap*/ : public ::qpid::management::ManagementEvent
 {
   private:
     static void writeSchema (std::string& schema);

Modified: qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Package.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Package.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Package.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/Package.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
-// 
+//
 // Unless required by applicable law or agreed to in writing,
 // software distributed under the License is distributed on an
 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -24,11 +24,12 @@
 /*MGEN:Root.Disclaimer*/
 
 #include "qpid//*MGEN:Class.AgentHeaderLocation*//ManagementAgent.h"
+#include "qpid/broker/BrokerImportExport.h"
 
 namespace qmf {
 /*MGEN:Class.OpenNamespaces*/
 
-class Package
+class QPID_BROKER_CLASS_EXTERN Package
 {
   public:
     Package (::qpid::management::ManagementAgent* agent);
@@ -36,6 +37,6 @@ class Package
 };
 
 }/*MGEN:Class.CloseNamespaces*/
-            
+
 
 #endif  /*!_MANAGEMENT_PACKAGE_/*MGEN:Schema.PackageNameUpper*/_*/

Modified: qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/V2Package.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/V2Package.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/V2Package.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/managementgen/qmfgen/templates/V2Package.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
 // to you under the Apache License, Version 2.0 (the
 // "License"); you may not use this file except in compliance
 // with the License.  You may obtain a copy of the License at
-// 
+//
 //   http://www.apache.org/licenses/LICENSE-2.0
-// 
+//
 // Unless required by applicable law or agreed to in writing,
 // software distributed under the License is distributed on an
 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -27,11 +27,12 @@
 #include <qmf/Schema.h>
 #include <qmf/Data.h>
 #include <qmf/DataAddr.h>
+#include <qpid/broker/BrokerImportExport.h>
 
 namespace qmf {
 /*MGEN:Class.OpenNamespaces*/
 
-class PackageDefinition
+class QPID_BROKER_CLASS_EXTERN PackageDefinition
 {
   public:
     ~PackageDefinition() {}
@@ -41,6 +42,6 @@ class PackageDefinition
 };
 
 }/*MGEN:Class.CloseNamespaces*/
-            
+
 
 #endif  /*!_QMF_PACKAGE_/*MGEN:Schema.PackageNameUpper*/_*/

Modified: qpid/branches/qpid-3163/qpid/cpp/rubygen/0-10/exceptions.rb
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/rubygen/0-10/exceptions.rb?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/rubygen/0-10/exceptions.rb (original)
+++ qpid/branches/qpid-3163/qpid/cpp/rubygen/0-10/exceptions.rb Thu Jul 28 18:28:56 2011
@@ -33,7 +33,8 @@ class GenExceptions < CppGen
       name=c.name.typename+suffix+"Exception"
       genl
       doxygen_comment { genl c.doc }
-      struct(name, "public #{base}") {
+      cpp_extern_class("QPID_COMMON_CLASS_EXTERN", name, "public #{base}") {
+        public
         genl "#{name}(const std::string& msg=std::string())"
         genl "    : #{base}(#{ns}::#{c.name.shout}, msg) {}"
         protected
@@ -41,11 +42,11 @@ class GenExceptions < CppGen
       }
     }
   end
-  
+
   def gen_exceptions()
-    h_file("#{@dir}/exceptions") { 
+    h_file("#{@dir}/exceptions") {
       include "qpid/amqp_0_10/Exception"
-      namespace("#{@ns}") { 
+      namespace("#{@ns}") {
         error_code = @amqp.class_("execution").domain("error-code").enum
         exceptions_for_enum(error_code, "SessionAbortedException", "execution")
         genl
@@ -62,7 +63,7 @@ class GenExceptions < CppGen
       }
     }
   end
-  
+
   def generate()
     gen_exceptions
   end

Modified: qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/MethodBodyConstVisitor.rb
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/MethodBodyConstVisitor.rb?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/MethodBodyConstVisitor.rb (original)
+++ qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/MethodBodyConstVisitor.rb Thu Jul 28 18:28:56 2011
@@ -21,7 +21,7 @@ $: << ".."                      # Includ
 require 'cppgen'
 
 class MethodBodyConstVisitorGen < CppGen
-  
+
   def initialize(outdir, amqp)
     super(outdir, amqp)
     @namespace="qpid::framing"
@@ -31,9 +31,10 @@ class MethodBodyConstVisitorGen < CppGen
 
   def generate()
     h_file("#{@filename}") {
-      namespace(@namespace) { 
+      include("qpid/CommonImportExport.h")
+      namespace(@namespace) {
         @amqp.methods_.each { |m| genl "class #{m.body_name};" }
-        cpp_class("MethodBodyConstVisitor") {
+        cpp_extern_class("QPID_COMMON_CLASS_EXTERN", "MethodBodyConstVisitor") {
           genl "public:"
           genl "virtual ~MethodBodyConstVisitor() {}"
           @amqp.methods_.each { |m| genl "virtual void visit(const #{m.body_name}&) = 0;" }

Modified: qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/Session.rb
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/Session.rb?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/Session.rb (original)
+++ qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/Session.rb Thu Jul 28 18:28:56 2011
@@ -18,7 +18,7 @@
 # under the License.
 #
 # Usage: output_directory xml_spec_file [xml_spec_file...]
-# 
+#
 $: << '..'
 require 'cppgen'
 
@@ -31,7 +31,7 @@ class CppGen
     gen_methods.each { |m| m.set_sync_default(sync_default) }
   end
 
-  
+
   # Generates a doxygen comment for AmqpMethod m.
   def doxygen(m)
     doxygen_comment {
@@ -125,7 +125,7 @@ end
 
 class SessionNoKeywordGen < CppGen
   include SyncAsync
-  
+
   def initialize(outdir, amqp, async)
     super(outdir, amqp)
     @async=async
@@ -140,25 +140,25 @@ class SessionNoKeywordGen < CppGen
     h_file(@file) {
       include "qpid/client/#{@version_base}.h"
       include "qpid/client/ClientImportExport.h"
-      namespace(@namespace) { 
+      namespace(@namespace) {
         doxygen_comment {
           genl "AMQP #{@amqp.version} #{sync_adjective} session API."
           genl @amqp.class_("session").doc
           # FIXME aconway 2008-05-23: additional doc on sync/async use.
         }
-        cpp_class(@classname, "public #{@version_base}") {
+        cpp_extern_class("QPID_CLIENT_CLASS_EXTERN", @classname, "public #{@version_base}") {
           public
           decl_ctor_opeq()
           session_methods(sync_default).each { |m|
             genl
             doxygen(m)
-            args=m.sig_c_default.join(", ") 
-            genl "QPID_CLIENT_EXTERN #{m.return_type(@async)} #{m.session_function}(#{args});" 
+            args=m.sig_c_default.join(", ")
+            genl "QPID_CLIENT_EXTERN #{m.return_type(@async)} #{m.session_function}(#{args});"
           }
         }
       }}
 
-    cpp_file(@file) { 
+    cpp_file(@file) {
       include "qpid/client/#{@classname}"
       include "qpid/framing/all_method_bodies.h"
       include "qpid/client/SessionImpl.h"
@@ -228,11 +228,11 @@ class SessionGen < CppGen
       # Generate keyword tag declarations.
       genl "#define BOOST_PARAMETER_MAX_ARITY #{max_arity}"
       include "<boost/parameter.hpp>"
-      namespace("qpid::client::arg") { 
+      namespace("qpid::client::arg") {
         keyword_methods.map{ |m| m.param_names_c }.flatten.uniq.each { |k|
           genl "BOOST_PARAMETER_KEYWORD(keyword_tags, #{k})"
         }}
-    }    
+    }
     public_api("#{@fqclass.file}.h")
     h_file(@fqclass.file) {
       include @fqbase.file
@@ -263,7 +263,7 @@ declarations.
 \\ingroup clientapi
 
 
-\\details 
+\\details
 
 <h2>Publishing Messages</h2>
 <ul>
@@ -274,7 +274,7 @@ declarations.
 
 for (int i=0; i&lt;10; i++) {
     message.setData(message_data.str());
-    async(session).messageTransfer(arg::content=message,  arg::destination="amq.direct");        
+    async(session).messageTransfer(arg::content=message,  arg::destination="amq.direct");
 }
 
 session.sync();
@@ -359,23 +359,23 @@ session.sync();
 <h2>Accepting, Acquiring, Rejecting, or Releasing Messages</h2>
 <ul>
 <li><p>messageAccept()  &mdash; acknowledges messages</p>
-<pre>SequenceSet tobeAccepted; 
-toAccepted.add(msg.getId()); 
+<pre>SequenceSet tobeAccepted;
+toAccepted.add(msg.getId());
 session.messageAccept(toBeAccepted);</pre>
 </li>
 <li><p>messageAcquire()</p>
 <pre>SequenceSet tobeAcquired;
-toBeAcquired.add(msg.getId()); 
+toBeAcquired.add(msg.getId());
 session.messageAcquire(toBeAcquired);</pre>
 </li>
 <li><p>messageReject()</p>
-<pre>SequenceSet tobeRejected; 
-toRejected.add(msg.getId()); 
+<pre>SequenceSet tobeRejected;
+toRejected.add(msg.getId());
 session.messageReject(toBeRejected);</pre>
 </li>
 <li><p>messageRelease()</p>
-<pre>SequenceSet tobeReleased; 
-toReleased.add(msg.getId()); 
+<pre>SequenceSet tobeReleased;
+toReleased.add(msg.getId());
 session.messageRelease(toBeReleased);</pre></li>
 </ul>
 
@@ -394,7 +394,7 @@ session.messageRelease(toBeReleased);</p
 EOS
         }
         # Session class.
-        cpp_class(@classname,"public #{@base}") {
+        cpp_extern_class("QPID_COMMON_CLASS_EXTERN", @classname,"public #{@base}") {
           public
           decl_ctor_opeq()
           private

Modified: qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/constants.rb
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/constants.rb?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/constants.rb (original)
+++ qpid/branches/qpid-3163/qpid/cpp/rubygen/framing.0-10/constants.rb Thu Jul 28 18:28:56 2011
@@ -21,7 +21,7 @@ $: << ".."                      # Includ
 require 'cppgen'
 
 class ConstantsGen < CppGen
-  
+
   def initialize(outdir, amqp)
     super(outdir, amqp)
     @namespace="qpid::framing"
@@ -51,11 +51,11 @@ class ConstantsGen < CppGen
 
   def typecode_h_cpp
     path="#{@dir}/TypeCode"
-    public_api(path+".h") 
+    public_api(path+".h")
     h_file(path) {
       include("<iosfwd>")
       include("\"qpid/sys/IntegerTypes.h\"")
-      namespace(@namespace) { 
+      namespace(@namespace) {
         scope("enum TypeCode {", "};") {
           genl @amqp.types.map { |t| "#{typecode_enum t} = #{t.code}" if t.code }.compact.join(",\n")
         }
@@ -80,7 +80,7 @@ EOS
       include("qpid/Exception.h")
       include("qpid/Msg.h")
       include("<ostream>")
-      namespace(@namespace) { 
+      namespace(@namespace) {
         scope("const char* typeName(TypeCode t) {") {
           scope("switch (t) {") {
             @amqp.types.each { |t| genl "case #{typecode_enum t}: return \"#{t.name}\";" if t.code }
@@ -105,7 +105,7 @@ EOS
       }
     }
   end
-  
+
   def enum_h()
     public_api("#{@dir}/enum.h")
     h_file("#{@dir}/enum.h") {
@@ -125,7 +125,7 @@ EOS
   def declare_enum(enum)
     # Generated like this: enum containing_class::Foo { FOO_X, FOO_Y; }
     name="#{enum.parent.name.caps}"
-    prefix=enum.parent.name.shout+"_" 
+    prefix=enum.parent.name.shout+"_"
     scope("enum #{name} {","};") {
       genl enum.choices.collect { |c| "#{prefix}#{c.name.shout}=#{c.value}" }.join(",\n")
     }
@@ -136,7 +136,8 @@ EOS
     value="#{package}::#{enum.parent.name.shout}_#{c.name.shout}"
     genl
     doxygen_comment { genl c.doc }
-    struct(c.name.caps+"Exception", base) {
+    cpp_extern_class("QPID_COMMON_CLASS_EXTERN", c.name.caps+"Exception", "public #{base}") {
+      public
       genl "std::string getPrefix() const { return \"#{c.name}\"; }"
       genl "#{c.name.caps}Exception(const std::string& msg=std::string()) : #{base}(#{value}, \"\"+msg) {}"
     }
@@ -156,7 +157,7 @@ EOS
         enum = @amqp.class_(class_name).domain(domain_name).enum
         enum.choices.each { |c|
           assign = "holder = new #{c.name.caps}Exception(text); " unless c.name == "normal"
-          genl "case #{c.value}: #{assign}break;" 
+          genl "case #{c.value}: #{assign}break;"
         }
         genl "default: holder = new #{invalid}(QPID_MSG(\"Bad #{enum.parent.name}: \" << code << \": \" << text));"
       }

Modified: qpid/branches/qpid-3163/qpid/cpp/src/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/Makefile.am?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/Makefile.am (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/Makefile.am Thu Jul 28 18:28:56 2011
@@ -134,7 +134,11 @@ AM_CXXFLAGS += -DBOOST_FILESYSTEM_VERSIO
 
 ## Automake macros to build libraries and executables.
 qpidd_CXXFLAGS = $(AM_CXXFLAGS) -DQPIDD_MODULE_DIR=\"$(dmoduleexecdir)\" -DQPIDD_CONF_FILE=\"$(sysconfdir)/qpidd.conf\"
-libqpidclient_la_CXXFLAGS = $(AM_CXXFLAGS) -DQPIDC_MODULE_DIR=\"$(cmoduleexecdir)\" -DQPIDC_CONF_FILE=\"$(confdir)/qpidc.conf\"
+libqpidclient_la_CXXFLAGS =				\
+	$(AM_CXXFLAGS)					\
+	-DQPIDC_MODULE_DIR=\"$(cmoduleexecdir)\"	\
+	-DQPIDC_CONF_FILE=\"$(confdir)/qpidc.conf\"	\
+	-Dqpidclient_EXPORTS
 
 qpidd_LDADD =					\
   libqpidbroker.la				\
@@ -148,6 +152,7 @@ qpidd_SOURCES = qpidd.cpp qpidd.h $(posi
 ## Platform specific code.
 
 # Posix-specific code
+libqpidcommon_la_CXXFLAGS=$(AM_CXXFLAGS) -Dqpidcommon_EXPORTS
 libqpidcommon_la_SOURCES +=			\
   qpid/log/posix/SinkOptions.cpp		\
   qpid/sys/posix/IOHandle.cpp			\
@@ -230,7 +235,7 @@ librdmawrap_la_LIBADD = \
   -lrdmacm \
   -libverbs
 librdmawrap_la_CXXFLAGS = \
-  $(AM_CXXFLAGS) -Wno-missing-field-initializers
+  $(AM_CXXFLAGS) -Wno-missing-field-initializers -Drdmawrap_EXPORTS
 lib_LTLIBRARIES += \
   librdmawrap.la
 RDMAWRAP_VERSION_INFO  = 2:0:0
@@ -244,7 +249,7 @@ rdma_la_LIBADD = \
   -libverbs
 rdma_la_LDFLAGS = $(PLUGINLDFLAGS)
 rdma_la_CXXFLAGS = \
-  $(AM_CXXFLAGS) -Wno-missing-field-initializers
+  $(AM_CXXFLAGS) -Wno-missing-field-initializers -Drdma_EXPORTS
 dmoduleexec_LTLIBRARIES += \
   rdma.la
 
@@ -256,7 +261,7 @@ rdmaconnector_la_LIBADD = \
   -libverbs
 rdmaconnector_la_LDFLAGS = $(PLUGINLDFLAGS)
 rdmaconnector_la_CXXFLAGS = \
-  $(AM_CXXFLAGS) -Wno-missing-field-initializers
+  $(AM_CXXFLAGS) -Wno-missing-field-initializers -Drdmaconnector_EXPORTS
 cmoduleexec_LTLIBRARIES += \
   rdmaconnector.la
 
@@ -360,7 +365,7 @@ libqpidcommon_la_SOURCES +=			\
   qpid/amqp_0_10/SessionHandler.cpp		\
   qpid/amqp_0_10/SessionHandler.h		\
   qpid/amqp_0_10/apply.h			\
-  qpid/assert.cpp qpid/assert.h			\
+  qpid/assert.cpp				\
   qpid/assert.h					\
   qpid/framing/AMQBody.cpp			\
   qpid/framing/AMQBody.h			\
@@ -508,6 +513,7 @@ QPIDCOMMON_VERSION_INFO = 2:0:0
 libqpidcommon_la_LDFLAGS=-version-info $(QPIDCOMMON_VERSION_INFO)
 
 libqpidbroker_la_LIBADD = libqpidcommon.la
+libqpidbroker_la_CXXFLAGS = $(AM_CXXFLAGS) -Dqpidbroker_EXPORTS
 libqpidbroker_la_SOURCES = \
   $(mgen_broker_cpp) \
   $(posix_broker_src) \
@@ -683,7 +689,6 @@ QPIDBROKER_VERSION_INFO = 2:0:0
 libqpidbroker_la_LDFLAGS = -version-info $(QPIDBROKER_VERSION_INFO)
 
 libqpidclient_la_LIBADD = libqpidcommon.la  -luuid
-
 libqpidclient_la_SOURCES =			\
   $(rgen_client_srcs)				\
   qpid/client/Bounds.cpp			\
@@ -742,7 +747,8 @@ libqpidclient_la_SOURCES =			\
 QPIDCLIENT_VERSION_INFO  = 2:0:0
 libqpidclient_la_LDFLAGS = -version-info $(QPIDCLIENT_VERSION_INFO)
 
-libqpidtypes_la_LIBADD= -luuid
+libqpidtypes_la_LIBADD=-luuid
+libqpidtypes_la_CXXFLAGS = $(AM_CXXFLAGS) -Dqpidtypes_EXPORTS
 libqpidtypes_la_SOURCES=			\
   qpid/types/Exception.cpp			\
   qpid/types/Uuid.cpp				\
@@ -753,6 +759,7 @@ QPIDTYPES_VERSION_INFO  = 1:0:0
 libqpidtypes_la_LDFLAGS = -version-info $(QPIDTYPES_VERSION_INFO)
 
 libqpidmessaging_la_LIBADD = libqpidclient.la libqpidtypes.la
+libqpidmessaging_la_CXXFLAGS = $(AM_CXXFLAGS) -Dqpidmessaging_EXPORTS
 libqpidmessaging_la_SOURCES =			\
   qpid/messaging/Address.cpp			\
   qpid/messaging/AddressParser.h		\

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qmf.mk
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qmf.mk?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qmf.mk (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qmf.mk Thu Jul 28 18:28:56 2011
@@ -6,9 +6,9 @@
 # to you under the Apache License, Version 2.0 (the
 # "License"); you may not use this file except in compliance
 # with the License.  You may obtain a copy of the License at
-# 
+#
 #   http://www.apache.org/licenses/LICENSE-2.0
-# 
+#
 # Unless required by applicable law or agreed to in writing,
 # software distributed under the License is distributed on an
 # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,7 +19,7 @@
 
 #
 # qmf library makefile fragment, to be included in Makefile.am
-# 
+#
 lib_LTLIBRARIES +=	\
   libqmf.la		\
   libqmfengine.la	\
@@ -155,6 +155,7 @@ libqmfengine_la_SOURCES =			\
   qmf/engine/ValueImpl.h
 
 libqmf_la_LIBADD = libqmfengine.la
+libqmf_la_CXXFLAGS = $(AM_CXXFLAGS) -Dqmf_EXPORTS
 libqmf2_la_LIBADD = libqpidmessaging.la libqpidtypes.la
 libqmfengine_la_LIBADD = libqpidclient.la
 

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qmf/QueryImpl.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qmf/QueryImpl.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qmf/QueryImpl.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qmf/QueryImpl.h Thu Jul 28 18:28:56 2011
@@ -9,9 +9,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,7 @@
  *
  */
 
+#include "qmf/ImportExport.h"
 #include "qpid/RefCounted.h"
 #include "qmf/Query.h"
 #include "qmf/DataAddr.h"
@@ -30,7 +31,7 @@
 #include <boost/shared_ptr.hpp>
 
 namespace qmf {
-    class QueryImpl : public virtual qpid::RefCounted {
+    class QMF_CLASS_EXTERN QueryImpl : public virtual qpid::RefCounted {
     public:
         //
         // Public impl-only methods
@@ -66,7 +67,7 @@ namespace qmf {
         void parsePredicate(const std::string& s);
     };
 
-    struct QueryImplAccess
+    struct QMF_CLASS_EXTERN QueryImplAccess
     {
         static QueryImpl& get(Query&);
         static const QueryImpl& get(const Query&);

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qmf/SchemaImpl.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qmf/SchemaImpl.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qmf/SchemaImpl.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qmf/SchemaImpl.h Thu Jul 28 18:28:56 2011
@@ -9,9 +9,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,7 @@
  *
  */
 
+#include "qmf/ImportExport.h"
 #include "qpid/RefCounted.h"
 #include "qmf/PrivateImplRef.h"
 #include "qmf/exceptions.h"
@@ -37,7 +38,7 @@ namespace management {
 }}
 
 namespace qmf {
-    class SchemaImpl : public virtual qpid::RefCounted {
+    class QMF_CLASS_EXTERN SchemaImpl : public virtual qpid::RefCounted {
     public:
         //
         // Impl-only public methods
@@ -85,7 +86,7 @@ namespace qmf {
         bool isCompatibleType(int qmfType, qpid::types::VariantType qpidType) const;
     };
 
-    struct SchemaImplAccess
+    struct QMF_CLASS_EXTERN SchemaImplAccess
     {
         static SchemaImpl& get(Schema&);
         static const SchemaImpl& get(const Schema&);

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/DataDir.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/DataDir.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/DataDir.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/DataDir.h Thu Jul 28 18:28:56 2011
@@ -34,7 +34,7 @@ namespace qpid {
 /**
  * DataDir class.
  */
-class DataDir
+class QPID_COMMON_CLASS_EXTERN DataDir
 {
     const bool        enabled;
     const std::string dirPath;
@@ -48,7 +48,7 @@ class DataDir
     bool isEnabled() { return enabled; }
     const std::string& getPath() { return dirPath; }
 };
- 
+
 } // namespace qpid
 
 #endif  /*!QPID_DATADIR_H*/

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/DisableExceptionLogging.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/DisableExceptionLogging.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/DisableExceptionLogging.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/DisableExceptionLogging.h Thu Jul 28 18:28:56 2011
@@ -29,7 +29,7 @@ namespace qpid {
  * Temporarily disable logging in qpid::Exception constructor.
  * Used by log::Logger to avoid logging exceptions during Logger construction.
  */
-struct DisableExceptionLogging
+struct QPID_COMMON_CLASS_EXTERN DisableExceptionLogging
 {
     QPID_COMMON_EXTERN DisableExceptionLogging();
     QPID_COMMON_EXTERN ~DisableExceptionLogging();

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/Modules.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/Modules.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/Modules.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/Modules.h Thu Jul 28 18:28:56 2011
@@ -29,7 +29,7 @@
 
 namespace qpid {
 
-struct ModuleOptions : public qpid::Options {
+struct QPID_COMMON_CLASS_EXTERN ModuleOptions : public qpid::Options {
     std::string              loadDir;
     std::vector<std::string> load;
     bool                     noLoad;

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/Plugin.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/Plugin.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/Plugin.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/Plugin.h Thu Jul 28 18:28:56 2011
@@ -34,18 +34,18 @@ struct Options;
 /**
  * Plug-in base class.
  */
-class Plugin : private boost::noncopyable {
+class QPID_COMMON_CLASS_EXTERN Plugin : private boost::noncopyable {
   public:
     typedef std::vector<Plugin*> Plugins;
     /** Default value returned by initOrder() */
     static const int DEFAULT_INIT_ORDER=1000;
-    
+
     /**
      * Base interface for targets that can receive plug-ins.
      * Also allows plug-ins to attach a a function to be called
      * when the target is 'finalized'.
      */
-    class Target : private boost::noncopyable
+    class QPID_COMMON_CLASS_EXTERN Target : private boost::noncopyable
     {
       public:
         /** Calls finalize() if not already called. */
@@ -63,19 +63,19 @@ class Plugin : private boost::noncopyabl
 
     /**
      * Constructor registers the plug-in to appear in getPlugins().
-     * 
+     *
      * A concrete Plugin is instantiated as a global or static
-     * member variable in a library so it is registered during 
+     * member variable in a library so it is registered during
      * initialization when the library is loaded.
      */
     QPID_COMMON_EXTERN Plugin();
-    
+
     QPID_COMMON_EXTERN virtual ~Plugin();
 
     /**
      * Configuration options for the plugin.
      * Then will be updated during option parsing by the host program.
-     * 
+     *
      * @return An options group or 0 for no options. Default returns 0.
      * Plugin retains ownership of return value.
      */
@@ -94,7 +94,7 @@ class Plugin : private boost::noncopyabl
     /**
      * Initialize Plugin functionality on a Target. Called after
      * initializing the target.
-     * 
+     *
      * Plugins should ignore targets they don't recognize.
      *
      * Called after the target is fully initialized.
@@ -108,7 +108,7 @@ class Plugin : private boost::noncopyabl
      * a lower/higher value than DEFAULT_INIT_ORDER.
      */
     QPID_COMMON_EXTERN virtual int initOrder() const;
-    
+
     /** List of registered Plugin objects.
      * Caller must not delete plugin pointers.
      */
@@ -123,7 +123,7 @@ class Plugin : private boost::noncopyabl
     /** For each registered plugin, add plugin.getOptions() to opts. */
     QPID_COMMON_EXTERN static void addOptions(Options& opts);
 };
- 
+
 } // namespace qpid
 
 #endif  /*!QPID_PLUGIN_H*/

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/RefCountedBuffer.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/RefCountedBuffer.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/RefCountedBuffer.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/RefCountedBuffer.h Thu Jul 28 18:28:56 2011
@@ -24,13 +24,14 @@
 
 #include <qpid/RefCounted.h>
 #include <qpid/BufferRef.h>
+#include "qpid/CommonImportExport.h"
 
 namespace qpid {
 
 /**
  * Reference-counted byte buffer. No alignment guarantees.
  */
-class RefCountedBuffer : public RefCounted {
+class QPID_COMMON_CLASS_EXTERN RefCountedBuffer : public RefCounted {
   public:
     /** Create a reference counted buffer of size n */
     static BufferRef create(size_t n);

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/SaslFactory.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/SaslFactory.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/SaslFactory.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/SaslFactory.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -31,7 +31,7 @@ namespace qpid {
  * Factory for instances of the Sasl interface through which Sasl
  * support is provided to a ConnectionHandler.
  */
-class SaslFactory
+class QPID_COMMON_CLASS_EXTERN SaslFactory
 {
   public:
     QPID_COMMON_EXTERN std::auto_ptr<Sasl> create(const std::string & userName, const std::string & password, const std::string & serviceName, const std::string & hostName, int minSsf, int maxSsf, bool allowInteraction=true );

Modified: qpid/branches/qpid-3163/qpid/cpp/src/qpid/SessionState.h
URL: http://svn.apache.org/viewvc/qpid/branches/qpid-3163/qpid/cpp/src/qpid/SessionState.h?rev=1151956&r1=1151955&r2=1151956&view=diff
==============================================================================
--- qpid/branches/qpid-3163/qpid/cpp/src/qpid/SessionState.h (original)
+++ qpid/branches/qpid-3163/qpid/cpp/src/qpid/SessionState.h Thu Jul 28 18:28:56 2011
@@ -10,9 +10,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- * 
+ *
  *   http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -38,7 +38,7 @@ using framing::SequenceNumber;
 using framing::SequenceSet;
 
 /** A point in the session. Points to command id + offset */
-struct SessionPoint : boost::totally_ordered1<SessionPoint> {
+struct QPID_COMMON_CLASS_EXTERN SessionPoint : boost::totally_ordered1<SessionPoint> {
     QPID_COMMON_EXTERN SessionPoint(SequenceNumber command = 0, uint64_t offset = 0);
 
     SequenceNumber command;
@@ -59,7 +59,7 @@ QPID_COMMON_EXTERN std::ostream& operato
  *
  * We only issue/use contiguous confirmations, out-of-order confirmation
  * is ignored. Out of order completion is fully supported.
- * 
+ *
  * Raises NotImplemented if the command point is set greater than the
  * max currently received command data, either explicitly via
  * session.command-point or implicitly via session.gap.
@@ -71,21 +71,21 @@ QPID_COMMON_EXTERN std::ostream& operato
  * could be extended to support partial replay without
  * source-incompatbile API changes.
  */
-class SessionState {
+class QPID_COMMON_CLASS_EXTERN SessionState {
     typedef std::vector<framing::AMQFrame> ReplayList;
 
   public:
 
     typedef boost::iterator_range<ReplayList::iterator> ReplayRange;
 
-    struct Configuration {
+    struct QPID_COMMON_CLASS_EXTERN Configuration {
         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.
     };
 
     QPID_COMMON_EXTERN SessionState(const SessionId& =SessionId(), const Configuration& =Configuration());
-    
+
     QPID_COMMON_EXTERN virtual ~SessionState();
 
     bool hasState() const;
@@ -186,7 +186,7 @@ class SessionState {
      * So called 'push' bridges work by faking a subscribe request
      * (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
      * session state. To keep the session state on either side of the
      * bridge in sync, this hack allows the tracking of state for



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


Mime
View raw message