Author: tross
Date: Tue Nov 20 17:46:05 2012
New Revision: 1411761

URL: http://svn.apache.org/viewvc?rev=1411761&view=rev
Log:
QPID-4449 - Fixed the API in qpid::management::Manageable to remain backward 
compatible.

Modified:
    qpid/trunk/qpid/cpp/include/qpid/management/Manageable.h
    qpid/trunk/qpid/cpp/managementgen/qmf-gen
    qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py
    qpid/trunk/qpid/cpp/src/posix/QpiddBroker.cpp
    qpid/trunk/qpid/cpp/src/qpid/acl/Acl.cpp
    qpid/trunk/qpid/cpp/src/qpid/acl/Acl.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Link.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h
    qpid/trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h
    qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h
    qpid/trunk/qpid/cpp/src/qpid/broker/System.h
    qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.h
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.h
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.h
    qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h
    qpid/trunk/qpid/cpp/src/qpid/management/Manageable.cpp
    qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp
    qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h
    qpid/trunk/qpid/cpp/src/tests/BrokerMgmtAgent.cpp
    qpid/trunk/qpid/cpp/src/tests/testagent.cpp

Modified: qpid/trunk/qpid/cpp/include/qpid/management/Manageable.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/include/qpid/management/Manageable.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/include/qpid/management/Manageable.h (original)
+++ qpid/trunk/qpid/cpp/include/qpid/management/Manageable.h Tue Nov 20 
17:46:05 2012
@@ -55,7 +55,8 @@ class QPID_COMMON_EXTERN Manageable
     //
     //  This accessor function returns a pointer to the management object.
     //
-    virtual ManagementObject::shared_ptr GetManagementObject(void) const = 0;
+    virtual ManagementObject* GetManagementObject() const;
+    virtual ManagementObject::shared_ptr GetManagementObjectShared() const;
 
     //  Every "Manageable" object must implement ManagementMethod.  This
     //  function is called when a remote management client invokes a method

