summaryrefslogtreecommitdiff
path: root/qpid/cpp/include/qpid
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/include/qpid')
-rwxr-xr-xqpid/cpp/include/qpid/Address.h2
-rw-r--r--qpid/cpp/include/qpid/CommonImportExport.h14
-rw-r--r--qpid/cpp/include/qpid/Exception.h12
-rw-r--r--qpid/cpp/include/qpid/ImportExport.h71
-rw-r--r--qpid/cpp/include/qpid/Options.h88
-rw-r--r--qpid/cpp/include/qpid/Url.h2
-rw-r--r--qpid/cpp/include/qpid/agent/ManagementAgent.h4
-rw-r--r--qpid/cpp/include/qpid/agent/QmfAgentImportExport.h16
-rw-r--r--qpid/cpp/include/qpid/client/ClientImportExport.h14
-rw-r--r--qpid/cpp/include/qpid/client/Completion.h2
-rw-r--r--qpid/cpp/include/qpid/client/Connection.h10
-rw-r--r--qpid/cpp/include/qpid/client/ConnectionSettings.h2
-rw-r--r--qpid/cpp/include/qpid/client/FailoverListener.h2
-rw-r--r--qpid/cpp/include/qpid/client/FailoverManager.h2
-rw-r--r--qpid/cpp/include/qpid/client/Future.h2
-rw-r--r--qpid/cpp/include/qpid/client/FutureResult.h2
-rw-r--r--qpid/cpp/include/qpid/client/Handle.h10
-rw-r--r--qpid/cpp/include/qpid/client/LocalQueue.h2
-rw-r--r--qpid/cpp/include/qpid/client/Message.h2
-rw-r--r--qpid/cpp/include/qpid/client/MessageListener.h2
-rw-r--r--qpid/cpp/include/qpid/client/MessageReplayTracker.h2
-rw-r--r--qpid/cpp/include/qpid/client/QueueOptions.h2
-rw-r--r--qpid/cpp/include/qpid/client/SessionBase_0_10.h2
-rw-r--r--qpid/cpp/include/qpid/client/Subscription.h8
-rw-r--r--qpid/cpp/include/qpid/client/SubscriptionManager.h2
-rw-r--r--qpid/cpp/include/qpid/console/Agent.h14
-rw-r--r--qpid/cpp/include/qpid/console/Broker.h16
-rw-r--r--qpid/cpp/include/qpid/console/ConsoleImportExport.h14
-rw-r--r--qpid/cpp/include/qpid/framing/Array.h26
-rw-r--r--qpid/cpp/include/qpid/framing/Buffer.h16
-rw-r--r--qpid/cpp/include/qpid/framing/FieldTable.h6
-rw-r--r--qpid/cpp/include/qpid/framing/FieldValue.h21
-rw-r--r--qpid/cpp/include/qpid/framing/List.h25
-rw-r--r--qpid/cpp/include/qpid/framing/ProtocolVersion.h12
-rw-r--r--qpid/cpp/include/qpid/framing/SequenceNumber.h2
-rw-r--r--qpid/cpp/include/qpid/framing/SequenceSet.h2
-rw-r--r--qpid/cpp/include/qpid/framing/StructHelper.h2
-rw-r--r--qpid/cpp/include/qpid/framing/Uuid.h10
-rw-r--r--qpid/cpp/include/qpid/log/Logger.h6
-rw-r--r--qpid/cpp/include/qpid/log/Options.h2
-rw-r--r--qpid/cpp/include/qpid/management/ManagementObject.h18
-rw-r--r--qpid/cpp/include/qpid/messaging/Address.h2
-rw-r--r--qpid/cpp/include/qpid/messaging/Connection.h30
-rw-r--r--qpid/cpp/include/qpid/messaging/Duration.h8
-rw-r--r--qpid/cpp/include/qpid/messaging/FailoverUpdates.h2
-rw-r--r--qpid/cpp/include/qpid/messaging/Handle.h10
-rw-r--r--qpid/cpp/include/qpid/messaging/ImportExport.h14
-rw-r--r--qpid/cpp/include/qpid/messaging/Message.h101
-rw-r--r--qpid/cpp/include/qpid/messaging/Receiver.h2
-rw-r--r--qpid/cpp/include/qpid/messaging/Sender.h2
-rw-r--r--qpid/cpp/include/qpid/messaging/Session.h6
-rw-r--r--qpid/cpp/include/qpid/messaging/exceptions.h42
-rw-r--r--qpid/cpp/include/qpid/sys/ExceptionHolder.h13
-rwxr-xr-xqpid/cpp/include/qpid/sys/IntegerTypes.h2
-rw-r--r--qpid/cpp/include/qpid/sys/Runnable.h2
-rw-r--r--qpid/cpp/include/qpid/sys/Thread.h6
-rw-r--r--qpid/cpp/include/qpid/sys/Time.h5
-rwxr-xr-xqpid/cpp/include/qpid/sys/windows/IntegerTypes.h6
-rw-r--r--qpid/cpp/include/qpid/types/Exception.h2
-rw-r--r--qpid/cpp/include/qpid/types/ImportExport.h14
-rw-r--r--qpid/cpp/include/qpid/types/Uuid.h2
-rw-r--r--qpid/cpp/include/qpid/types/Variant.h6
62 files changed, 323 insertions, 423 deletions
diff --git a/qpid/cpp/include/qpid/Address.h b/qpid/cpp/include/qpid/Address.h
index f5b19d0532..57c9139f87 100755
--- a/qpid/cpp/include/qpid/Address.h
+++ b/qpid/cpp/include/qpid/Address.h
@@ -36,7 +36,7 @@ public:
static const std::string TCP; // Default TCP protocol tag.
static const uint16_t AMQP_PORT=5672; // Default AMQP port.
- QPID_COMMON_INLINE_EXTERN explicit Address(
+ QPID_COMMON_EXTERN explicit Address(
const std::string& protocol_=std::string(),
const std::string& host_=std::string(),
uint16_t port_=0
diff --git a/qpid/cpp/include/qpid/CommonImportExport.h b/qpid/cpp/include/qpid/CommonImportExport.h
index dd2b900b73..02c06ed7af 100644
--- a/qpid/cpp/include/qpid/CommonImportExport.h
+++ b/qpid/cpp/include/qpid/CommonImportExport.h
@@ -20,16 +20,14 @@
* under the License.
*/
-#include "qpid/ImportExport.h"
-
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
#if defined(COMMON_EXPORT) || defined (qpidcommon_EXPORTS)
-# define QPID_COMMON_EXTERN QPID_EXPORT
-# define QPID_COMMON_CLASS_EXTERN QPID_CLASS_EXPORT
-# define QPID_COMMON_INLINE_EXTERN QPID_INLINE_EXPORT
+#define QPID_COMMON_EXTERN __declspec(dllexport)
+#else
+#define QPID_COMMON_EXTERN __declspec(dllimport)
+#endif
#else
-# define QPID_COMMON_EXTERN QPID_IMPORT
-# define QPID_COMMON_CLASS_EXTERN QPID_CLASS_IMPORT
-# define QPID_COMMON_INLINE_EXTERN QPID_INLINE_IMPORT
+#define QPID_COMMON_EXTERN
#endif
#endif
diff --git a/qpid/cpp/include/qpid/Exception.h b/qpid/cpp/include/qpid/Exception.h
index cbd175214d..fa7111160c 100644
--- a/qpid/cpp/include/qpid/Exception.h
+++ b/qpid/cpp/include/qpid/Exception.h
@@ -36,7 +36,7 @@ namespace qpid
/**
* Base class for Qpid runtime exceptions.
*/
-class QPID_COMMON_CLASS_EXTERN Exception : public std::exception
+class Exception : public std::exception
{
public:
QPID_COMMON_EXTERN explicit Exception(const std::string& message=std::string()) throw();
@@ -51,30 +51,30 @@ class QPID_COMMON_CLASS_EXTERN Exception : public std::exception
};
/** Exception that includes an errno message. */
-struct QPID_COMMON_CLASS_EXTERN ErrnoException : public Exception {
+struct ErrnoException : public Exception {
ErrnoException(const std::string& msg, int err) : Exception(msg+": "+qpid::sys::strError(err)) {}
ErrnoException(const std::string& msg) : Exception(msg+": "+qpid::sys::strError(errno)) {}
};
-struct QPID_COMMON_CLASS_EXTERN SessionException : public Exception {
+struct SessionException : public Exception {
const framing::execution::ErrorCode code;
SessionException(framing::execution::ErrorCode code_, const std::string& message)
: Exception(message), code(code_) {}
};
-struct QPID_COMMON_CLASS_EXTERN ChannelException : public Exception {
+struct ChannelException : public Exception {
const framing::session::DetachCode code;
ChannelException(framing::session::DetachCode _code, const std::string& message)
: Exception(message), code(_code) {}
};
-struct QPID_COMMON_CLASS_EXTERN ConnectionException : public Exception {
+struct ConnectionException : public Exception {
const framing::connection::CloseCode code;
ConnectionException(framing::connection::CloseCode _code, const std::string& message)
: Exception(message), code(_code) {}
};
-struct QPID_COMMON_CLASS_EXTERN ClosedException : public Exception {
+struct ClosedException : public Exception {
QPID_COMMON_EXTERN ClosedException(const std::string& msg=std::string());
QPID_COMMON_EXTERN std::string getPrefix() const;
};
diff --git a/qpid/cpp/include/qpid/ImportExport.h b/qpid/cpp/include/qpid/ImportExport.h
deleted file mode 100644
index e62399faf7..0000000000
--- a/qpid/cpp/include/qpid/ImportExport.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef QPID_IMPORTEXPORT_H
-#define QPID_IMPORTEXPORT_H
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-//
-// This header file defines the following macros for the control of library/DLL
-// import and export:
-//
-// QPID_EXPORT - Export declaration for Methods
-// QPID_CLASS_EXPORT - Export declaration for Classes
-// QPID_INLINE_EXPORT - Export declaration for Inline methods
-//
-// QPID_IMPORT - Import declaration for Methods
-// QPID_CLASS_IMPORT - Import declaration for Classes
-// QPID_INLINE_IMPORT - Import declaration for Inline methods
-//
-
-#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
- //
- // Import and Export definitions for Windows:
- //
-# define QPID_EXPORT __declspec(dllexport)
-# define QPID_IMPORT __declspec(dllimport)
-# ifdef _MSC_VER
- //
- // Specific to the Microsoft compiler:
- //
-# define QPID_CLASS_EXPORT
-# define QPID_CLASS_IMPORT
-# define QPID_INLINE_EXPORT QPID_EXPORT
-# define QPID_INLINE_IMPORT QPID_IMPORT
-# else
- //
- // Specific to non-Microsoft compilers (mingw32):
- //
-# define QPID_CLASS_EXPORT QPID_EXPORT
-# define QPID_CLASS_IMPORT QPID_IMPORT
-# define QPID_INLINE_EXPORT
-# define QPID_INLINE_IMPORT
-# endif
-#else
- //
- // Non-Windows (Linux, etc.) definitions:
- //
-# define QPID_EXPORT
-# define QPID_IMPORT
-# define QPID_CLASS_EXPORT
-# define QPID_CLASS_IMPORT
-# define QPID_INLINE_EXPORT
-# define QPID_INLINE_IMPORT
-#endif
-
-#endif /*!QPID_IMPORTEXPORT_H*/
diff --git a/qpid/cpp/include/qpid/Options.h b/qpid/cpp/include/qpid/Options.h
index 63d91c2d72..078a6b4d95 100644
--- a/qpid/cpp/include/qpid/Options.h
+++ b/qpid/cpp/include/qpid/Options.h
@@ -133,6 +133,77 @@ inline po::value_semantic* optValue(bool& value) { return po::bool_switch(&value
+/*
+ * ---------------------------------------------
+ * Explanation for Boost 103200 conditional code
+ * ---------------------------------------------
+ *
+ * This boost version has an implementation of the program_options library
+ * that has no provision for allowing unregistered options to pass by.
+ *
+ * But that means that, if you have a program that loads optional modules
+ * after start-up, and those modules each have their own set of options,
+ * then if you parse the command line too soon, you will get spurious
+ * reports of unrecognized options -- and the program will exit!
+ *
+ * And we must process the command-line before module-loading, because we
+ * need to look at the "bootstrap" options.
+ *
+ * This conditional code:
+ *
+ * 1. implements it's own functor class, derived from the Boost
+ * "options_description_easy_init" class. This functor is used
+ * to process added options and do the functor chaining, so that
+ * I can snoop on the arguments before doing an explicit call
+ * to its parent.
+ *
+ * 2. It implements two static vectors, one to hold long names, and
+ * one for short names, so that options declared by modules are
+ * not forgotten when their options_description goes out of scope.
+ *
+ * I will be thrilled to personally delete this code if we ever decide
+ * that qpid doesn't really need to support this antique version of Boost.
+ *
+ */
+
+#if ( BOOST_VERSION == 103200 )
+struct Options;
+
+
+struct
+options_description_less_easy_init
+ : public po::options_description_easy_init
+{
+ options_description_less_easy_init ( Options * my_owner,
+ po::options_description * my_parents_owner
+ )
+ : po::options_description_easy_init(my_parents_owner)
+ {
+ owner = my_owner;
+ }
+
+
+ options_description_less_easy_init&
+ operator()(char const * name,
+ char const * description);
+
+
+ options_description_less_easy_init&
+ operator()(char const * name,
+ const po::value_semantic* s);
+
+
+ options_description_less_easy_init&
+ operator()(const char* name,
+ const po::value_semantic* s,
+ const char* description);
+
+
+ Options * owner;
+};
+#endif
+
+
struct Options : public po::options_description {
struct Exception : public qpid::Exception {
@@ -151,9 +222,26 @@ struct Options : public po::options_description {
bool allowUnknown = false);
+ #if ( BOOST_VERSION == 103200 )
+ options_description_less_easy_init m_less_easy;
+
+ options_description_less_easy_init addOptions() {
+ return m_less_easy;
+ }
+
+ bool
+ is_registered_option ( std::string s );
+
+ void
+ register_names ( std::string s );
+
+ static std::vector<std::string> long_names;
+ static std::vector<std::string> short_names;
+ #else
boost::program_options::options_description_easy_init addOptions() {
return add_options();
}
+ #endif
};
diff --git a/qpid/cpp/include/qpid/Url.h b/qpid/cpp/include/qpid/Url.h
index 915b08ac5f..353e9d5599 100644
--- a/qpid/cpp/include/qpid/Url.h
+++ b/qpid/cpp/include/qpid/Url.h
@@ -66,7 +66,7 @@ struct Url : public std::vector<Address> {
*@exception Invalid if the url is invalid.
*/
QPID_COMMON_EXTERN void parse(const char* url);
- QPID_COMMON_INLINE_EXTERN void parse(const std::string& url) { parse(url.c_str()); }
+ QPID_COMMON_EXTERN void parse(const std::string& url) { parse(url.c_str()); }
/** Replace contesnts with parsed URL. Replace with empty URL if invalid. */
QPID_COMMON_EXTERN void parseNoThrow(const char* url);
diff --git a/qpid/cpp/include/qpid/agent/ManagementAgent.h b/qpid/cpp/include/qpid/agent/ManagementAgent.h
index 10bc6527a9..e2451244c1 100644
--- a/qpid/cpp/include/qpid/agent/ManagementAgent.h
+++ b/qpid/cpp/include/qpid/agent/ManagementAgent.h
@@ -110,8 +110,8 @@ class ManagementAgent
uint16_t intervalSeconds = 10,
bool useExternalThread = false,
const std::string& storeFile = "",
- const std::string& uid = "",
- const std::string& pwd = "",
+ const std::string& uid = "guest",
+ const std::string& pwd = "guest",
const std::string& mech = "PLAIN",
const std::string& proto = "tcp") = 0;
diff --git a/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h b/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h
index 3f923ac4b2..e41425a7ba 100644
--- a/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h
+++ b/qpid/cpp/include/qpid/agent/QmfAgentImportExport.h
@@ -20,16 +20,14 @@
* under the License.
*/
-#include "qpid/ImportExport.h"
-
-#if defined(QMF_EXPORT) || defined (qmf_EXPORTS)
-# define QMF_AGENT_EXTERN QPID_EXPORT
-# define QMF_AGENT_CLASS_EXTERN QPID_CLASS_EXPORT
-# define QMF_AGENT_INLINE_EXTERN QPID_INLINE_EXPORT
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
+#if defined (qmf_EXPORTS)
+#define QMF_AGENT_EXTERN __declspec(dllexport)
+#else
+#define QMF_AGENT_EXTERN __declspec(dllimport)
+#endif
#else
-# define QMF_AGENT_EXTERN QPID_IMPORT
-# define QMF_AGENT_CLASS_EXTERN QPID_CLASS_IMPORT
-# define QMF_AGENT_INLINE_EXTERN QPID_INLINE_IMPORT
+#define QMF_AGENT_EXTERN
#endif
#endif
diff --git a/qpid/cpp/include/qpid/client/ClientImportExport.h b/qpid/cpp/include/qpid/client/ClientImportExport.h
index 2a3a5a52e9..42b02e33c3 100644
--- a/qpid/cpp/include/qpid/client/ClientImportExport.h
+++ b/qpid/cpp/include/qpid/client/ClientImportExport.h
@@ -20,16 +20,14 @@
* under the License.
*/
-#include "qpid/ImportExport.h"
-
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
#if defined(CLIENT_EXPORT) || defined (qpidclient_EXPORTS)
-# define QPID_CLIENT_EXTERN QPID_EXPORT
-# define QPID_CLIENT_CLASS_EXTERN QPID_CLASS_EXPORT
-# define QPID_CLIENT_INLINE_EXTERN QPID_INLINE_EXPORT
+#define QPID_CLIENT_EXTERN __declspec(dllexport)
+#else
+#define QPID_CLIENT_EXTERN __declspec(dllimport)
+#endif
#else
-# define QPID_CLIENT_EXTERN QPID_IMPORT
-# define QPID_CLIENT_CLASS_EXTERN QPID_CLASS_IMPORT
-# define QPID_CLIENT_INLINE_EXTERN QPID_INLINE_IMPORT
+#define QPID_CLIENT_EXTERN
#endif
#endif
diff --git a/qpid/cpp/include/qpid/client/Completion.h b/qpid/cpp/include/qpid/client/Completion.h
index 9546db9258..99d940f031 100644
--- a/qpid/cpp/include/qpid/client/Completion.h
+++ b/qpid/cpp/include/qpid/client/Completion.h
@@ -41,7 +41,7 @@ template <class T> class PrivateImplRef;
*
*\ingroup clientapi
*/
-class QPID_CLIENT_CLASS_EXTERN Completion : public Handle<CompletionImpl>
+class Completion : public Handle<CompletionImpl>
{
public:
QPID_CLIENT_EXTERN Completion(CompletionImpl* = 0);
diff --git a/qpid/cpp/include/qpid/client/Connection.h b/qpid/cpp/include/qpid/client/Connection.h
index c0db0f301d..6ed0d98bc0 100644
--- a/qpid/cpp/include/qpid/client/Connection.h
+++ b/qpid/cpp/include/qpid/client/Connection.h
@@ -60,7 +60,7 @@ class ConnectionImpl;
*
*/
-class QPID_CLIENT_CLASS_EXTERN Connection
+class Connection
{
framing::ProtocolVersion version;
@@ -102,8 +102,8 @@ class QPID_CLIENT_CLASS_EXTERN Connection
* within a single broker).
*/
QPID_CLIENT_EXTERN void open(const std::string& host, int port = 5672,
- const std::string& uid = "",
- const std::string& pwd = "",
+ const std::string& uid = "guest",
+ const std::string& pwd = "guest",
const std::string& virtualhost = "/", uint16_t maxFrameSize=65535);
/**
@@ -124,8 +124,8 @@ class QPID_CLIENT_CLASS_EXTERN Connection
* within a single broker).
*/
QPID_CLIENT_EXTERN void open(const Url& url,
- const std::string& uid = "",
- const std::string& pwd = "",
+ const std::string& uid = "guest",
+ const std::string& pwd = "guest",
const std::string& virtualhost = "/", uint16_t maxFrameSize=65535);
/**
diff --git a/qpid/cpp/include/qpid/client/ConnectionSettings.h b/qpid/cpp/include/qpid/client/ConnectionSettings.h
index 2b6b86f891..1c2ee28b1b 100644
--- a/qpid/cpp/include/qpid/client/ConnectionSettings.h
+++ b/qpid/cpp/include/qpid/client/ConnectionSettings.h
@@ -37,7 +37,7 @@ namespace client {
/**
* Settings for a Connection.
*/
-struct QPID_CLIENT_CLASS_EXTERN ConnectionSettings {
+struct ConnectionSettings {
QPID_CLIENT_EXTERN ConnectionSettings();
QPID_CLIENT_EXTERN virtual ~ConnectionSettings();
diff --git a/qpid/cpp/include/qpid/client/FailoverListener.h b/qpid/cpp/include/qpid/client/FailoverListener.h
index 53c7c26211..59108eb7cb 100644
--- a/qpid/cpp/include/qpid/client/FailoverListener.h
+++ b/qpid/cpp/include/qpid/client/FailoverListener.h
@@ -48,7 +48,7 @@ namespace client {
* FailoverListener::decode to extract a list of broker URLs from a
* failover exchange message.
*/
-class QPID_CLIENT_CLASS_EXTERN FailoverListener : private MessageListener, private qpid::sys::Runnable
+class FailoverListener : private MessageListener, private qpid::sys::Runnable
{
public:
/** The name of the standard failover exchange amq.failover */
diff --git a/qpid/cpp/include/qpid/client/FailoverManager.h b/qpid/cpp/include/qpid/client/FailoverManager.h
index d3a0dbc976..0d30e2ed60 100644
--- a/qpid/cpp/include/qpid/client/FailoverManager.h
+++ b/qpid/cpp/include/qpid/client/FailoverManager.h
@@ -42,7 +42,7 @@ struct CannotConnectException : qpid::Exception
/**
* Utility to manage failover.
*/
-class QPID_CLIENT_CLASS_EXTERN FailoverManager
+class FailoverManager
{
public:
/**
diff --git a/qpid/cpp/include/qpid/client/Future.h b/qpid/cpp/include/qpid/client/Future.h
index 630a7e03c0..09088e68f6 100644
--- a/qpid/cpp/include/qpid/client/Future.h
+++ b/qpid/cpp/include/qpid/client/Future.h
@@ -34,7 +34,7 @@ namespace qpid {
namespace client {
/**@internal */
-class QPID_CLIENT_CLASS_EXTERN Future
+class Future
{
framing::SequenceNumber command;
boost::shared_ptr<FutureResult> result;
diff --git a/qpid/cpp/include/qpid/client/FutureResult.h b/qpid/cpp/include/qpid/client/FutureResult.h
index ead4929571..b2b663daa1 100644
--- a/qpid/cpp/include/qpid/client/FutureResult.h
+++ b/qpid/cpp/include/qpid/client/FutureResult.h
@@ -34,7 +34,7 @@ namespace client {
class SessionImpl;
///@internal
-class QPID_CLIENT_CLASS_EXTERN FutureResult : public FutureCompletion
+class FutureResult : public FutureCompletion
{
std::string result;
public:
diff --git a/qpid/cpp/include/qpid/client/Handle.h b/qpid/cpp/include/qpid/client/Handle.h
index b8315481a9..088e836fcf 100644
--- a/qpid/cpp/include/qpid/client/Handle.h
+++ b/qpid/cpp/include/qpid/client/Handle.h
@@ -40,22 +40,22 @@ template <class T> class Handle {
public:
/**@return true if handle is valid, i.e. not null. */
- QPID_CLIENT_INLINE_EXTERN bool isValid() const { return impl; }
+ QPID_CLIENT_EXTERN bool isValid() const { return impl; }
/**@return true if handle is null. It is an error to call any function on a null handle. */
- QPID_CLIENT_INLINE_EXTERN bool isNull() const { return !impl; }
+ QPID_CLIENT_EXTERN bool isNull() const { return !impl; }
/** Conversion to bool supports idiom if (handle) { handle->... } */
- QPID_CLIENT_INLINE_EXTERN operator bool() const { return impl; }
+ QPID_CLIENT_EXTERN operator bool() const { return impl; }
/** Operator ! supports idiom if (!handle) { do_if_handle_is_null(); } */
- QPID_CLIENT_INLINE_EXTERN bool operator !() const { return !impl; }
+ QPID_CLIENT_EXTERN bool operator !() const { return !impl; }
void swap(Handle<T>& h) { T* t = h.impl; h.impl = impl; impl = t; }
protected:
typedef T Impl;
- QPID_CLIENT_INLINE_EXTERN Handle() :impl() {}
+ QPID_CLIENT_EXTERN Handle() :impl() {}
// Not implemented,subclasses must implement.
QPID_CLIENT_EXTERN Handle(const Handle&);
diff --git a/qpid/cpp/include/qpid/client/LocalQueue.h b/qpid/cpp/include/qpid/client/LocalQueue.h
index 1a19a8499d..70e4cebcf1 100644
--- a/qpid/cpp/include/qpid/client/LocalQueue.h
+++ b/qpid/cpp/include/qpid/client/LocalQueue.h
@@ -71,7 +71,7 @@ template <class T> class PrivateImplRef;
* </ul>
*/
-class QPID_CLIENT_CLASS_EXTERN LocalQueue : public Handle<LocalQueueImpl> {
+class LocalQueue : public Handle<LocalQueueImpl> {
public:
/** Create a local queue. Subscribe the local queue to a remote broker
* queue with a SubscriptionManager.
diff --git a/qpid/cpp/include/qpid/client/Message.h b/qpid/cpp/include/qpid/client/Message.h
index ba50dda9ba..2401cbdc92 100644
--- a/qpid/cpp/include/qpid/client/Message.h
+++ b/qpid/cpp/include/qpid/client/Message.h
@@ -112,7 +112,7 @@ class MessageImpl;
*
*
*/
-class QPID_CLIENT_CLASS_EXTERN Message
+class Message
{
public:
/** Create a Message.
diff --git a/qpid/cpp/include/qpid/client/MessageListener.h b/qpid/cpp/include/qpid/client/MessageListener.h
index 3ca2fa964a..d200f8cf21 100644
--- a/qpid/cpp/include/qpid/client/MessageListener.h
+++ b/qpid/cpp/include/qpid/client/MessageListener.h
@@ -84,7 +84,7 @@ namespace client {
*
*/
- class QPID_CLIENT_CLASS_EXTERN MessageListener{
+ class MessageListener{
public:
QPID_CLIENT_EXTERN virtual ~MessageListener();
diff --git a/qpid/cpp/include/qpid/client/MessageReplayTracker.h b/qpid/cpp/include/qpid/client/MessageReplayTracker.h
index 06a3f29c7d..6f5a0f4ac3 100644
--- a/qpid/cpp/include/qpid/client/MessageReplayTracker.h
+++ b/qpid/cpp/include/qpid/client/MessageReplayTracker.h
@@ -34,7 +34,7 @@ namespace client {
* Utility to track messages sent asynchronously, allowing those that
* are indoubt to be replayed over a new session.
*/
-class QPID_CLIENT_CLASS_EXTERN MessageReplayTracker
+class MessageReplayTracker
{
public:
QPID_CLIENT_EXTERN MessageReplayTracker(uint flushInterval);
diff --git a/qpid/cpp/include/qpid/client/QueueOptions.h b/qpid/cpp/include/qpid/client/QueueOptions.h
index 3984b63fdd..f8a4963f06 100644
--- a/qpid/cpp/include/qpid/client/QueueOptions.h
+++ b/qpid/cpp/include/qpid/client/QueueOptions.h
@@ -35,7 +35,7 @@ enum QueueOrderingPolicy {FIFO, LVQ, LVQ_NO_BROWSE};
* A help class to set options on the Queue. Create a configured args while
* still allowing any custom configuration via the FieldTable base class
*/
-class QPID_CLIENT_CLASS_EXTERN QueueOptions: public framing::FieldTable
+class QueueOptions: public framing::FieldTable
{
public:
QPID_CLIENT_EXTERN QueueOptions();
diff --git a/qpid/cpp/include/qpid/client/SessionBase_0_10.h b/qpid/cpp/include/qpid/client/SessionBase_0_10.h
index ea50ab32f7..3b5c84e74b 100644
--- a/qpid/cpp/include/qpid/client/SessionBase_0_10.h
+++ b/qpid/cpp/include/qpid/client/SessionBase_0_10.h
@@ -54,7 +54,7 @@ enum CreditUnit { MESSAGE_CREDIT=0, BYTE_CREDIT=1, UNLIMITED_CREDIT=0xFFFFFFFF }
* Subclasses provide the AMQP commands for a given
* version of the protocol.
*/
-class QPID_CLIENT_CLASS_EXTERN SessionBase_0_10 {
+class SessionBase_0_10 {
public:
///@internal
diff --git a/qpid/cpp/include/qpid/client/Subscription.h b/qpid/cpp/include/qpid/client/Subscription.h
index bb9b98e8ff..425b6b92e2 100644
--- a/qpid/cpp/include/qpid/client/Subscription.h
+++ b/qpid/cpp/include/qpid/client/Subscription.h
@@ -39,7 +39,7 @@ class SubscriptionManager;
* A handle to an active subscription. Provides methods to query the subscription status
* and control acknowledgement (acquire and accept) of messages.
*/
-class QPID_CLIENT_CLASS_EXTERN Subscription : public Handle<SubscriptionImpl> {
+class Subscription : public Handle<SubscriptionImpl> {
public:
QPID_CLIENT_EXTERN Subscription(SubscriptionImpl* = 0);
QPID_CLIENT_EXTERN Subscription(const Subscription&);
@@ -91,13 +91,13 @@ class QPID_CLIENT_CLASS_EXTERN Subscription : public Handle<SubscriptionImpl> {
QPID_CLIENT_EXTERN void release(const SequenceSet& messageIds);
/* Acquire a single message */
- QPID_CLIENT_INLINE_EXTERN void acquire(const Message& m) { acquire(SequenceSet(m.getId())); }
+ QPID_CLIENT_EXTERN void acquire(const Message& m) { acquire(SequenceSet(m.getId())); }
/* Accept a single message */
- QPID_CLIENT_INLINE_EXTERN void accept(const Message& m) { accept(SequenceSet(m.getId())); }
+ QPID_CLIENT_EXTERN void accept(const Message& m) { accept(SequenceSet(m.getId())); }
/* Release a single message */
- QPID_CLIENT_INLINE_EXTERN void release(const Message& m) { release(SequenceSet(m.getId())); }
+ QPID_CLIENT_EXTERN void release(const Message& m) { release(SequenceSet(m.getId())); }
/** Get the session associated with this subscription */
QPID_CLIENT_EXTERN Session getSession() const;
diff --git a/qpid/cpp/include/qpid/client/SubscriptionManager.h b/qpid/cpp/include/qpid/client/SubscriptionManager.h
index b69819a8ff..e70e05f73a 100644
--- a/qpid/cpp/include/qpid/client/SubscriptionManager.h
+++ b/qpid/cpp/include/qpid/client/SubscriptionManager.h
@@ -94,7 +94,7 @@ class SubscriptionManagerImpl;
* </ul>
*
*/
-class QPID_CLIENT_CLASS_EXTERN SubscriptionManager : public sys::Runnable, public Handle<SubscriptionManagerImpl>
+class SubscriptionManager : public sys::Runnable, public Handle<SubscriptionManagerImpl>
{
public:
/** Create a new SubscriptionManager associated with a session */
diff --git a/qpid/cpp/include/qpid/console/Agent.h b/qpid/cpp/include/qpid/console/Agent.h
index 629dd71dee..97d75da250 100644
--- a/qpid/cpp/include/qpid/console/Agent.h
+++ b/qpid/cpp/include/qpid/console/Agent.h
@@ -31,17 +31,17 @@ namespace console {
*
* \ingroup qmfconsoleapi
*/
- class QPID_CONSOLE_CLASS_EXTERN Agent {
+ class QPID_CONSOLE_EXTERN Agent {
public:
typedef std::vector<Agent*> Vector;
- QPID_CONSOLE_INLINE_EXTERN Agent(Broker* _broker, uint32_t _bank, const std::string& _label) :
+ Agent(Broker* _broker, uint32_t _bank, const std::string& _label) :
broker(_broker), brokerBank(broker->getBrokerBank()),
agentBank(_bank), label(_label) {}
- QPID_CONSOLE_INLINE_EXTERN Broker* getBroker() const { return broker; }
- QPID_CONSOLE_INLINE_EXTERN uint32_t getBrokerBank() const { return brokerBank; }
- QPID_CONSOLE_INLINE_EXTERN uint32_t getAgentBank() const { return agentBank; }
- QPID_CONSOLE_INLINE_EXTERN const std::string& getLabel() const { return label; }
+ Broker* getBroker() const { return broker; }
+ uint32_t getBrokerBank() const { return brokerBank; }
+ uint32_t getAgentBank() const { return agentBank; }
+ const std::string& getLabel() const { return label; }
private:
Broker* broker;
@@ -50,7 +50,7 @@ namespace console {
const std::string label;
};
- std::ostream& operator<<(std::ostream& o, const Agent& agent);
+ QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Agent& agent);
}
}
diff --git a/qpid/cpp/include/qpid/console/Broker.h b/qpid/cpp/include/qpid/console/Broker.h
index c2ba8ac81f..0b2d1bcb61 100644
--- a/qpid/cpp/include/qpid/console/Broker.h
+++ b/qpid/cpp/include/qpid/console/Broker.h
@@ -55,12 +55,12 @@ namespace console {
client::ConnectionSettings& settings);
QPID_CONSOLE_EXTERN ~Broker();
- QPID_CONSOLE_INLINE_EXTERN bool isConnected() const { return connected; }
- QPID_CONSOLE_INLINE_EXTERN const std::string& getError() const { return error; }
- QPID_CONSOLE_INLINE_EXTERN const std::string& getSessionId() const { return amqpSessionId; }
- QPID_CONSOLE_INLINE_EXTERN const framing::Uuid& getBrokerId() const { return brokerId; }
- QPID_CONSOLE_INLINE_EXTERN uint32_t getBrokerBank() const { return 1; }
- QPID_CONSOLE_INLINE_EXTERN void addBinding(const std::string& key) {
+ QPID_CONSOLE_EXTERN bool isConnected() const { return connected; }
+ QPID_CONSOLE_EXTERN const std::string& getError() const { return error; }
+ QPID_CONSOLE_EXTERN const std::string& getSessionId() const { return amqpSessionId; }
+ QPID_CONSOLE_EXTERN const framing::Uuid& getBrokerId() const { return brokerId; }
+ QPID_CONSOLE_EXTERN uint32_t getBrokerBank() const { return 1; }
+ QPID_CONSOLE_EXTERN void addBinding(const std::string& key) {
connThreadBody.bindExchange("qpid.management", key);
}
QPID_CONSOLE_EXTERN std::string getUrl() const;
@@ -123,10 +123,10 @@ namespace console {
void setBrokerId(const framing::Uuid& id) { brokerId = id; }
void appendAgents(std::vector<Agent*>& agents) const;
- friend std::ostream& operator<<(std::ostream& o, const Broker& k);
+ friend QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Broker& k);
};
- std::ostream& operator<<(std::ostream& o, const Broker& k);
+ QPID_CONSOLE_EXTERN std::ostream& operator<<(std::ostream& o, const Broker& k);
}
}
diff --git a/qpid/cpp/include/qpid/console/ConsoleImportExport.h b/qpid/cpp/include/qpid/console/ConsoleImportExport.h
index aac30858f7..c2d7cb3a14 100644
--- a/qpid/cpp/include/qpid/console/ConsoleImportExport.h
+++ b/qpid/cpp/include/qpid/console/ConsoleImportExport.h
@@ -20,16 +20,14 @@
* under the License.
*/
-#include "qpid/ImportExport.h"
-
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
#if defined(CONSOLE_EXPORT) || defined (qmfconsole_EXPORTS)
-# define QPID_CONSOLE_EXTERN QPID_EXPORT
-# define QPID_CONSOLE_CLASS_EXTERN QPID_CLASS_EXPORT
-# define QPID_CONSOLE_INLINE_EXTERN QPID_INLINE_EXPORT
+#define QPID_CONSOLE_EXTERN __declspec(dllexport)
+#else
+#define QPID_CONSOLE_EXTERN __declspec(dllimport)
+#endif
#else
-# define QPID_CONSOLE_EXTERN QPID_IMPORT
-# define QPID_CONSOLE_CLASS_EXTERN QPID_CLASS_IMPORT
-# define QPID_CONSOLE_INLINE_EXTERN QPID_INLINE_IMPORT
+#define QPID_CONSOLE_EXTERN
#endif
#endif
diff --git a/qpid/cpp/include/qpid/framing/Array.h b/qpid/cpp/include/qpid/framing/Array.h
index 1e97be3bb4..d3bdd36aa6 100644
--- a/qpid/cpp/include/qpid/framing/Array.h
+++ b/qpid/cpp/include/qpid/framing/Array.h
@@ -34,7 +34,7 @@ namespace framing {
class Buffer;
-class QPID_COMMON_CLASS_EXTERN Array
+class Array
{
public:
typedef boost::shared_ptr<FieldValue> ValuePtr;
@@ -55,25 +55,25 @@ class QPID_COMMON_CLASS_EXTERN Array
//creates a longstr array
QPID_COMMON_EXTERN Array(const std::vector<std::string>& in);
- QPID_COMMON_INLINE_EXTERN TypeCode getType() const { return type; }
+ QPID_COMMON_EXTERN TypeCode getType() const { return type; }
// std collection interface.
- QPID_COMMON_INLINE_EXTERN const_iterator begin() const { return values.begin(); }
- QPID_COMMON_INLINE_EXTERN const_iterator end() const { return values.end(); }
- QPID_COMMON_INLINE_EXTERN iterator begin() { return values.begin(); }
- QPID_COMMON_INLINE_EXTERN iterator end(){ return values.end(); }
+ QPID_COMMON_EXTERN const_iterator begin() const { return values.begin(); }
+ QPID_COMMON_EXTERN const_iterator end() const { return values.end(); }
+ QPID_COMMON_EXTERN iterator begin() { return values.begin(); }
+ QPID_COMMON_EXTERN iterator end(){ return values.end(); }
- QPID_COMMON_INLINE_EXTERN ValuePtr front() const { return values.front(); }
- QPID_COMMON_INLINE_EXTERN ValuePtr back() const { return values.back(); }
- QPID_COMMON_INLINE_EXTERN size_t size() const { return values.size(); }
+ QPID_COMMON_EXTERN ValuePtr front() const { return values.front(); }
+ QPID_COMMON_EXTERN ValuePtr back() const { return values.back(); }
+ QPID_COMMON_EXTERN size_t size() const { return values.size(); }
QPID_COMMON_EXTERN void insert(iterator i, ValuePtr value);
- QPID_COMMON_INLINE_EXTERN void erase(iterator i) { values.erase(i); }
- QPID_COMMON_INLINE_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
- QPID_COMMON_INLINE_EXTERN void pop_back() { values.pop_back(); }
+ QPID_COMMON_EXTERN void erase(iterator i) { values.erase(i); }
+ QPID_COMMON_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
+ QPID_COMMON_EXTERN void pop_back() { values.pop_back(); }
// Non-std interface
- QPID_COMMON_INLINE_EXTERN void add(ValuePtr value) { push_back(value); }
+ QPID_COMMON_EXTERN void add(ValuePtr value) { push_back(value); }
template <class T>
void collect(std::vector<T>& out) const
diff --git a/qpid/cpp/include/qpid/framing/Buffer.h b/qpid/cpp/include/qpid/framing/Buffer.h
index 8b08e60762..04583433c5 100644
--- a/qpid/cpp/include/qpid/framing/Buffer.h
+++ b/qpid/cpp/include/qpid/framing/Buffer.h
@@ -29,14 +29,14 @@
namespace qpid {
namespace framing {
-struct QPID_COMMON_CLASS_EXTERN OutOfBounds : qpid::Exception {
+struct OutOfBounds : qpid::Exception {
OutOfBounds() : qpid::Exception(std::string("Out of Bounds")) {}
};
class Content;
class FieldTable;
-class QPID_COMMON_CLASS_EXTERN Buffer
+class Buffer
{
uint32_t size;
char* data;
@@ -72,12 +72,12 @@ class QPID_COMMON_CLASS_EXTERN Buffer
QPID_COMMON_EXTERN void restore(bool reRecord = false);
QPID_COMMON_EXTERN void reset();
- QPID_COMMON_INLINE_EXTERN uint32_t available() { return size - position; }
- QPID_COMMON_INLINE_EXTERN uint32_t getSize() { return size; }
- QPID_COMMON_INLINE_EXTERN uint32_t getPosition() { return position; }
- QPID_COMMON_INLINE_EXTERN void setPosition(uint32_t p) { position = p; }
- QPID_COMMON_INLINE_EXTERN Iterator getIterator() { return Iterator(*this); }
- QPID_COMMON_INLINE_EXTERN char* getPointer() { return data; }
+ QPID_COMMON_EXTERN uint32_t available() { return size - position; }
+ QPID_COMMON_EXTERN uint32_t getSize() { return size; }
+ QPID_COMMON_EXTERN uint32_t getPosition() { return position; }
+ QPID_COMMON_EXTERN void setPosition(uint32_t p) { position = p; }
+ QPID_COMMON_EXTERN Iterator getIterator() { return Iterator(*this); }
+ QPID_COMMON_EXTERN char* getPointer() { return data; }
QPID_COMMON_EXTERN void putOctet(uint8_t i);
QPID_COMMON_EXTERN void putShort(uint16_t i);
diff --git a/qpid/cpp/include/qpid/framing/FieldTable.h b/qpid/cpp/include/qpid/framing/FieldTable.h
index bdcef6d7fd..fdb1a28b9d 100644
--- a/qpid/cpp/include/qpid/framing/FieldTable.h
+++ b/qpid/cpp/include/qpid/framing/FieldTable.h
@@ -56,7 +56,7 @@ class FieldTable
typedef ValueMap::reference reference;
typedef ValueMap::value_type value_type;
- QPID_COMMON_INLINE_EXTERN FieldTable() {};
+ QPID_COMMON_EXTERN FieldTable() {};
QPID_COMMON_EXTERN FieldTable(const FieldTable& ft);
QPID_COMMON_EXTERN ~FieldTable();
QPID_COMMON_EXTERN FieldTable& operator=(const FieldTable& ft);
@@ -65,11 +65,9 @@ class FieldTable
QPID_COMMON_EXTERN void decode(Buffer& buffer);
QPID_COMMON_EXTERN int count() const;
- QPID_COMMON_INLINE_EXTERN size_t size() const { return values.size(); }
- QPID_COMMON_INLINE_EXTERN bool empty() { return size() == 0; }
QPID_COMMON_EXTERN void set(const std::string& name, const ValuePtr& value);
QPID_COMMON_EXTERN ValuePtr get(const std::string& name) const;
- QPID_COMMON_INLINE_EXTERN bool isSet(const std::string& name) const { return get(name).get() != 0; }
+ QPID_COMMON_EXTERN bool isSet(const std::string& name) const { return get(name).get() != 0; }
QPID_COMMON_EXTERN void setString(const std::string& name, const std::string& value);
QPID_COMMON_EXTERN void setInt(const std::string& name, const int value);
diff --git a/qpid/cpp/include/qpid/framing/FieldValue.h b/qpid/cpp/include/qpid/framing/FieldValue.h
index 458de62fdf..19220e74d5 100644
--- a/qpid/cpp/include/qpid/framing/FieldValue.h
+++ b/qpid/cpp/include/qpid/framing/FieldValue.h
@@ -41,14 +41,14 @@ namespace framing {
*
* \ingroup clientapi
*/
-class QPID_COMMON_CLASS_EXTERN FieldValueException : public qpid::Exception {};
+class FieldValueException : public qpid::Exception {};
/**
* Exception thrown when we can't perform requested conversion
*
* \ingroup clientapi
*/
-struct QPID_COMMON_CLASS_EXTERN InvalidConversionException : public FieldValueException {
+struct InvalidConversionException : public FieldValueException {
InvalidConversionException() {}
};
@@ -59,7 +59,7 @@ class List;
*
* \ingroup clientapi
*/
-class QPID_COMMON_CLASS_EXTERN FieldValue {
+class FieldValue {
public:
/*
* Abstract type for content of different types
@@ -90,7 +90,7 @@ class QPID_COMMON_CLASS_EXTERN FieldValue {
void encode(Buffer& buffer);
void decode(Buffer& buffer);
QPID_COMMON_EXTERN bool operator==(const FieldValue&) const;
- QPID_COMMON_INLINE_EXTERN bool operator!=(const FieldValue& v) const { return !(*this == v); }
+ QPID_COMMON_EXTERN bool operator!=(const FieldValue& v) const { return !(*this == v); }
QPID_COMMON_EXTERN void print(std::ostream& out) const;
@@ -98,7 +98,6 @@ class QPID_COMMON_CLASS_EXTERN FieldValue {
template <typename T> T get() const { throw InvalidConversionException(); }
template <class T, int W> T getIntegerValue() const;
- template <class T> T getIntegerValue() const;
template <class T, int W> T getFloatingPointValue() const;
template <int W> void getFixedWidthValue(unsigned char*) const;
template <class T> bool get(T&) const;
@@ -197,18 +196,6 @@ inline T FieldValue::getIntegerValue() const
}
}
-template <class T>
-inline T FieldValue::getIntegerValue() const
-{
- FixedWidthValue<1>* const fwv = dynamic_cast< FixedWidthValue<1>* const>(data.get());
- if (fwv) {
- uint8_t* octets = fwv->rawOctets();
- return octets[0];
- } else {
- throw InvalidConversionException();
- }
-}
-
template <class T, int W>
inline T FieldValue::getFloatingPointValue() const {
FixedWidthValue<W>* const fwv = dynamic_cast< FixedWidthValue<W>* const>(data.get());
diff --git a/qpid/cpp/include/qpid/framing/List.h b/qpid/cpp/include/qpid/framing/List.h
index 681445947c..0f17c7884c 100644
--- a/qpid/cpp/include/qpid/framing/List.h
+++ b/qpid/cpp/include/qpid/framing/List.h
@@ -36,11 +36,10 @@ class FieldValue;
/**
* Representation of an AMQP 0-10 list
*/
-class QPID_COMMON_CLASS_EXTERN List
+class List
{
public:
typedef boost::shared_ptr<FieldValue> ValuePtr;
- typedef ValuePtr value_type;
typedef std::list<ValuePtr> Values;
typedef Values::const_iterator const_iterator;
typedef Values::iterator iterator;
@@ -54,19 +53,19 @@ class QPID_COMMON_CLASS_EXTERN List
QPID_COMMON_EXTERN bool operator==(const List& other) const;
// std collection interface.
- QPID_COMMON_INLINE_EXTERN const_iterator begin() const { return values.begin(); }
- QPID_COMMON_INLINE_EXTERN const_iterator end() const { return values.end(); }
- QPID_COMMON_INLINE_EXTERN iterator begin() { return values.begin(); }
- QPID_COMMON_INLINE_EXTERN iterator end(){ return values.end(); }
+ QPID_COMMON_EXTERN const_iterator begin() const { return values.begin(); }
+ QPID_COMMON_EXTERN const_iterator end() const { return values.end(); }
+ QPID_COMMON_EXTERN iterator begin() { return values.begin(); }
+ QPID_COMMON_EXTERN iterator end(){ return values.end(); }
- QPID_COMMON_INLINE_EXTERN ValuePtr front() const { return values.front(); }
- QPID_COMMON_INLINE_EXTERN ValuePtr back() const { return values.back(); }
- QPID_COMMON_INLINE_EXTERN size_t size() const { return values.size(); }
+ QPID_COMMON_EXTERN ValuePtr front() const { return values.front(); }
+ QPID_COMMON_EXTERN ValuePtr back() const { return values.back(); }
+ QPID_COMMON_EXTERN size_t size() const { return values.size(); }
- QPID_COMMON_INLINE_EXTERN iterator insert(iterator i, ValuePtr value) { return values.insert(i, value); }
- QPID_COMMON_INLINE_EXTERN void erase(iterator i) { values.erase(i); }
- QPID_COMMON_INLINE_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
- QPID_COMMON_INLINE_EXTERN void pop_back() { values.pop_back(); }
+ QPID_COMMON_EXTERN iterator insert(iterator i, ValuePtr value) { return values.insert(i, value); }
+ QPID_COMMON_EXTERN void erase(iterator i) { values.erase(i); }
+ QPID_COMMON_EXTERN void push_back(ValuePtr value) { values.insert(end(), value); }
+ QPID_COMMON_EXTERN void pop_back() { values.pop_back(); }
private:
Values values;
diff --git a/qpid/cpp/include/qpid/framing/ProtocolVersion.h b/qpid/cpp/include/qpid/framing/ProtocolVersion.h
index 30094c165d..e7e75d75f6 100644
--- a/qpid/cpp/include/qpid/framing/ProtocolVersion.h
+++ b/qpid/cpp/include/qpid/framing/ProtocolVersion.h
@@ -29,7 +29,7 @@ namespace qpid
namespace framing
{
-class QPID_COMMON_CLASS_EXTERN ProtocolVersion
+class ProtocolVersion
{
private:
uint8_t major_;
@@ -39,16 +39,16 @@ public:
explicit ProtocolVersion(uint8_t _major=0, uint8_t _minor=0)
: major_(_major), minor_(_minor) {}
- QPID_COMMON_INLINE_EXTERN uint8_t getMajor() const { return major_; }
- QPID_COMMON_INLINE_EXTERN void setMajor(uint8_t major) { major_ = major; }
- QPID_COMMON_INLINE_EXTERN uint8_t getMinor() const { return minor_; }
- QPID_COMMON_INLINE_EXTERN void setMinor(uint8_t minor) { minor_ = minor; }
+ QPID_COMMON_EXTERN uint8_t getMajor() const { return major_; }
+ QPID_COMMON_EXTERN void setMajor(uint8_t major) { major_ = major; }
+ QPID_COMMON_EXTERN uint8_t getMinor() const { return minor_; }
+ QPID_COMMON_EXTERN void setMinor(uint8_t minor) { minor_ = minor; }
QPID_COMMON_EXTERN const std::string toString() const;
QPID_COMMON_EXTERN ProtocolVersion& operator=(ProtocolVersion p);
QPID_COMMON_EXTERN bool operator==(ProtocolVersion p) const;
- QPID_COMMON_INLINE_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
+ QPID_COMMON_EXTERN bool operator!=(ProtocolVersion p) const { return ! (*this == p); }
};
} // namespace framing
diff --git a/qpid/cpp/include/qpid/framing/SequenceNumber.h b/qpid/cpp/include/qpid/framing/SequenceNumber.h
index eed15a4b75..1e53058df8 100644
--- a/qpid/cpp/include/qpid/framing/SequenceNumber.h
+++ b/qpid/cpp/include/qpid/framing/SequenceNumber.h
@@ -34,7 +34,7 @@ class Buffer;
/**
* 4-byte sequence number that 'wraps around'.
*/
-class QPID_COMMON_CLASS_EXTERN SequenceNumber : public
+class SequenceNumber : public
boost::equality_comparable<
SequenceNumber, boost::less_than_comparable<
SequenceNumber, boost::incrementable<
diff --git a/qpid/cpp/include/qpid/framing/SequenceSet.h b/qpid/cpp/include/qpid/framing/SequenceSet.h
index 0a78e418ba..39395e9ad7 100644
--- a/qpid/cpp/include/qpid/framing/SequenceSet.h
+++ b/qpid/cpp/include/qpid/framing/SequenceSet.h
@@ -29,7 +29,7 @@ namespace qpid {
namespace framing {
class Buffer;
-class QPID_COMMON_CLASS_EXTERN SequenceSet : public RangeSet<SequenceNumber> {
+class SequenceSet : public RangeSet<SequenceNumber> {
public:
SequenceSet() {}
SequenceSet(const RangeSet<SequenceNumber>& r)
diff --git a/qpid/cpp/include/qpid/framing/StructHelper.h b/qpid/cpp/include/qpid/framing/StructHelper.h
index 21f9b91fa9..fc9a7909cc 100644
--- a/qpid/cpp/include/qpid/framing/StructHelper.h
+++ b/qpid/cpp/include/qpid/framing/StructHelper.h
@@ -30,7 +30,7 @@
namespace qpid {
namespace framing {
-class QPID_COMMON_CLASS_EXTERN StructHelper
+class StructHelper
{
public:
diff --git a/qpid/cpp/include/qpid/framing/Uuid.h b/qpid/cpp/include/qpid/framing/Uuid.h
index ccfd7e9534..d0a8d02411 100644
--- a/qpid/cpp/include/qpid/framing/Uuid.h
+++ b/qpid/cpp/include/qpid/framing/Uuid.h
@@ -52,22 +52,22 @@ struct Uuid : public boost::array<uint8_t, 16> {
// boost::array gives us ==, < etc.
/** Copy from 16 bytes of data. */
- QPID_COMMON_EXTERN void assign(const uint8_t* data);
+ void assign(const uint8_t* data);
/** Set to a new unique identifier. */
QPID_COMMON_EXTERN void generate();
/** Set to all zeros. */
- QPID_COMMON_EXTERN void clear();
+ void clear();
/** Test for null (all zeros). */
QPID_COMMON_EXTERN bool isNull() const;
- QPID_COMMON_INLINE_EXTERN operator bool() const { return !isNull(); }
- QPID_COMMON_INLINE_EXTERN bool operator!() const { return isNull(); }
+ operator bool() const { return !isNull(); }
+ bool operator!() const { return isNull(); }
QPID_COMMON_EXTERN void encode(framing::Buffer& buf) const;
QPID_COMMON_EXTERN void decode(framing::Buffer& buf);
- QPID_COMMON_INLINE_EXTERN uint32_t encodedSize() const
+ QPID_COMMON_EXTERN uint32_t encodedSize() const
{ return static_cast<uint32_t>(size()); }
/** String value in format 1b4e28ba-2fa1-11d2-883f-b9a761bde3fb. */
diff --git a/qpid/cpp/include/qpid/log/Logger.h b/qpid/cpp/include/qpid/log/Logger.h
index d255b7e150..783ab7bdb9 100644
--- a/qpid/cpp/include/qpid/log/Logger.h
+++ b/qpid/cpp/include/qpid/log/Logger.h
@@ -33,10 +33,10 @@ namespace log {
* is handled by Logger::Output-derived classes instantiated by the
* platform's sink-related options.
*/
-class QPID_COMMON_CLASS_EXTERN Logger : private boost::noncopyable {
+class Logger : private boost::noncopyable {
public:
/** Flags indicating what to include in the log output */
- enum FormatFlag { FILE=1, LINE=2, FUNCTION=4, LEVEL=8, TIME=16, THREAD=32, HIRES=64};
+ enum FormatFlag { FILE=1, LINE=2, FUNCTION=4, LEVEL=8, TIME=16, THREAD=32};
/**
* Logging output sink.
@@ -93,7 +93,7 @@ class QPID_COMMON_CLASS_EXTERN Logger : private boost::noncopyable {
QPID_COMMON_EXTERN void clear();
/** Get the options used to configure the logger. */
- QPID_COMMON_INLINE_EXTERN const Options& getOptions() const { return options; }
+ QPID_COMMON_EXTERN const Options& getOptions() const { return options; }
private:
diff --git a/qpid/cpp/include/qpid/log/Options.h b/qpid/cpp/include/qpid/log/Options.h
index 17cbfde9bc..bbc47b47d3 100644
--- a/qpid/cpp/include/qpid/log/Options.h
+++ b/qpid/cpp/include/qpid/log/Options.h
@@ -39,7 +39,7 @@ struct Options : public qpid::Options {
std::string argv0;
std::string name;
std::vector<std::string> selectors;
- bool time, level, thread, source, function, hiresTs;
+ bool time, level, thread, source, function;
bool trace;
std::string prefix;
std::auto_ptr<SinkOptions> sinkOptions;
diff --git a/qpid/cpp/include/qpid/management/ManagementObject.h b/qpid/cpp/include/qpid/management/ManagementObject.h
index 16bf21038c..747edda150 100644
--- a/qpid/cpp/include/qpid/management/ManagementObject.h
+++ b/qpid/cpp/include/qpid/management/ManagementObject.h
@@ -58,14 +58,14 @@ protected:
std::string agentName;
void fromString(const std::string&);
public:
- QPID_COMMON_INLINE_EXTERN ObjectId() : agent(0), first(0), second(0), agentEpoch(0) {}
- QPID_COMMON_INLINE_EXTERN ObjectId(const types::Variant& map) :
+ QPID_COMMON_EXTERN ObjectId() : agent(0), first(0), second(0), agentEpoch(0) {}
+ QPID_COMMON_EXTERN ObjectId(const types::Variant& map) :
agent(0), first(0), second(0), agentEpoch(0) { mapDecode(map.asMap()); }
QPID_COMMON_EXTERN ObjectId(uint8_t flags, uint16_t seq, uint32_t broker);
QPID_COMMON_EXTERN ObjectId(AgentAttachment* _agent, uint8_t flags, uint16_t seq);
QPID_COMMON_EXTERN ObjectId(std::istream&);
QPID_COMMON_EXTERN ObjectId(const std::string&);
- QPID_COMMON_INLINE_EXTERN ObjectId(const std::string& agentAddress, const std::string& key,
+ QPID_COMMON_EXTERN ObjectId(const std::string& agentAddress, const std::string& key,
uint64_t epoch=0) : agent(0), first(0), second(0),
agentEpoch(epoch), v2Key(key), agentName(agentAddress) {}
@@ -76,15 +76,15 @@ public:
QPID_COMMON_EXTERN void mapEncode(types::Variant::Map& map) const;
QPID_COMMON_EXTERN void mapDecode(const types::Variant::Map& map);
QPID_COMMON_EXTERN operator types::Variant::Map() const;
- QPID_COMMON_INLINE_EXTERN uint32_t encodedSize() const { return 16; };
+ QPID_COMMON_EXTERN uint32_t encodedSize() const { return 16; };
QPID_COMMON_EXTERN void encode(std::string& buffer) const;
QPID_COMMON_EXTERN void decode(const std::string& buffer);
QPID_COMMON_EXTERN bool equalV1(const ObjectId &other) const;
- QPID_COMMON_INLINE_EXTERN void setV2Key(const std::string& _key) { v2Key = _key; }
+ QPID_COMMON_EXTERN void setV2Key(const std::string& _key) { v2Key = _key; }
QPID_COMMON_EXTERN void setV2Key(const ManagementObject& object);
- QPID_COMMON_INLINE_EXTERN void setAgentName(const std::string& _name) { agentName = _name; }
- QPID_COMMON_INLINE_EXTERN const std::string& getAgentName() const { return agentName; }
- QPID_COMMON_INLINE_EXTERN const std::string& getV2Key() const { return v2Key; }
+ QPID_COMMON_EXTERN void setAgentName(const std::string& _name) { agentName = _name; }
+ QPID_COMMON_EXTERN const std::string& getAgentName() const { return agentName; }
+ QPID_COMMON_EXTERN const std::string& getV2Key() const { return v2Key; }
friend QPID_COMMON_EXTERN std::ostream& operator<<(std::ostream&, const ObjectId&);
};
@@ -131,7 +131,7 @@ public:
virtual ~ManagementItem() {}
};
-class QPID_COMMON_CLASS_EXTERN ManagementObject : public ManagementItem
+class ManagementObject : public ManagementItem
{
protected:
diff --git a/qpid/cpp/include/qpid/messaging/Address.h b/qpid/cpp/include/qpid/messaging/Address.h
index 63dce0c49d..bebbfc72f6 100644
--- a/qpid/cpp/include/qpid/messaging/Address.h
+++ b/qpid/cpp/include/qpid/messaging/Address.h
@@ -119,7 +119,7 @@ class AddressImpl;
*
* An address has value semantics.
*/
-class QPID_MESSAGING_CLASS_EXTERN Address
+class Address
{
public:
QPID_MESSAGING_EXTERN Address();
diff --git a/qpid/cpp/include/qpid/messaging/Connection.h b/qpid/cpp/include/qpid/messaging/Connection.h
index 165573e2ef..1ad7a7242f 100644
--- a/qpid/cpp/include/qpid/messaging/Connection.h
+++ b/qpid/cpp/include/qpid/messaging/Connection.h
@@ -42,7 +42,7 @@ class Session;
* A connection represents a network connection to a remote endpoint.
*/
-class QPID_MESSAGING_CLASS_EXTERN Connection : public qpid::messaging::Handle<ConnectionImpl>
+class Connection : public qpid::messaging::Handle<ConnectionImpl>
{
public:
QPID_MESSAGING_EXTERN Connection(ConnectionImpl* impl);
@@ -54,27 +54,27 @@ class QPID_MESSAGING_CLASS_EXTERN Connection : public qpid::messaging::Handle<Co
* username
* password
* heartbeat
- * tcp_nodelay
- * sasl_mechanisms
- * sasl_service
- * sasl_min_ssf
- * sasl_max_ssf
+ * tcp-nodelay
+ * sasl-mechanism
+ * sasl-service
+ * sasl-min-ssf
+ * sasl-max-ssf
* transport
*
* Reconnect behaviour can be controlled through the following options:
*
* reconnect: true/false (enables/disables reconnect entirely)
- * reconnect_timeout: number of seconds (give up and report failure after specified time)
- * reconnect_limit: n (give up and report failure after specified number of attempts)
- * reconnect_interval_min: number of seconds (initial delay between failed reconnection attempts)
- * reconnect_interval_max: number of seconds (maximum delay between failed reconnection attempts)
- * reconnect_interval: shorthand for setting the same reconnect_interval_min/max
- * reconnect_urls: list of alternate urls to try when connecting
+ * reconnect-timeout: number of seconds (give up and report failure after specified time)
+ * reconnect-limit: n (give up and report failure after specified number of attempts)
+ * reconnect-interval-min: number of seconds (initial delay between failed reconnection attempts)
+ * reconnect-interval-max: number of seconds (maximum delay between failed reconnection attempts)
+ * reconnect-interval: shorthand for setting the same reconnect_interval_min/max
+ * reconnect-urls: list of alternate urls to try when connecting
*
- * The reconnect_interval is the time that the client waits
+ * The reconnect-interval is the time that the client waits
* for after a failed attempt to reconnect before retrying. It
- * starts at the value of the min_retry_interval and is
- * doubled every failure until the value of max_retry_interval
+ * starts at the value of the min-retry-interval and is
+ * doubled every failure until the value of max-retry-interval
* is reached.
*/
QPID_MESSAGING_EXTERN Connection(const std::string& url, const qpid::types::Variant::Map& options = qpid::types::Variant::Map());
diff --git a/qpid/cpp/include/qpid/messaging/Duration.h b/qpid/cpp/include/qpid/messaging/Duration.h
index 6b8f05c7c6..abcf169090 100644
--- a/qpid/cpp/include/qpid/messaging/Duration.h
+++ b/qpid/cpp/include/qpid/messaging/Duration.h
@@ -32,7 +32,7 @@ namespace messaging {
/** \ingroup messaging
* A duration is a time in milliseconds.
*/
-class QPID_MESSAGING_CLASS_EXTERN Duration
+class Duration
{
public:
QPID_MESSAGING_EXTERN explicit Duration(uint64_t milliseconds);
@@ -46,11 +46,9 @@ class QPID_MESSAGING_CLASS_EXTERN Duration
};
QPID_MESSAGING_EXTERN Duration operator*(const Duration& duration,
- uint64_t multiplier);
+ uint64_t multiplier);
QPID_MESSAGING_EXTERN Duration operator*(uint64_t multiplier,
- const Duration& duration);
-QPID_MESSAGING_EXTERN bool operator==(const Duration& a, const Duration& b);
-QPID_MESSAGING_EXTERN bool operator!=(const Duration& a, const Duration& b);
+ const Duration& duration);
}} // namespace qpid::messaging
diff --git a/qpid/cpp/include/qpid/messaging/FailoverUpdates.h b/qpid/cpp/include/qpid/messaging/FailoverUpdates.h
index 6d7314620a..14a1a31b63 100644
--- a/qpid/cpp/include/qpid/messaging/FailoverUpdates.h
+++ b/qpid/cpp/include/qpid/messaging/FailoverUpdates.h
@@ -32,7 +32,7 @@ struct FailoverUpdatesImpl;
* A utility to listen for updates on cluster membership and update
* the list of known urls for a connection accordingly.
*/
-class QPID_MESSAGING_CLASS_EXTERN FailoverUpdates
+class FailoverUpdates
{
public:
QPID_MESSAGING_EXTERN FailoverUpdates(Connection& connection);
diff --git a/qpid/cpp/include/qpid/messaging/Handle.h b/qpid/cpp/include/qpid/messaging/Handle.h
index 97a8f00b54..1e634ef888 100644
--- a/qpid/cpp/include/qpid/messaging/Handle.h
+++ b/qpid/cpp/include/qpid/messaging/Handle.h
@@ -40,22 +40,22 @@ template <class T> class Handle {
public:
/**@return true if handle is valid, i.e. not null. */
- QPID_MESSAGING_INLINE_EXTERN bool isValid() const { return impl; }
+ QPID_MESSAGING_EXTERN bool isValid() const { return impl; }
/**@return true if handle is null. It is an error to call any function on a null handle. */
- QPID_MESSAGING_INLINE_EXTERN bool isNull() const { return !impl; }
+ QPID_MESSAGING_EXTERN bool isNull() const { return !impl; }
/** Conversion to bool supports idiom if (handle) { handle->... } */
- QPID_MESSAGING_INLINE_EXTERN operator bool() const { return impl; }
+ QPID_MESSAGING_EXTERN operator bool() const { return impl; }
/** Operator ! supports idiom if (!handle) { do_if_handle_is_null(); } */
- QPID_MESSAGING_INLINE_EXTERN bool operator !() const { return !impl; }
+ QPID_MESSAGING_EXTERN bool operator !() const { return !impl; }
void swap(Handle<T>& h) { T* t = h.impl; h.impl = impl; impl = t; }
protected:
typedef T Impl;
- QPID_MESSAGING_INLINE_EXTERN Handle() :impl() {}
+ QPID_MESSAGING_EXTERN Handle() :impl() {}
// Not implemented,subclasses must implement.
QPID_MESSAGING_EXTERN Handle(const Handle&);
diff --git a/qpid/cpp/include/qpid/messaging/ImportExport.h b/qpid/cpp/include/qpid/messaging/ImportExport.h
index ab5f21f618..52f3eb8568 100644
--- a/qpid/cpp/include/qpid/messaging/ImportExport.h
+++ b/qpid/cpp/include/qpid/messaging/ImportExport.h
@@ -20,16 +20,14 @@
* under the License.
*/
-#include "qpid/ImportExport.h"
-
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
#if defined(CLIENT_EXPORT) || defined (qpidmessaging_EXPORTS)
-# define QPID_MESSAGING_EXTERN QPID_EXPORT
-# define QPID_MESSAGING_CLASS_EXTERN QPID_CLASS_EXPORT
-# define QPID_MESSAGING_INLINE_EXTERN QPID_INLINE_EXPORT
+#define QPID_MESSAGING_EXTERN __declspec(dllexport)
+#else
+#define QPID_MESSAGING_EXTERN __declspec(dllimport)
+#endif
#else
-# define QPID_MESSAGING_EXTERN QPID_IMPORT
-# define QPID_MESSAGING_CLASS_EXTERN QPID_CLASS_IMPORT
-# define QPID_MESSAGING_INLINE_EXTERN QPID_INLINE_IMPORT
+#define QPID_MESSAGING_EXTERN
#endif
#endif /*!QPID_MESSAGING_IMPORTEXPORT_H*/
diff --git a/qpid/cpp/include/qpid/messaging/Message.h b/qpid/cpp/include/qpid/messaging/Message.h
index e89a6ce02f..d48af35cc0 100644
--- a/qpid/cpp/include/qpid/messaging/Message.h
+++ b/qpid/cpp/include/qpid/messaging/Message.h
@@ -39,7 +39,7 @@ struct MessageImpl;
/** \ingroup messaging
* Representation of a message.
*/
-class QPID_MESSAGING_CLASS_EXTERN Message
+class Message
{
public:
QPID_MESSAGING_EXTERN Message(const std::string& bytes = std::string());
@@ -55,58 +55,23 @@ class QPID_MESSAGING_CLASS_EXTERN Message
QPID_MESSAGING_EXTERN void setSubject(const std::string&);
QPID_MESSAGING_EXTERN const std::string& getSubject() const;
- /**
- * Set the content type (i.e. the MIME type) for the message. This
- * should be set by the sending application and indicates to
- * recipients of message how to interpret or decode the content.
- */
QPID_MESSAGING_EXTERN void setContentType(const std::string&);
- /**
- * Returns the content type (i.e. the MIME type) for the
- * message. This can be used to determine how to decode the
- * message content.
- */
QPID_MESSAGING_EXTERN const std::string& getContentType() const;
- /**
- * Set an application defined identifier for the message. At
- * present this must be a stringfied UUID (support for less
- * restrictive IDs is anticipated however).
- */
QPID_MESSAGING_EXTERN void setMessageId(const std::string&);
QPID_MESSAGING_EXTERN const std::string& getMessageId() const;
- /**
- * Sets the user id of the message. This should in general be the
- * user-id as which the sending connection authenticated itself as
- * the messaging infrastructure will verify this. See
- * Connection::getAuthenticatedUsername()
- */
QPID_MESSAGING_EXTERN void setUserId(const std::string&);
QPID_MESSAGING_EXTERN const std::string& getUserId() const;
- /**
- * Can be used to set application specific correlation identifiers
- * as part of a protocol for message exchange patterns. E.g. a
- * request-reponse pattern might require the correlation-id of the
- * request and response to match, or might use the message-id of
- * the request as the correlation-id on the response etc.
- */
QPID_MESSAGING_EXTERN void setCorrelationId(const std::string&);
QPID_MESSAGING_EXTERN const std::string& getCorrelationId() const;
- /**
- * Sets a priority level on the message. This may be used by the
- * messaging infrastructure to prioritise delivery of higher
- * priority messages.
- */
QPID_MESSAGING_EXTERN void setPriority(uint8_t);
QPID_MESSAGING_EXTERN uint8_t getPriority() const;
/**
- * Set the time to live for this message in milliseconds. This can
- * be used by the messaging infrastructure to discard messages
- * that are no longer of relevance.
+ * Set the time to live for this message in milliseconds.
*/
QPID_MESSAGING_EXTERN void setTtl(Duration ttl);
/**
@@ -114,62 +79,24 @@ class QPID_MESSAGING_CLASS_EXTERN Message
*/
QPID_MESSAGING_EXTERN Duration getTtl() const;
- /**
- * Mark the message as durable. This is a hint to the messaging
- * infrastructure that the message should be persisted or
- * otherwise stored such that failoures or shutdown do not cause
- * it to be lost.
- */
QPID_MESSAGING_EXTERN void setDurable(bool durable);
QPID_MESSAGING_EXTERN bool getDurable() const;
- /**
- * The redelivered flag if set implies that the message *may* have
- * been previously delivered and thus is a hint to the application
- * or messaging infrastructure that if de-duplication is required
- * this message should be examined to determine if it is a
- * duplicate.
- */
QPID_MESSAGING_EXTERN bool getRedelivered() const;
- /**
- * Can be used to provide a hint to the application or messaging
- * infrastructure that if de-duplication is required this message
- * should be examined to determine if it is a duplicate.
- */
QPID_MESSAGING_EXTERN void setRedelivered(bool);
- /**
- * In addition to a payload (i.e. the content), messages can
- * include annotations describing aspectf of the message. In
- * addition to the standard annotations such as TTL and content
- * type, application- or context- specific properties can also be
- * defined. Each message has a map of name values for such custom
- * properties. The value is specified as a Variant.
- */
QPID_MESSAGING_EXTERN const qpid::types::Variant::Map& getProperties() const;
QPID_MESSAGING_EXTERN qpid::types::Variant::Map& getProperties();
- /**
- * Set the content to the data held in the string parameter. Note:
- * this is treated as raw bytes and need not be text. Consider
- * setting the content-type to indicate how the data should be
- * interpreted by recipients.
- */
QPID_MESSAGING_EXTERN void setContent(const std::string&);
/**
- * Copy count bytes from the region pointed to by chars as the
- * message content.
+ * Note that chars are copied.
*/
QPID_MESSAGING_EXTERN void setContent(const char* chars, size_t count);
/** Get the content as a std::string */
QPID_MESSAGING_EXTERN std::string getContent() const;
- /**
- * Get a const pointer to the start of the content data. The
- * memory pointed to is owned by the message. The getContentSize()
- * method indicates how much data there is (i.e. the extent of the
- * memory region pointed to by the return value of this method).
- */
+ /** Get a const pointer to the start of the content data. */
QPID_MESSAGING_EXTERN const char* getContentPtr() const;
/** Get the size of content in bytes. */
QPID_MESSAGING_EXTERN size_t getContentSize() const;
@@ -180,9 +107,9 @@ class QPID_MESSAGING_CLASS_EXTERN Message
friend struct MessageImplAccess;
};
-struct QPID_MESSAGING_CLASS_EXTERN EncodingException : qpid::types::Exception
+struct EncodingException : qpid::types::Exception
{
- QPID_MESSAGING_EXTERN EncodingException(const std::string& msg);
+ EncodingException(const std::string& msg);
};
/**
@@ -195,8 +122,8 @@ struct QPID_MESSAGING_CLASS_EXTERN EncodingException : qpid::types::Exception
* @exception EncodingException
*/
QPID_MESSAGING_EXTERN void decode(const Message& message,
- qpid::types::Variant::Map& map,
- const std::string& encoding = std::string());
+ qpid::types::Variant::Map& map,
+ const std::string& encoding = std::string());
/**
* Decodes message content into a Variant::List.
*
@@ -207,8 +134,8 @@ QPID_MESSAGING_EXTERN void decode(const Message& message,
* @exception EncodingException
*/
QPID_MESSAGING_EXTERN void decode(const Message& message,
- qpid::types::Variant::List& list,
- const std::string& encoding = std::string());
+ qpid::types::Variant::List& list,
+ const std::string& encoding = std::string());
/**
* Encodes a Variant::Map into a message.
*
@@ -219,8 +146,8 @@ QPID_MESSAGING_EXTERN void decode(const Message& message,
* @exception EncodingException
*/
QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::Map& map,
- Message& message,
- const std::string& encoding = std::string());
+ Message& message,
+ const std::string& encoding = std::string());
/**
* Encodes a Variant::List into a message.
*
@@ -231,8 +158,8 @@ QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::Map& map,
* @exception EncodingException
*/
QPID_MESSAGING_EXTERN void encode(const qpid::types::Variant::List& list,
- Message& message,
- const std::string& encoding = std::string());
+ Message& message,
+ const std::string& encoding = std::string());
}} // namespace qpid::messaging
diff --git a/qpid/cpp/include/qpid/messaging/Receiver.h b/qpid/cpp/include/qpid/messaging/Receiver.h
index 13317dfcbd..6f3ae961db 100644
--- a/qpid/cpp/include/qpid/messaging/Receiver.h
+++ b/qpid/cpp/include/qpid/messaging/Receiver.h
@@ -41,7 +41,7 @@ class Session;
/** \ingroup messaging
* Interface through which messages are received.
*/
-class QPID_MESSAGING_CLASS_EXTERN Receiver : public qpid::messaging::Handle<ReceiverImpl>
+class Receiver : public qpid::messaging::Handle<ReceiverImpl>
{
public:
QPID_MESSAGING_EXTERN Receiver(ReceiverImpl* impl = 0);
diff --git a/qpid/cpp/include/qpid/messaging/Sender.h b/qpid/cpp/include/qpid/messaging/Sender.h
index 8e1c5846e9..85658f37cc 100644
--- a/qpid/cpp/include/qpid/messaging/Sender.h
+++ b/qpid/cpp/include/qpid/messaging/Sender.h
@@ -40,7 +40,7 @@ class Session;
/** \ingroup messaging
* Interface through which messages are sent.
*/
-class QPID_MESSAGING_CLASS_EXTERN Sender : public qpid::messaging::Handle<SenderImpl>
+class Sender : public qpid::messaging::Handle<SenderImpl>
{
public:
QPID_MESSAGING_EXTERN Sender(SenderImpl* impl = 0);
diff --git a/qpid/cpp/include/qpid/messaging/Session.h b/qpid/cpp/include/qpid/messaging/Session.h
index 428f8aa491..6c023629e0 100644
--- a/qpid/cpp/include/qpid/messaging/Session.h
+++ b/qpid/cpp/include/qpid/messaging/Session.h
@@ -46,7 +46,7 @@ class SessionImpl;
* A session represents a distinct 'conversation' which can involve
* sending and receiving messages to and from different addresses.
*/
-class QPID_MESSAGING_CLASS_EXTERN Session : public qpid::messaging::Handle<SessionImpl>
+class Session : public qpid::messaging::Handle<SessionImpl>
{
public:
QPID_MESSAGING_EXTERN Session(SessionImpl* impl = 0);
@@ -78,10 +78,6 @@ class QPID_MESSAGING_CLASS_EXTERN Session : public qpid::messaging::Handle<Sessi
*/
QPID_MESSAGING_EXTERN void acknowledge(Message&, bool sync=false);
/**
- * Acknowledges all message up to the specified message.
- */
- QPID_MESSAGING_EXTERN void acknowledgeUpTo(Message&, bool sync=false);
- /**
* Rejects the specified message. The broker does not redeliver a
* message that has been rejected. Once a message has been
* acknowledged, it can no longer be rejected.
diff --git a/qpid/cpp/include/qpid/messaging/exceptions.h b/qpid/cpp/include/qpid/messaging/exceptions.h
index 07d1dc414b..0ff608b343 100644
--- a/qpid/cpp/include/qpid/messaging/exceptions.h
+++ b/qpid/cpp/include/qpid/messaging/exceptions.h
@@ -32,7 +32,7 @@ namespace messaging {
/** \ingroup messaging
*/
-struct QPID_MESSAGING_CLASS_EXTERN MessagingException : public qpid::types::Exception
+struct MessagingException : public qpid::types::Exception
{
QPID_MESSAGING_EXTERN MessagingException(const std::string& msg);
QPID_MESSAGING_EXTERN virtual ~MessagingException() throw();
@@ -41,22 +41,22 @@ struct QPID_MESSAGING_CLASS_EXTERN MessagingException : public qpid::types::Exce
//TODO: override what() to include detail if present
};
-struct QPID_MESSAGING_CLASS_EXTERN InvalidOptionString : public MessagingException
+struct InvalidOptionString : public MessagingException
{
QPID_MESSAGING_EXTERN InvalidOptionString(const std::string& msg);
};
-struct QPID_MESSAGING_CLASS_EXTERN KeyError : public MessagingException
+struct KeyError : public MessagingException
{
QPID_MESSAGING_EXTERN KeyError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN LinkError : public MessagingException
+struct LinkError : public MessagingException
{
QPID_MESSAGING_EXTERN LinkError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN AddressError : public LinkError
+struct AddressError : public LinkError
{
QPID_MESSAGING_EXTERN AddressError(const std::string&);
};
@@ -65,17 +65,17 @@ struct QPID_MESSAGING_CLASS_EXTERN AddressError : public LinkError
* Thrown when a syntactically correct address cannot be resolved or
* used.
*/
-struct QPID_MESSAGING_CLASS_EXTERN ResolutionError : public AddressError
+struct ResolutionError : public AddressError
{
QPID_MESSAGING_EXTERN ResolutionError(const std::string& msg);
};
-struct QPID_MESSAGING_CLASS_EXTERN AssertionFailed : public ResolutionError
+struct AssertionFailed : public ResolutionError
{
QPID_MESSAGING_EXTERN AssertionFailed(const std::string& msg);
};
-struct QPID_MESSAGING_CLASS_EXTERN NotFound : public ResolutionError
+struct NotFound : public ResolutionError
{
QPID_MESSAGING_EXTERN NotFound(const std::string& msg);
};
@@ -83,67 +83,67 @@ struct QPID_MESSAGING_CLASS_EXTERN NotFound : public ResolutionError
/**
* Thrown when an address string with inalid sytanx is used.
*/
-struct QPID_MESSAGING_CLASS_EXTERN MalformedAddress : public AddressError
+struct MalformedAddress : public AddressError
{
QPID_MESSAGING_EXTERN MalformedAddress(const std::string& msg);
};
-struct QPID_MESSAGING_CLASS_EXTERN ReceiverError : public LinkError
+struct ReceiverError : public LinkError
{
QPID_MESSAGING_EXTERN ReceiverError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN FetchError : public ReceiverError
+struct FetchError : public ReceiverError
{
QPID_MESSAGING_EXTERN FetchError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN NoMessageAvailable : public FetchError
+struct NoMessageAvailable : public FetchError
{
QPID_MESSAGING_EXTERN NoMessageAvailable();
};
-struct QPID_MESSAGING_CLASS_EXTERN SenderError : public LinkError
+struct SenderError : public LinkError
{
QPID_MESSAGING_EXTERN SenderError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN SendError : public SenderError
+struct SendError : public SenderError
{
QPID_MESSAGING_EXTERN SendError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN TargetCapacityExceeded : public SendError
+struct TargetCapacityExceeded : public SendError
{
QPID_MESSAGING_EXTERN TargetCapacityExceeded(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN SessionError : public MessagingException
+struct SessionError : public MessagingException
{
QPID_MESSAGING_EXTERN SessionError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN TransactionError : public SessionError
+struct TransactionError : public SessionError
{
QPID_MESSAGING_EXTERN TransactionError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN TransactionAborted : public TransactionError
+struct TransactionAborted : public TransactionError
{
QPID_MESSAGING_EXTERN TransactionAborted(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN UnauthorizedAccess : public SessionError
+struct UnauthorizedAccess : public SessionError
{
QPID_MESSAGING_EXTERN UnauthorizedAccess(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN ConnectionError : public MessagingException
+struct ConnectionError : public MessagingException
{
QPID_MESSAGING_EXTERN ConnectionError(const std::string&);
};
-struct QPID_MESSAGING_CLASS_EXTERN TransportFailure : public MessagingException
+struct TransportFailure : public MessagingException
{
QPID_MESSAGING_EXTERN TransportFailure(const std::string&);
};
diff --git a/qpid/cpp/include/qpid/sys/ExceptionHolder.h b/qpid/cpp/include/qpid/sys/ExceptionHolder.h
index 4bc934cf75..9eff1d64c7 100644
--- a/qpid/cpp/include/qpid/sys/ExceptionHolder.h
+++ b/qpid/cpp/include/qpid/sys/ExceptionHolder.h
@@ -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
@@ -42,11 +42,14 @@ class ExceptionHolder : public Raisable {
public:
ExceptionHolder() {}
// Use default copy & assign.
-
+
/** Take ownership of ex */
template <class Ex> ExceptionHolder(Ex* ex) { wrap(ex); }
- template <class Ex> ExceptionHolder& operator=(Ex* ex) { wrap(ex); return *this; }
+ template <class Ex> ExceptionHolder(const boost::shared_ptr<Ex>& ex) { wrap(ex.release()); }
+ template <class Ex> ExceptionHolder& operator=(Ex* ex) { wrap(ex); return *this; }
+ template <class Ex> ExceptionHolder& operator=(boost::shared_ptr<Ex> ex) { wrap(ex.release()); return *this; }
+
void raise() const { if (wrapper.get()) wrapper->raise() ; }
std::string what() const { return wrapper.get() ? wrapper->what() : std::string(); }
bool empty() const { return !wrapper.get(); }
@@ -63,7 +66,7 @@ class ExceptionHolder : public Raisable {
template <class Ex> void wrap(Ex* ex) { wrapper.reset(new Wrapper<Ex>(ex)); }
boost::shared_ptr<Raisable> wrapper;
};
-
+
}} // namespace qpid::sys
diff --git a/qpid/cpp/include/qpid/sys/IntegerTypes.h b/qpid/cpp/include/qpid/sys/IntegerTypes.h
index 75fa921de0..89635f033e 100755
--- a/qpid/cpp/include/qpid/sys/IntegerTypes.h
+++ b/qpid/cpp/include/qpid/sys/IntegerTypes.h
@@ -21,7 +21,7 @@
*
*/
-#if (defined(_WINDOWS) || defined (WIN32))
+#if (defined(_WINDOWS) || defined (WIN32)) && defined(_MSC_VER)
#include "qpid/sys/windows/IntegerTypes.h"
#endif
#if !defined _WINDOWS && !defined WIN32
diff --git a/qpid/cpp/include/qpid/sys/Runnable.h b/qpid/cpp/include/qpid/sys/Runnable.h
index fed7663cb6..0f1243a277 100644
--- a/qpid/cpp/include/qpid/sys/Runnable.h
+++ b/qpid/cpp/include/qpid/sys/Runnable.h
@@ -30,7 +30,7 @@ namespace sys {
/**
* Interface for objects that can be run, e.g. in a thread.
*/
-class QPID_COMMON_CLASS_EXTERN Runnable
+class Runnable
{
public:
/** Type to represent a runnable as a Functor */
diff --git a/qpid/cpp/include/qpid/sys/Thread.h b/qpid/cpp/include/qpid/sys/Thread.h
index f556612908..45a39e796f 100644
--- a/qpid/cpp/include/qpid/sys/Thread.h
+++ b/qpid/cpp/include/qpid/sys/Thread.h
@@ -25,11 +25,7 @@
#include "qpid/CommonImportExport.h"
#ifdef _WIN32
-# ifdef _MSC_VER
-# define QPID_TSS __declspec(thread)
-# else
-# define QPID_TSS __thread
-# endif
+# define QPID_TSS __declspec(thread)
#elif defined (__GNUC__)
# define QPID_TSS __thread
#elif defined (__SUNPRO_CC)
diff --git a/qpid/cpp/include/qpid/sys/Time.h b/qpid/cpp/include/qpid/sys/Time.h
index 9c5ac66e9a..d3ab832229 100644
--- a/qpid/cpp/include/qpid/sys/Time.h
+++ b/qpid/cpp/include/qpid/sys/Time.h
@@ -119,7 +119,7 @@ class Duration {
friend class AbsTime;
public:
- QPID_COMMON_INLINE_EXTERN inline Duration(int64_t time0 = 0);
+ QPID_COMMON_EXTERN inline Duration(int64_t time0 = 0);
QPID_COMMON_EXTERN explicit Duration(const AbsTime& start, const AbsTime& finish);
inline operator int64_t() const;
};
@@ -167,9 +167,6 @@ QPID_COMMON_EXTERN void usleep(uint64_t usecs);
/** Output formatted date/time for now*/
void outputFormattedNow(std::ostream&);
-/** Output unformatted nanosecond-resolution time for now */
-void outputHiresNow(std::ostream&);
-
}}
#endif /*!_sys_Time_h*/
diff --git a/qpid/cpp/include/qpid/sys/windows/IntegerTypes.h b/qpid/cpp/include/qpid/sys/windows/IntegerTypes.h
index 28b82da1a0..ece1a618e9 100755
--- a/qpid/cpp/include/qpid/sys/windows/IntegerTypes.h
+++ b/qpid/cpp/include/qpid/sys/windows/IntegerTypes.h
@@ -22,17 +22,13 @@
*/
typedef unsigned char uint8_t;
+typedef char int8_t;
typedef unsigned short uint16_t;
typedef short int16_t;
typedef unsigned int uint32_t;
typedef int int32_t;
-#if defined(_MSC_VER)
-typedef signed char int8_t;
typedef unsigned __int64 uint64_t;
typedef __int64 int64_t;
-#else
-#include <stdint.h>
-#endif
// Visual Studio doesn't define other common types, so set them up here too.
typedef unsigned int uint;
diff --git a/qpid/cpp/include/qpid/types/Exception.h b/qpid/cpp/include/qpid/types/Exception.h
index 483d104cc8..d061a7df0e 100644
--- a/qpid/cpp/include/qpid/types/Exception.h
+++ b/qpid/cpp/include/qpid/types/Exception.h
@@ -28,7 +28,7 @@
namespace qpid {
namespace types {
-class QPID_TYPES_CLASS_EXTERN Exception : public std::exception
+class Exception : public std::exception
{
public:
QPID_TYPES_EXTERN explicit Exception(const std::string& message=std::string()) throw();
diff --git a/qpid/cpp/include/qpid/types/ImportExport.h b/qpid/cpp/include/qpid/types/ImportExport.h
index 8fa41884fb..bb10575fcd 100644
--- a/qpid/cpp/include/qpid/types/ImportExport.h
+++ b/qpid/cpp/include/qpid/types/ImportExport.h
@@ -20,16 +20,14 @@
* under the License.
*/
-#include "qpid/ImportExport.h"
-
+#if defined(WIN32) && !defined(QPID_DECLARE_STATIC)
#if defined(TYPES_EXPORT) || defined (qpidtypes_EXPORTS)
-# define QPID_TYPES_EXTERN QPID_EXPORT
-# define QPID_TYPES_CLASS_EXTERN QPID_CLASS_EXPORT
-# define QPID_TYPES_INLINE_EXTERN QPID_INLINE_EXPORT
+#define QPID_TYPES_EXTERN __declspec(dllexport)
+#else
+#define QPID_TYPES_EXTERN __declspec(dllimport)
+#endif
#else
-# define QPID_TYPES_EXTERN QPID_IMPORT
-# define QPID_TYPES_CLASS_EXTERN QPID_CLASS_IMPORT
-# define QPID_TYPES_INLINE_EXTERN QPID_INLINE_IMPORT
+#define QPID_TYPES_EXTERN
#endif
#endif /*!QPID_TYPES_IMPORTEXPORT_H*/
diff --git a/qpid/cpp/include/qpid/types/Uuid.h b/qpid/cpp/include/qpid/types/Uuid.h
index 02af4c7e7f..467a895184 100644
--- a/qpid/cpp/include/qpid/types/Uuid.h
+++ b/qpid/cpp/include/qpid/types/Uuid.h
@@ -29,7 +29,7 @@
namespace qpid {
namespace types {
-class QPID_TYPES_CLASS_EXTERN Uuid
+class Uuid
{
public:
static const size_t SIZE;
diff --git a/qpid/cpp/include/qpid/types/Variant.h b/qpid/cpp/include/qpid/types/Variant.h
index 4459fc4123..9ae672b7c2 100644
--- a/qpid/cpp/include/qpid/types/Variant.h
+++ b/qpid/cpp/include/qpid/types/Variant.h
@@ -36,7 +36,7 @@ namespace types {
/**
* Thrown when an illegal conversion of a variant is attempted.
*/
-struct QPID_TYPES_CLASS_EXTERN InvalidConversion : public Exception
+struct InvalidConversion : public Exception
{
InvalidConversion(const std::string& msg);
};
@@ -60,14 +60,12 @@ enum VariantType {
VAR_UUID
};
-std::string getTypeName(VariantType type);
-
class VariantImpl;
/**
* Represents a value of variable type.
*/
-class QPID_TYPES_CLASS_EXTERN Variant
+class Variant
{
public:
typedef std::map<std::string, Variant> Map;