From acbde11b61d7bb3a0cdd81e1201d8565a4cbdfbd Mon Sep 17 00:00:00 2001 From: Ted Ross Date: Fri, 30 Nov 2012 19:17:28 +0000 Subject: QPID-4449 - Reverted much of the original change and re-implemented the fix in a simpler way. The build-define _IN_QPID_BROKER is now used for modules built in the broker. The shared-pointer changes are conditionally compiled only for in-broker cases. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1415796 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/include/qpid/management/Manageable.h | 7 +++++-- qpid/cpp/include/qpid/management/ManagementObject.h | 9 ++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) (limited to 'qpid/cpp/include') diff --git a/qpid/cpp/include/qpid/management/Manageable.h b/qpid/cpp/include/qpid/management/Manageable.h index e72dc0b332..ede5c29e43 100644 --- a/qpid/cpp/include/qpid/management/Manageable.h +++ b/qpid/cpp/include/qpid/management/Manageable.h @@ -55,8 +55,11 @@ class QPID_COMMON_EXTERN Manageable // // This accessor function returns a pointer to the management object. // - virtual ManagementObject* GetManagementObject() const; - virtual ManagementObject::shared_ptr GetManagementObjectShared() const; +#ifdef _IN_QPID_BROKER + virtual ManagementObject::shared_ptr GetManagementObject() const = 0; +#else + virtual ManagementObject* GetManagementObject() const = 0; +#endif // Every "Manageable" object must implement ManagementMethod. This // function is called when a remote management client invokes a method diff --git a/qpid/cpp/include/qpid/management/ManagementObject.h b/qpid/cpp/include/qpid/management/ManagementObject.h index 2aca6fb1c5..93fbec7bc7 100644 --- a/qpid/cpp/include/qpid/management/ManagementObject.h +++ b/qpid/cpp/include/qpid/management/ManagementObject.h @@ -25,10 +25,13 @@ #include "qpid/management/Mutex.h" #include "qpid/types/Variant.h" -#include #include #include +#ifdef _IN_QPID_BROKER +#include +#endif + namespace qpid { namespace management { @@ -155,7 +158,9 @@ protected: QPID_COMMON_EXTERN uint32_t writeTimestampsSize() const; public: +#ifdef _IN_QPID_BROKER typedef boost::shared_ptr shared_ptr; +#endif QPID_COMMON_EXTERN static const uint8_t MD5_LEN = 16; QPID_COMMON_EXTERN static int maxThreads; @@ -229,8 +234,10 @@ protected: //QPID_COMMON_EXTERN void mapDecode(const types::Variant::Map& map); }; +#ifdef _IN_QPID_BROKER typedef std::map ManagementObjectMap; typedef std::vector ManagementObjectVector; +#endif }} -- cgit v1.2.1