Modified: qpid/trunk/qpid/cpp/managementgen/qmf-gen
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmf-gen?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmf-gen (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmf-gen Tue Nov 20 17:46:05 2012
@@ -68,9 +68,11 @@ vargs = {}
 if opts.brokerplugin:
   vargs["agentHeaderDir"] = "management"
   vargs["genQmfV1"]       = True
+  vargs["genForBroker"]   = True
 else:
   vargs["agentHeaderDir"] = "agent"
   vargs["genQmfV1"]       = None
+  vargs["genForBroker"]   = None
 
 if opts.qpidlogs:
   vargs["genLogs"]        = True

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py Tue Nov 20 17:46:05 2012
@@ -1520,8 +1520,12 @@ class SchemaClass:
   def genParentRefAssignment (self, stream, variables):
     for config in self.properties:
       if config.isParentRef == 1:
-        stream.write (config.getName () + \
-                      " = _parent->GetManagementObject ()->getObjectId ();")
+        if variables['genForBroker']:
+          stream.write (config.getName () + \
+                        " = _parent->GetManagementObjectShared()->getObjectId 
();")
+        else:
+          stream.write (config.getName () + \
+                        " = _parent->GetManagementObject()->getObjectId ();")
         return
 
   def genSchemaMD5 (self, stream, variables):

Modified: qpid/trunk/qpid/cpp/src/posix/QpiddBroker.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/posix/QpiddBroker.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/posix/QpiddBroker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/posix/QpiddBroker.cpp Tue Nov 20 17:46:05 2012
@@ -144,7 +144,7 @@ struct QpiddDaemon : public Daemon {
         uint16_t port=brokerPtr->getPort(options->daemon.transport);
         ready(port);            // Notify parent.
         if (options->parent->broker.enableMgmt && 
(options->parent->broker.port == 0 || options->daemon.transport != TCP)) {
-            
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(brokerPtr->GetManagementObject())->set_port(port);
+            
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(brokerPtr->GetManagementObjectShared())->set_port(port);
         }
         brokerPtr->run();
     }
@@ -200,7 +200,7 @@ int QpiddBroker::execute (QpiddOptions *
             uint16_t port = brokerPtr->getPort(myOptions->daemon.transport);
             cout << port << endl;
             if (options->broker.enableMgmt) {
-                
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(brokerPtr->GetManagementObject())->set_port(port);
+                
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(brokerPtr->GetManagementObjectShared())->set_port(port);
             }
         }
         brokerPtr->run();

Modified: qpid/trunk/qpid/cpp/src/qpid/acl/Acl.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/acl/Acl.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/acl/Acl.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/acl/Acl.cpp Tue Nov 20 17:46:05 2012
@@ -317,7 +317,7 @@ Acl::~Acl(){
     broker->getConnectionObservers().remove(connectionCounter);
 }
 
-ManagementObject::shared_ptr Acl::GetManagementObject(void) const
+ManagementObject::shared_ptr Acl::GetManagementObjectShared(void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/acl/Acl.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/acl/Acl.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/acl/Acl.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/acl/Acl.h Tue Nov 20 17:46:05 2012
@@ -117,7 +117,7 @@ private:
     bool readAclFile(std::string& aclFile, std::string& errorText);
     Manageable::status_t lookup       (management::Args& args, std::string& 
text);
     Manageable::status_t lookupPublish(management::Args& args, std::string& 
text);
-    virtual qpid::management::ManagementObject::shared_ptr 
GetManagementObject(void) const;
+    virtual qpid::management::ManagementObject::shared_ptr 
GetManagementObjectShared(void) const;
     virtual management::Manageable::status_t ManagementMethod (uint32_t 
methodId, management::Args& args, std::string& text);
 
 };

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.cpp Tue Nov 20 17:46:05 2012
@@ -298,7 +298,7 @@ uint32_t Bridge::encodedSize() const
         + 2;              // sync
 }
 
-management::ManagementObject::shared_ptr Bridge::GetManagementObject (void) 
const
+management::ManagementObject::shared_ptr Bridge::GetManagementObjectShared 
(void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Bridge.h Tue Nov 20 17:46:05 2012
@@ -73,7 +73,7 @@ class Bridge : public PersistableConfig,
 
     bool isDetached() const { return detached; }
 
-    management::ManagementObject::shared_ptr GetManagementObject() const;
+    management::ManagementObject::shared_ptr GetManagementObjectShared() const;
     management::Manageable::status_t ManagementMethod(uint32_t methodId,
                                                       management::Args& args,
                                                       std::string& text);

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Tue Nov 20 17:46:05 2012
@@ -234,7 +234,7 @@ Broker::Broker(const Broker::Options& co
         systemObject = System::shared_ptr(system);
 
         mgmtObject = _qmf::Broker::shared_ptr(new 
_qmf::Broker(managementAgent.get(), this, system, "amqp-broker"));
-        
mgmtObject->set_systemRef(system->GetManagementObject()->getObjectId());
+        
mgmtObject->set_systemRef(system->GetManagementObjectShared()->getObjectId());
         mgmtObject->set_port(conf.port);
         mgmtObject->set_workerThreads(conf.workerThreads);
         mgmtObject->set_connBacklog(conf.connectionBacklog);
@@ -454,7 +454,7 @@ Broker::~Broker() {
     QPID_LOG(notice, "Shut down");
 }
 
-ManagementObject::shared_ptr Broker::GetManagementObject(void) const
+ManagementObject::shared_ptr Broker::GetManagementObjectShared(void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Broker.h Tue Nov 20 17:46:05 2012
@@ -235,7 +235,7 @@ class Broker : public sys::Runnable, pub
     SessionManager& getSessionManager() { return sessionManager; }
     const std::string& getFederationTag() const { return federationTag; }
 
-    QPID_BROKER_EXTERN management::ManagementObject::shared_ptr 
GetManagementObject() const;
+    QPID_BROKER_EXTERN management::ManagementObject::shared_ptr 
GetManagementObjectShared() const;
     QPID_BROKER_EXTERN management::Manageable* GetVhostObject() const;
     QPID_BROKER_EXTERN management::Manageable::status_t ManagementMethod(
         uint32_t methodId, management::Args& args, std::string& text);

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Connection.cpp Tue Nov 20 17:46:05 2012
@@ -402,7 +402,7 @@ SessionHandler& Connection::getChannel(C
     return *ptr_map_ptr(i);
 }
 
-ManagementObject::shared_ptr Connection::GetManagementObject(void) const
+ManagementObject::shared_ptr Connection::GetManagementObjectShared(void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Connection.h Tue Nov 20 17:46:05 2012
@@ -112,7 +112,7 @@ class Connection : public sys::Connectio
     void closeChannel(framing::ChannelId channel);
 
     // Manageable entry points
-    management::ManagementObject::shared_ptr GetManagementObject (void) const;
+    management::ManagementObject::shared_ptr GetManagementObjectShared (void) 
const;
     management::Manageable::status_t
         ManagementMethod (uint32_t methodId, management::Args& args, 
std::string&);
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.cpp Tue Nov 20 17:46:05 2012
@@ -177,7 +177,7 @@ Exchange::Exchange (const string& _name,
             mgmtExchange->set_autoDelete(false);
             agent->addObject(mgmtExchange, 0, durable);
             if (broker)
-                brokerMgmtObject = 
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(broker->GetManagementObject());
+                brokerMgmtObject = 
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(broker->GetManagementObjectShared());
         }
     }
 }
@@ -198,7 +198,7 @@ Exchange::Exchange(const string& _name, 
             mgmtExchange->set_arguments(ManagementAgent::toMap(args));
             agent->addObject(mgmtExchange, 0, durable);
             if (broker)
-                brokerMgmtObject = 
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(broker->GetManagementObject());
+                brokerMgmtObject = 
boost::dynamic_pointer_cast<qmf::org::apache::qpid::broker::Broker>(broker->GetManagementObjectShared());
         }
     }
 
@@ -227,7 +227,7 @@ void Exchange::setAlternate(Exchange::sh
     alternate = _alternate;
     if (mgmtExchange != 0) {
         if (alternate.get() != 0)
-            
mgmtExchange->set_altExchange(alternate->GetManagementObject()->getObjectId());
+            
mgmtExchange->set_altExchange(alternate->GetManagementObjectShared()->getObjectId());
         else
             mgmtExchange->clr_altExchange();
     }
@@ -294,7 +294,7 @@ void Exchange::recoveryComplete(Exchange
     }
 }
 
-ManagementObject::shared_ptr Exchange::GetManagementObject (void) const
+ManagementObject::shared_ptr Exchange::GetManagementObjectShared (void) const
 {
     return mgmtExchange;
 }
@@ -352,7 +352,7 @@ Exchange::Binding::Binding(const string&
 Exchange::Binding::~Binding ()
 {
     if (mgmtBinding != 0) {
-        _qmf::Queue::shared_ptr mo = 
boost::dynamic_pointer_cast<_qmf::Queue>(queue->GetManagementObject());
+        _qmf::Queue::shared_ptr mo = 
boost::dynamic_pointer_cast<_qmf::Queue>(queue->GetManagementObjectShared());
         if (mo != 0)
             mo->dec_bindingCount();
         mgmtBinding->resourceDestroy ();
@@ -367,7 +367,7 @@ void Exchange::Binding::startManagement(
         if (broker != 0) {
             ManagementAgent* agent = broker->getManagementAgent();
             if (agent != 0) {
-                _qmf::Queue::shared_ptr mo = 
boost::dynamic_pointer_cast<_qmf::Queue>(queue->GetManagementObject());
+                _qmf::Queue::shared_ptr mo = 
boost::dynamic_pointer_cast<_qmf::Queue>(queue->GetManagementObjectShared());
                 if (mo != 0) {
                     management::ObjectId queueId = mo->getObjectId();
 
@@ -383,7 +383,7 @@ void Exchange::Binding::startManagement(
     }
 }
 
-ManagementObject::shared_ptr Exchange::Binding::GetManagementObject () const
+ManagementObject::shared_ptr Exchange::Binding::GetManagementObjectShared () 
const
 {
     return mgmtBinding;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Exchange.h Tue Nov 20 17:46:05 2012
@@ -58,7 +58,7 @@ public:
                 framing::FieldTable args = framing::FieldTable(), const 
std::string& origin = std::string());
         ~Binding();
         void startManagement();
-        management::ManagementObject::shared_ptr GetManagementObject() const;
+        management::ManagementObject::shared_ptr GetManagementObjectShared() 
const;
     };
 
 private:
@@ -210,7 +210,7 @@ public:
     static QPID_BROKER_EXTERN Exchange::shared_ptr decode(ExchangeRegistry& 
exchanges, framing::Buffer& buffer);
 
     // Manageable entry points
-    QPID_BROKER_EXTERN management::ManagementObject::shared_ptr 
GetManagementObject(void) const;
+    QPID_BROKER_EXTERN management::ManagementObject::shared_ptr 
GetManagementObjectShared(void) const;
 
     // Federation hooks
     class DynamicBridge {

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Link.cpp Tue Nov 20 17:46:05 2012
@@ -292,8 +292,8 @@ void Link::opened() {
     Mutex::ScopedLock mutex(lock);
     if (!connection) return;
 
-    if (!hideManagement() && connection->GetManagementObject()) {
-        
mgmtObject->set_connectionRef(connection->GetManagementObject()->getObjectId());
+    if (!hideManagement() && connection->GetManagementObjectShared()) {
+        
mgmtObject->set_connectionRef(connection->GetManagementObjectShared()->getObjectId());
     }
 
     // Get default URL from known-hosts if not already set
@@ -669,7 +669,7 @@ uint32_t Link::encodedSize() const
         + password.size() + 1;
 }
 
-ManagementObject::shared_ptr Link::GetManagementObject (void) const
+ManagementObject::shared_ptr Link::GetManagementObjectShared (void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Link.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Link.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Link.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Link.h Tue Nov 20 17:46:05 2012
@@ -183,7 +183,7 @@ class Link : public PersistableConfig, p
     static bool isEncodedLink(const std::string& key);
 
     // Manageable entry points
-    management::ManagementObject::shared_ptr GetManagementObject(void) const;
+    management::ManagementObject::shared_ptr GetManagementObjectShared(void) 
const;
     management::Manageable::status_t ManagementMethod(uint32_t, 
management::Args&, std::string&);
 
     // manage the exchange owned by this link

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.cpp Tue Nov 20 17:46:05 2012
@@ -198,7 +198,7 @@ Queue::Queue(const string& _name, const 
                 new _qmf::Queue(agent, this, parent, _name, _store != 0, 
settings.autodelete));
             mgmtObject->set_arguments(settings.asMap());
             agent->addObject(mgmtObject, 0, store != 0);
-            brokerMgmtObject = 
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObject());
+            brokerMgmtObject = 
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObjectShared());
             if (brokerMgmtObject)
                 brokerMgmtObject->inc_queueCount();
         }
@@ -1108,7 +1108,7 @@ void Queue::setPersistenceId(uint64_t _p
 {
     if (mgmtObject != 0 && persistenceId == 0 && externalQueueStore)
     {
-        ManagementObject::shared_ptr childObj = 
externalQueueStore->GetManagementObject();
+        ManagementObject::shared_ptr childObj = 
externalQueueStore->GetManagementObjectShared();
         if (childObj != 0)
             childObj->setReference(mgmtObject->getObjectId());
     }
@@ -1154,7 +1154,7 @@ void Queue::setAlternateExchange(boost::
     alternateExchange = exchange;
     if (mgmtObject) {
         if (exchange.get() != 0)
-            
mgmtObject->set_altExchange(exchange->GetManagementObject()->getObjectId());
+            
mgmtObject->set_altExchange(exchange->GetManagementObjectShared()->getObjectId());
         else
             mgmtObject->clr_altExchange();
     }
@@ -1258,7 +1258,7 @@ void Queue::setExternalQueueStore(Extern
     externalQueueStore = inst;
 
     if (inst) {
-        ManagementObject::shared_ptr childObj = inst->GetManagementObject();
+        ManagementObject::shared_ptr childObj = 
inst->GetManagementObjectShared();
         if (childObj != 0 && mgmtObject != 0)
             childObj->setReference(mgmtObject->getObjectId());
     }
@@ -1306,7 +1306,7 @@ void Queue::countLoadedFromDisk(uint64_t
 }
 
 
-ManagementObject::shared_ptr Queue::GetManagementObject (void) const
+ManagementObject::shared_ptr Queue::GetManagementObjectShared (void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Queue.h Tue Nov 20 17:46:05 2012
@@ -340,7 +340,7 @@ class Queue : public boost::enable_share
     QPID_BROKER_EXTERN void countLoadedFromDisk(uint64_t size) const;
 
     // Manageable entry points
-    QPID_BROKER_EXTERN management::ManagementObject::shared_ptr 
GetManagementObject (void) const;
+    QPID_BROKER_EXTERN management::ManagementObject::shared_ptr 
GetManagementObjectShared (void) const;
     management::Manageable::status_t
     QPID_BROKER_EXTERN ManagementMethod (uint32_t methodId, management::Args& 
args, std::string& text);
     QPID_BROKER_EXTERN void query(::qpid::types::Variant::Map&) const;

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueFlowLimit.cpp Tue Nov 20 17:46:05 
2012
@@ -78,7 +78,7 @@ QueueFlowLimit::QueueFlowLimit(Queue *_q
         if (queue->getSettings().maxDepth.hasCount()) maxCount = 
queue->getSettings().maxDepth.getCount();
         if (queue->getSettings().maxDepth.hasCount()) maxSize = 
queue->getSettings().maxDepth.getSize();
         broker = queue->getBroker();
-        queueMgmtObj = boost::dynamic_pointer_cast<_qmfBroker::Queue> 
(queue->GetManagementObject());
+        queueMgmtObj = boost::dynamic_pointer_cast<_qmfBroker::Queue> 
(queue->GetManagementObjectShared());
         if (queueMgmtObj) {
             queueMgmtObj->set_flowStopped(isFlowControlActive());
         }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.cpp Tue Nov 20 17:46:05 
2012
@@ -303,14 +303,14 @@ Consumer(_name, type),
     deliveryCount(0),
     protocols(parent->getSession().getBroker().getProtocolRegistry())
 {
-    if (parent != 0 && queue.get() != 0 && queue->GetManagementObject() !=0)
+    if (parent != 0 && queue.get() != 0 && queue->GetManagementObjectShared() 
!=0)
     {
         ManagementAgent* agent = 
parent->session.getBroker().getManagementAgent();
         qpid::management::Manageable* ms = 
dynamic_cast<qpid::management::Manageable*> (&(parent->session));
 
         if (agent != 0)
         {
-            mgmtObject = _qmf::Subscription::shared_ptr(new 
_qmf::Subscription(agent, this, ms , 
queue->GetManagementObject()->getObjectId(), getTag(),
+            mgmtObject = _qmf::Subscription::shared_ptr(new 
_qmf::Subscription(agent, this, ms , 
queue->GetManagementObjectShared()->getObjectId(), getTag(),
                                                                                
!acquire, ackExpected, exclusive, ManagementAgent::toMap(arguments)));
             agent->addObject (mgmtObject);
             mgmtObject->set_creditMode("WINDOW");
@@ -318,7 +318,7 @@ Consumer(_name, type),
     }
 }
 
-ManagementObject::shared_ptr SemanticState::ConsumerImpl::GetManagementObject 
(void) const
+ManagementObject::shared_ptr 
SemanticState::ConsumerImpl::GetManagementObjectShared (void) const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SemanticState.h Tue Nov 20 17:46:05 2012
@@ -163,7 +163,7 @@ class SemanticState : private boost::non
 
         // manageable entry points
         QPID_BROKER_EXTERN management::ManagementObject::shared_ptr
-        GetManagementObject(void) const;
+        GetManagementObjectShared(void) const;
 
         QPID_BROKER_EXTERN management::Manageable::status_t
         ManagementMethod(uint32_t methodId, management::Args& args, 
std::string& text);

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.cpp Tue Nov 20 17:46:05 
2012
@@ -65,7 +65,7 @@ SessionState::SessionState(
 }
 
 void SessionState::addManagementObject() {
-    if (GetManagementObject()) return; // Already added.
+    if (GetManagementObjectShared()) return; // Already added.
     Manageable* parent = broker.GetVhostObject ();
     if (parent != 0) {
         ManagementAgent* agent = getBroker().getManagementAgent();
@@ -127,7 +127,7 @@ void SessionState::attach(SessionHandler
     if (mgmtObject != 0)
     {
         mgmtObject->set_attached (1);
-        mgmtObject->set_connectionRef 
(h.getConnection().GetManagementObject()->getObjectId());
+        mgmtObject->set_connectionRef 
(h.getConnection().GetManagementObjectShared()->getObjectId());
         mgmtObject->set_channelId (h.getChannel());
     }
     asyncCommandCompleter->attached();
@@ -148,7 +148,7 @@ void SessionState::giveReadCredit(int32_
         getConnection().outputTasks.giveReadCredit(credit);
 }
 
-ManagementObject::shared_ptr SessionState::GetManagementObject (void) const
+ManagementObject::shared_ptr SessionState::GetManagementObjectShared (void) 
const
 {
     return mgmtObject;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SessionState.h Tue Nov 20 17:46:05 2012
@@ -110,7 +110,7 @@ class SessionState : public qpid::Sessio
                        const qpid::types::Variant::Map& annotations, bool 
sync);
 
     // Manageable entry points
-    management::ManagementObject::shared_ptr GetManagementObject (void) const;
+    management::ManagementObject::shared_ptr GetManagementObjectShared (void) 
const;
     management::Manageable::status_t
     ManagementMethod (uint32_t methodId, management::Args& args, std::string&);
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/System.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/System.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/System.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/System.h Tue Nov 20 17:46:05 2012
@@ -45,7 +45,7 @@ class System : public management::Manage
 
     System (std::string _dataDir, Broker* broker = 0);
 
-    management::ManagementObject::shared_ptr GetManagementObject (void) const
+    management::ManagementObject::shared_ptr GetManagementObjectShared (void) 
const
     { return mgmtObject; }
 
 

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/Vhost.h Tue Nov 20 17:46:05 2012
@@ -40,7 +40,7 @@ class Vhost : public management::Managea
 
     Vhost (management::Manageable* parentBroker, Broker* broker = 0);
 
-    management::ManagementObject::shared_ptr GetManagementObject (void) const
+    management::ManagementObject::shared_ptr GetManagementObjectShared (void) 
const
     { return mgmtObject; }
     void setFederationTag(const std::string& tag);
 };

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.cpp Tue Nov 20 
17:46:05 2012
@@ -73,7 +73,7 @@ void ManagedConnection::setSaslSsf(int s
     connection->set_saslSsf(ssf);
 }
 
-qpid::management::ManagementObject::shared_ptr 
ManagedConnection::GetManagementObject() const
+qpid::management::ManagementObject::shared_ptr 
ManagedConnection::GetManagementObjectShared() const
 {
     return connection;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedConnection.h Tue Nov 20 
17:46:05 2012
@@ -44,7 +44,7 @@ class ManagedConnection : public qpid::m
     std::string getUserid() const;
     void setSaslMechanism(const std::string&);
     void setSaslSsf(int);
-    qpid::management::ManagementObject::shared_ptr GetManagementObject() const;
+    qpid::management::ManagementObject::shared_ptr GetManagementObjectShared() 
const;
     bool isLocal(const ConnectionToken* t) const;
     void incomingMessageReceived();
     void outgoingMessageSent();

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.cpp Tue Nov 20 
17:46:05 2012
@@ -37,7 +37,7 @@ ManagedOutgoingLink::ManagedOutgoingLink
 {
     qpid::management::ManagementAgent* agent = broker.getManagementAgent();
     if (agent) {
-        subscription = _qmf::Subscription::shared_ptr(new 
_qmf::Subscription(agent, this, &p, q.GetManagementObject()->getObjectId(), id,
+        subscription = _qmf::Subscription::shared_ptr(new 
_qmf::Subscription(agent, this, &p, 
q.GetManagementObjectShared()->getObjectId(), id,
                                                            false/*FIXME*/, 
true/*FIXME*/, topic, qpid::types::Variant::Map()));
         agent->addObject(subscription);
         subscription->set_creditMode("n/a");
@@ -48,7 +48,7 @@ ManagedOutgoingLink::~ManagedOutgoingLin
     if (subscription != 0) subscription->resourceDestroy();
 }
 
-qpid::management::ManagementObject::shared_ptr 
ManagedOutgoingLink::GetManagementObject() const
+qpid::management::ManagementObject::shared_ptr 
ManagedOutgoingLink::GetManagementObjectShared() const
 {
     return subscription;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedOutgoingLink.h Tue Nov 20 
17:46:05 2012
@@ -39,7 +39,7 @@ class ManagedOutgoingLink : public qpid:
   public:
     ManagedOutgoingLink(Broker& broker, Queue&, ManagedSession& parent, const 
std::string id, bool topic);
     virtual ~ManagedOutgoingLink();
-    qpid::management::ManagementObject::shared_ptr GetManagementObject() const;
+    qpid::management::ManagementObject::shared_ptr GetManagementObjectShared() 
const;
     void outgoingMessageSent();
     void outgoingMessageAccepted();
     void outgoingMessageRejected();

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.cpp Tue Nov 20 
17:46:05 2012
@@ -38,7 +38,7 @@ ManagedSession::ManagedSession(Broker& b
         session->set_attached(true);
         session->set_detachedLifespan(0);
         session->clr_expireTime();
-        
session->set_connectionRef(parent.GetManagementObject()->getObjectId());
+        
session->set_connectionRef(parent.GetManagementObjectShared()->getObjectId());
         agent->addObject(session);
     }
 }
@@ -48,7 +48,7 @@ ManagedSession::~ManagedSession()
     if (session) session->resourceDestroy();
 }
 
-qpid::management::ManagementObject::shared_ptr 
ManagedSession::GetManagementObject() const
+qpid::management::ManagementObject::shared_ptr 
ManagedSession::GetManagementObjectShared() const
 {
     return session;
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/ManagedSession.h Tue Nov 20 
17:46:05 2012
@@ -40,7 +40,7 @@ class ManagedSession : public qpid::mana
   public:
     ManagedSession(Broker& broker, ManagedConnection& parent, const 
std::string id);
     virtual ~ManagedSession();
-    qpid::management::ManagementObject::shared_ptr GetManagementObject() const;
+    qpid::management::ManagementObject::shared_ptr GetManagementObjectShared() 
const;
     bool isLocal(const ConnectionToken* t) const;
     void incomingMessageReceived();
     void incomingMessageAccepted();

Modified: qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/ha/HaBroker.h Tue Nov 20 17:46:05 2012
@@ -71,7 +71,7 @@ class HaBroker : public management::Mana
     void initialize();
 
     // Implement Manageable.
-    qpid::management::ManagementObject::shared_ptr GetManagementObject() const 
{ return mgmtObject; }
+    qpid::management::ManagementObject::shared_ptr GetManagementObjectShared() 
const { return mgmtObject; }
     management::Manageable::status_t ManagementMethod (
         uint32_t methodId, management::Args& args, std::string& text);
 

Modified: qpid/trunk/qpid/cpp/src/qpid/management/Manageable.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/management/Manageable.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/management/Manageable.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/management/Manageable.cpp Tue Nov 20 17:46:05 
2012
@@ -41,6 +41,16 @@ string Manageable::StatusText (status_t 
     return "??";
 }
 
+ManagementObject* Manageable::GetManagementObject(void) const
+{
+    return 0;
+}
+
+ManagementObject::shared_ptr Manageable::GetManagementObjectShared() const
+{
+    return ManagementObject::shared_ptr();
+}
+
 Manageable::status_t Manageable::ManagementMethod (uint32_t, Args&, 
std::string&)
 {
     return STATUS_UNKNOWN_METHOD;

Modified: qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.cpp Tue Nov 20 
17:46:05 2012
@@ -698,7 +698,7 @@ void ManagementAgent::periodicProcessing
     //
     if (publish) {
         uint64_t uptime = sys::Duration(startTime, sys::now());
-        
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObject())->set_uptime(uptime);
+        
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObjectShared())->set_uptime(uptime);
         qpid::sys::MemStat::loadMemInfo(memstat.get());
     }
 
@@ -1722,7 +1722,7 @@ void ManagementAgent::handleAttachReques
     string   label;
     uint32_t requestedBrokerBank, requestedAgentBank;
     uint32_t assignedBank;
-    ObjectId connectionRef = ((const ConnectionState*) 
connToken)->GetManagementObject()->getObjectId();
+    ObjectId connectionRef = ((const ConnectionState*) 
connToken)->GetManagementObjectShared()->getObjectId();
     Uuid     systemId;
 
     moveNewObjects();
@@ -1754,7 +1754,7 @@ void ManagementAgent::handleAttachReques
     agent->mgmtObject = _qmf::Agent::shared_ptr(new _qmf::Agent (this, 
agent.get()));
     agent->mgmtObject->set_connectionRef(agent->connectionRef);
     agent->mgmtObject->set_label        (label);
-    agent->mgmtObject->set_registeredTo 
(broker->GetManagementObject()->getObjectId());
+    agent->mgmtObject->set_registeredTo 
(broker->GetManagementObjectShared()->getObjectId());
     agent->mgmtObject->set_systemId     ((const unsigned 
char*)systemId.data());
     agent->mgmtObject->set_brokerBank   (brokerBank);
     agent->mgmtObject->set_agentBank    (assignedBank);
@@ -1831,7 +1831,7 @@ void ManagementAgent::handleGetQuery(Buf
 
     if (className == "broker") {
         uint64_t uptime = sys::Duration(startTime, sys::now());
-        
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObject())->set_uptime(uptime);
+        
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObjectShared())->set_uptime(uptime);
     }
 
 
@@ -1945,7 +1945,7 @@ void ManagementAgent::handleGetQuery(con
 
     if (className == "broker") {
         uint64_t uptime = sys::Duration(startTime, sys::now());
-        
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObject())->set_uptime(uptime);
+        
boost::dynamic_pointer_cast<_qmf::Broker>(broker->GetManagementObjectShared())->set_uptime(uptime);
     }
 
     /*

Modified: qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/management/ManagementAgent.h Tue Nov 20 
17:46:05 2012
@@ -211,7 +211,7 @@ private:
         ObjectId          connectionRef;
         qmf::org::apache::qpid::broker::Agent::shared_ptr mgmtObject;
         RemoteAgent(ManagementAgent& _agent) : agent(_agent) {}
-        ManagementObject::shared_ptr GetManagementObject (void) const { return 
mgmtObject; }
+        ManagementObject::shared_ptr GetManagementObjectShared (void) const { 
return mgmtObject; }
 
         virtual ~RemoteAgent ();
         void mapEncode(qpid::types::Variant::Map& _map) const;

Modified: qpid/trunk/qpid/cpp/src/tests/BrokerMgmtAgent.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/BrokerMgmtAgent.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/BrokerMgmtAgent.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/BrokerMgmtAgent.cpp Tue Nov 20 17:46:05 2012
@@ -123,7 +123,7 @@ class TestManageable : public qpid::mana
         mgmtObj = tmp;
     };
     ~TestManageable() { mgmtObj.reset(); }
-    management::ManagementObject::shared_ptr GetManagementObject() const { 
return mgmtObj; };
+    management::ManagementObject::shared_ptr GetManagementObjectShared() const 
{ return mgmtObj; };
     static void validateTestObjectProperties(_qmf::TestObject& to)
     {
         // verify the default values are as expected.  We don't check 
'string1',
@@ -209,11 +209,11 @@ QPID_AUTO_TEST_CASE(v1ObjPublish)
 
     // create a manageable test object
     TestManageable *tm = new TestManageable(agent, std::string("obj1"));
-    uint32_t objLen = tm->GetManagementObject()->writePropertiesSize();
+    uint32_t objLen = tm->GetManagementObjectShared()->writePropertiesSize();
 
     Receiver r1 = fix->createV1DataIndRcvr("org.apache.qpid.broker.mgmt.test", 
"#");
 
-    agent->addObject(tm->GetManagementObject(), 1);
+    agent->addObject(tm->GetManagementObjectShared(), 1);
 
     // wait for the object to be published
     Message m1;
@@ -234,7 +234,7 @@ QPID_AUTO_TEST_CASE(v1ObjPublish)
 
     // destroy the object
 
-    tm->GetManagementObject()->resourceDestroy();
+    tm->GetManagementObjectShared()->resourceDestroy();
 
     // wait for the deleted object to be published
 
@@ -272,9 +272,9 @@ QPID_AUTO_TEST_CASE(v2ObjPublish)
 
     TestManageable *tm = new TestManageable(agent, std::string("obj2"));
 
-    Receiver r1 = 
fix->createV2DataIndRcvr(tm->GetManagementObject()->getPackageName(), "#");
+    Receiver r1 = 
fix->createV2DataIndRcvr(tm->GetManagementObjectShared()->getPackageName(), 
"#");
 
-    agent->addObject(tm->GetManagementObject(), "testobj-1");
+    agent->addObject(tm->GetManagementObjectShared(), "testobj-1");
 
     // wait for the object to be published
     Message m1;
@@ -295,7 +295,7 @@ QPID_AUTO_TEST_CASE(v2ObjPublish)
 
     // destroy the object
 
-    tm->GetManagementObject()->resourceDestroy();
+    tm->GetManagementObjectShared()->resourceDestroy();
 
     // wait for the deleted object to be published
 
@@ -335,11 +335,11 @@ QPID_AUTO_TEST_CASE(v1ExportDelObj)
 
     // create a manageable test object
     TestManageable *tm = new TestManageable(agent, std::string("myObj"));
-    uint32_t objLen = tm->GetManagementObject()->writePropertiesSize();
+    uint32_t objLen = tm->GetManagementObjectShared()->writePropertiesSize();
 
     Receiver r1 = fix->createV1DataIndRcvr("org.apache.qpid.broker.mgmt.test", 
"#");
 
-    agent->addObject(tm->GetManagementObject(), 1);
+    agent->addObject(tm->GetManagementObjectShared(), 1);
 
     // wait for the object to be published
     Message m1;
@@ -352,7 +352,7 @@ QPID_AUTO_TEST_CASE(v1ExportDelObj)
     // destroy the object, then immediately export (before the next poll cycle)
 
     ::qpid::management::ManagementAgent::DeletedObjectList delObjs;
-    tm->GetManagementObject()->resourceDestroy();
+    tm->GetManagementObjectShared()->resourceDestroy();
     agent->exportDeletedObjects( delObjs );
     BOOST_CHECK(delObjs.size() == 1);
 
@@ -399,11 +399,11 @@ QPID_AUTO_TEST_CASE(v1ImportDelObj)
 
     // create a manageable test object
     TestManageable *tm = new TestManageable(agent, std::string("anObj"));
-    uint32_t objLen = tm->GetManagementObject()->writePropertiesSize();
+    uint32_t objLen = tm->GetManagementObjectShared()->writePropertiesSize();
 
     Receiver r1 = fix->createV1DataIndRcvr("org.apache.qpid.broker.mgmt.test", 
"#");
 
-    agent->addObject(tm->GetManagementObject(), 1);
+    agent->addObject(tm->GetManagementObjectShared(), 1);
 
     // wait for the object to be published
     Message m1;
@@ -416,7 +416,7 @@ QPID_AUTO_TEST_CASE(v1ImportDelObj)
     // destroy the object, then immediately export (before the next poll cycle)
 
     ::qpid::management::ManagementAgent::DeletedObjectList delObjs;
-    tm->GetManagementObject()->resourceDestroy();
+    tm->GetManagementObjectShared()->resourceDestroy();
     agent->exportDeletedObjects( delObjs );
     BOOST_CHECK(delObjs.size() == 1);
 
@@ -478,8 +478,8 @@ QPID_AUTO_TEST_CASE(v1ExportFastDelObj)
     // add, then immediately delete and export the object...
 
     ::qpid::management::ManagementAgent::DeletedObjectList delObjs;
-    agent->addObject(tm->GetManagementObject(), 999);
-    tm->GetManagementObject()->resourceDestroy();
+    agent->addObject(tm->GetManagementObjectShared(), 999);
+    tm->GetManagementObjectShared()->resourceDestroy();
     agent->exportDeletedObjects( delObjs );
     BOOST_CHECK(delObjs.size() == 1);
 
@@ -511,8 +511,8 @@ QPID_AUTO_TEST_CASE(v1ImportMultiDelObj)
         // FOR ALL OBJECTS, so objLen will be the same.  Otherwise the
         // decodeV1ObjectUpdates() will fail (v1 lacks explict encoded length).
         TestManageable *tm = new TestManageable(agent, key.str());
-        objLen = tm->GetManagementObject()->writePropertiesSize();
-        agent->addObject(tm->GetManagementObject(), i + 1);
+        objLen = tm->GetManagementObjectShared()->writePropertiesSize();
+        agent->addObject(tm->GetManagementObjectShared(), i + 1);
         tmv.push_back(tm);
     }
 
@@ -531,7 +531,7 @@ QPID_AUTO_TEST_CASE(v1ImportMultiDelObj)
 
     uint32_t delCount = 0;
     for (size_t i = 0; i < objCount; i += 2) {
-        tmv[i]->GetManagementObject()->resourceDestroy();
+        tmv[i]->GetManagementObjectShared()->resourceDestroy();
         delCount++;
     }
 
@@ -604,8 +604,8 @@ QPID_AUTO_TEST_CASE(v2ImportMultiDelObj)
         std::stringstream key;
         key << "testobj-" << i;
         TestManageable *tm = new TestManageable(agent, key.str());
-        if (tm->GetManagementObject()->writePropertiesSize()) {}
-        agent->addObject(tm->GetManagementObject(), key.str());
+        if (tm->GetManagementObjectShared()->writePropertiesSize()) {}
+        agent->addObject(tm->GetManagementObjectShared(), key.str());
         tmv.push_back(tm);
     }
 
@@ -624,7 +624,7 @@ QPID_AUTO_TEST_CASE(v2ImportMultiDelObj)
 
     uint32_t delCount = 0;
     for (size_t i = 0; i < objCount; i += 2) {
-        tmv[i]->GetManagementObject()->resourceDestroy();
+        tmv[i]->GetManagementObjectShared()->resourceDestroy();
         delCount++;
     }
 
@@ -689,12 +689,12 @@ QPID_AUTO_TEST_CASE(v2RapidRestoreObj)
     TestManageable *tm1 = new TestManageable(agent, std::string("obj2"));
     TestManageable *tm2 = new TestManageable(agent, std::string("obj2"));
 
-    Receiver r1 = 
fix->createV2DataIndRcvr(tm1->GetManagementObject()->getPackageName(), "#");
+    Receiver r1 = 
fix->createV2DataIndRcvr(tm1->GetManagementObjectShared()->getPackageName(), 
"#");
 
     // add, then immediately delete and re-add a copy of the object
-    agent->addObject(tm1->GetManagementObject(), "testobj-1");
-    tm1->GetManagementObject()->resourceDestroy();
-    agent->addObject(tm2->GetManagementObject(), "testobj-1");
+    agent->addObject(tm1->GetManagementObjectShared(), "testobj-1");
+    tm1->GetManagementObjectShared()->resourceDestroy();
+    agent->addObject(tm2->GetManagementObjectShared(), "testobj-1");
 
     // expect: a delete notification, then an update notification
     TestObjectVector objs;

Modified: qpid/trunk/qpid/cpp/src/tests/testagent.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/testagent.cpp?rev=1411761&r1=1411760&r2=1411761&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/testagent.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/testagent.cpp Tue Nov 20 17:46:05 2012
@@ -59,7 +59,7 @@ class CoreClass : public Manageable
 {
     string           name;
     ManagementAgent* agent;
-    _qmf::Parent::shared_ptr mgmtObject;
+    _qmf::Parent* mgmtObject;
     std::vector<ChildClass*> children;
     Mutex vectorLock;
 
@@ -68,7 +68,7 @@ public:
     CoreClass(ManagementAgent* agent, string _name);
     ~CoreClass() { mgmtObject->resourceDestroy(); }
 
-    ManagementObject::shared_ptr GetManagementObject(void) const
+    ManagementObject* GetManagementObject(void) const
     { return mgmtObject; }
 
     void doLoop();
@@ -78,14 +78,14 @@ public:
 class ChildClass : public Manageable
 {
     string name;
-    _qmf::Child::shared_ptr mgmtObject;
+    _qmf::Child* mgmtObject;
 
 public:
 
     ChildClass(ManagementAgent* agent, CoreClass* parent, string name);
     ~ChildClass() { mgmtObject->resourceDestroy(); }
 
-    ManagementObject::shared_ptr GetManagementObject(void) const
+    ManagementObject* GetManagementObject(void) const
     { return mgmtObject; }
 
     void doWork()
@@ -97,9 +97,9 @@ public:
 CoreClass::CoreClass(ManagementAgent* _agent, string _name) : name(_name), 
agent(_agent)
 {
     static uint64_t persistId = 0x111222333444555LL;
-    mgmtObject = _qmf::Parent::shared_ptr(new _qmf::Parent(agent, this, name));
+    mgmtObject = new _qmf::Parent(agent, this, name);
 
-    agent->addObject(mgmtObject.get(), persistId++);
+    agent->addObject(mgmtObject, persistId++);
     mgmtObject->set_state("IDLE");
 }
 
@@ -146,9 +146,9 @@ Manageable::status_t CoreClass::Manageme
 
 ChildClass::ChildClass(ManagementAgent* agent, CoreClass* parent, string name)
 {
-    mgmtObject = _qmf::Child::shared_ptr(new _qmf::Child(agent, this, parent, 
name));
+    mgmtObject = new _qmf::Child(agent, this, parent, name);
 
-    agent->addObject(mgmtObject.get());
+    agent->addObject(mgmtObject);
 }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to