Author: cctrieloff
Date: Sat Nov  3 17:40:44 2007
New Revision: 591715

URL: http://svn.apache.org/viewvc?rev=591715&view=rev
Log:
AMQP 670 This patch contains the following:

1) "using" clauses were removed from one header file.  This required changes in 
other header and body files that were relying on that clause.
2) The object indexing scheme has been improved in the management schema.  
Objects now properly reference their parent/containing objects.
3) The framework for parsing management commands has been added.
4) The python management API has been improved and now includes an 
object-method call.

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionHandler.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.h
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.cpp
    incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.h
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.cpp
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.h
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.cpp
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.h
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.cpp
    
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.h

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/Broker.cpp Sat Nov  3 
17:40:44 2007
@@ -113,7 +113,18 @@
 {
     if(conf.enableMgmt){
         managementAgent = ManagementAgent::shared_ptr (new ManagementAgent 
(conf.mgmtPubInterval));
-        queues.setManagementAgent(managementAgent);
+
+        mgmtObject = ManagementObjectBroker::shared_ptr (new 
ManagementObjectBroker (conf));
+        managementAgent->addObject 
(dynamic_pointer_cast<ManagementObject>(mgmtObject));
+
+        // Since there is currently no support for virtual hosts, a management 
object
+        // representing the implied single virtual host is added here.
+        mgmtVhostObject = ManagementObjectVhost::shared_ptr
+            (new ManagementObjectVhost (mgmtObject->getObjectId (), conf));
+        managementAgent->addObject 
(dynamic_pointer_cast<ManagementObject>(mgmtVhostObject));
+
+        queues.setManagementAgent (managementAgent);
+        queues.setManagementVhost 
(dynamic_pointer_cast<ManagementObject>(mgmtVhostObject));
     }
 
     exchanges.declare(empty, DirectExchange::typeName); // Default exchange.
@@ -128,14 +139,6 @@
         Exchange::shared_ptr mExchange = exchanges.get (qpid_management);
         managementAgent->setExchange (mExchange);
         dynamic_pointer_cast<ManagementExchange>(mExchange)->setManagmentAgent 
(managementAgent);
-
-        mgmtObject = ManagementObjectBroker::shared_ptr (new 
ManagementObjectBroker (conf));
-        managementAgent->addObject 
(dynamic_pointer_cast<ManagementObject>(mgmtObject));
-
-        // Since there is currently no support for virtual hosts, a management 
object
-        // representing the implied single virtual host is added here.
-        mgmtVhostObject = ManagementObjectVhost::shared_ptr (new 
ManagementObjectVhost (conf));
-        managementAgent->addObject 
(dynamic_pointer_cast<ManagementObject>(mgmtVhostObject));
     }
     else
         QPID_LOG(info, "Management not enabled");

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.cpp Sat Nov  3 
17:40:44 2007
@@ -47,7 +47,8 @@
         queues[name] = queue;
 
         if (managementAgent){
-            ManagementObjectQueue::shared_ptr mgmtObject(new 
ManagementObjectQueue (name, durable, autoDelete));
+            ManagementObjectQueue::shared_ptr mgmtObject
+                (new ManagementObjectQueue (managementVhost->getObjectId (), 
name, durable, autoDelete));
 
             queue->setMgmt (mgmtObject);
             
managementAgent->addObject(dynamic_pointer_cast<ManagementObject>(mgmtObject));
@@ -115,3 +116,7 @@
     return managementAgent;
 }
 
+void QueueRegistry::setManagementVhost (ManagementObject::shared_ptr vhost)
+{
+    managementVhost = vhost;
+}

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h Sat Nov  3 
17:40:44 2007
@@ -95,6 +95,7 @@
      */
     void setManagementAgent (ManagementAgent::shared_ptr agent);
     ManagementAgent::shared_ptr getManagementAgent (void);
+    void setManagementVhost (ManagementObject::shared_ptr vhost);
 
 private:
     typedef std::map<string, Queue::shared_ptr> QueueMap;
@@ -102,7 +103,8 @@
     qpid::sys::RWlock lock;
     int counter;
     MessageStore* const store;
-    ManagementAgent::shared_ptr managementAgent;
+    ManagementAgent::shared_ptr  managementAgent;
+    ManagementObject::shared_ptr managementVhost;
 };
 
     

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionHandler.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionHandler.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionHandler.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/SessionHandler.cpp Sat Nov  3 
17:40:44 2007
@@ -32,6 +32,7 @@
 namespace broker {
 using namespace framing;
 using namespace std;
+using namespace qpid::sys;
 
 SessionHandler::SessionHandler(Connection& c, ChannelId ch)
     : InOutHandler(0, &c.getOutput()),

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.cpp 
(original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.cpp 
Sat Nov  3 17:40:44 2007
@@ -31,7 +31,7 @@
 using namespace qpid::broker;
 using namespace qpid::sys;
 
-ManagementAgent::ManagementAgent (uint16_t _interval) : interval (_interval)
+ManagementAgent::ManagementAgent (uint16_t _interval) : interval (_interval), 
nextObjectId(1)
 {
     timer.add (TimerTask::shared_ptr (new Periodic(*this, interval)));
 }
@@ -43,6 +43,7 @@
 
 void ManagementAgent::addObject (ManagementObject::shared_ptr object)
 {
+    object->setObjectId (nextObjectId++);
     managementObjects.push_back (object);
     QPID_LOG(info, "Management Object Added");
 }
@@ -197,8 +198,37 @@
 }
 
 void ManagementAgent::dispatchCommand (Deliverable&      /*msg*/,
-                                       const string&     /*routingKey*/,
+                                       const string&     routingKey,
                                        const FieldTable* /*args*/)
 {
+    size_t pos, start;
+
+    if (routingKey.compare (0, 7, "method.") != 0)
+    {
+        QPID_LOG (debug, "Illegal routing key for dispatch: " << routingKey);
+        return;
+    }
+
+    start = 7;
+    if (routingKey.length () == start)
+    {
+        QPID_LOG (debug, "Missing class-key in routing key: " << routingKey);
+        return;
+    }
+
+    pos = routingKey.find ('.', start);
+    if (pos == string::npos || routingKey.length () == pos + 1)
+    {
+        QPID_LOG (debug, "Missing method-key in routing key: " << routingKey);
+        return;
+    }
+
+    string className = routingKey.substr (start, pos - start);
+
+    start = pos + 1;
+
+    string methodName = routingKey.substr (start, routingKey.length () - 
start);
+
+    QPID_LOG (debug, "Dispatch class: " << className << ", method: " << 
methodName);
 }
 

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.h?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.h 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementAgent.h 
Sat Nov  3 17:40:44 2007
@@ -45,7 +45,7 @@
     void clientAdded     (void);
     void dispatchCommand (Deliverable&      msg,
                           const string&     routingKey,
-                          const FieldTable* args);
+                          const qpid::framing::FieldTable* args);
     
   private:
 
@@ -62,6 +62,7 @@
     Timer                  timer;
     Exchange::shared_ptr   exchange;
     uint16_t               interval;
+    uint32_t               nextObjectId;
 
     void PeriodicProcessing (void);
 };

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.cpp 
(original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.cpp 
Sat Nov  3 17:40:44 2007
@@ -41,6 +41,11 @@
     buf.putShortString (description);
 }
 
+void ManagementObject::schemaListBegin (Buffer& buf)
+{
+    schemaItem (buf, TYPE_UINT32, "id", "Object ID", true, true);
+}
+
 void ManagementObject::schemaListEnd (Buffer& buf)
 {
     buf.putOctet (FLAG_END);
@@ -51,4 +56,5 @@
     buf.putLongLong (uint64_t (Duration (now ())));
     buf.putLongLong (createTime);
     buf.putLongLong (destroyTime);
+    buf.putLong     (objectId);
 }

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.h?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.h 
(original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObject.h 
Sat Nov  3 17:40:44 2007
@@ -30,9 +30,6 @@
 namespace qpid { 
 namespace broker {
 
-using namespace qpid::framing;
-using namespace qpid::sys;
-
 const uint16_t OBJECT_SYSTEM      = 1;
 const uint16_t OBJECT_BROKER      = 2;
 const uint16_t OBJECT_VHOST       = 3;
@@ -52,6 +49,7 @@
     
     uint64_t createTime;
     uint64_t destroyTime;
+    uint32_t objectId;
     bool     configChanged;
     bool     instChanged;
     bool     deleted;
@@ -67,31 +65,34 @@
     static const uint8_t FLAG_INDEX  = 0x02;
     static const uint8_t FLAG_END    = 0x80;
     
-    void schemaItem (Buffer&     buf,
-                     uint8_t     typeCode,
-                     std::string name,
-                     std::string description,
-                     bool        isConfig = false,
-                     bool        isIndex  = false);
-    void schemaListEnd   (Buffer& buf);
-    void writeTimestamps (Buffer& buf);
+    void schemaItem      (qpid::framing::Buffer& buf,
+                          uint8_t     typeCode,
+                          std::string name,
+                          std::string description,
+                          bool        isConfig = false,
+                          bool        isIndex  = false);
+    void schemaListBegin (qpid::framing::Buffer& buf);
+    void schemaListEnd   (qpid::framing::Buffer& buf);
+    void writeTimestamps (qpid::framing::Buffer& buf);
 
   public:
     typedef boost::shared_ptr<ManagementObject> shared_ptr;
 
-    ManagementObject () : destroyTime(0), configChanged(true),
+    ManagementObject () : destroyTime(0), objectId (), configChanged(true),
                           instChanged(true), deleted(false)
-    { createTime = uint64_t (Duration (now ())); }
+        { createTime = uint64_t (qpid::sys::Duration (qpid::sys::now ())); }
     virtual ~ManagementObject () {}
 
-    virtual uint16_t    getObjectType        (void)        = 0;
-    virtual std::string getObjectName        (void)        = 0;
-    virtual void        writeSchema          (Buffer& buf) = 0;
-    virtual void        writeConfig          (Buffer& buf) = 0;
-    virtual void        writeInstrumentation (Buffer& buf) = 0;
-    virtual bool        getSchemaNeeded      (void)        = 0;
-    virtual void        setSchemaNeeded      (void)        = 0;
+    virtual uint16_t    getObjectType        (void) = 0;
+    virtual std::string getObjectName        (void) = 0;
+    virtual void        writeSchema          (qpid::framing::Buffer& buf) = 0;
+    virtual void        writeConfig          (qpid::framing::Buffer& buf) = 0;
+    virtual void        writeInstrumentation (qpid::framing::Buffer& buf) = 0;
+    virtual bool        getSchemaNeeded      (void) = 0;
+    virtual void        setSchemaNeeded      (void) = 0;
 
+    void         setObjectId      (uint32_t oid) { objectId = oid; }
+    uint32_t     getObjectId      (void) { return objectId; }
     inline  bool getConfigChanged (void) { return configChanged; }
     virtual bool getInstChanged   (void) { return instChanged; }
     inline  void setAllChanged    (void)
@@ -101,7 +102,7 @@
     }
 
     inline void resourceDestroy  (void) {
-        destroyTime = uint64_t (Duration (now ()));
+        destroyTime = uint64_t (qpid::sys::Duration (qpid::sys::now ()));
         deleted     = true;
     }
     bool isDeleted (void) { return deleted; }

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.cpp
 (original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.cpp
 Sat Nov  3 17:40:44 2007
@@ -54,8 +54,9 @@
 {
     schemaNeeded = false;
 
-    schemaItem (buf, TYPE_STRING, "sysId",         "System ID", true, true);
-    schemaItem (buf, TYPE_UINT16, "port",          "TCP Port for AMQP 
Service", true);
+    schemaListBegin (buf);
+    schemaItem (buf, TYPE_UINT32, "systemRef",     "System ID",                
 true, true);
+    schemaItem (buf, TYPE_UINT16, "port",          "TCP Port for AMQP 
Service", true, true);
     schemaItem (buf, TYPE_UINT16, "workerThreads", "Thread pool size", true);
     schemaItem (buf, TYPE_UINT16, "maxConns",      "Maximum allowed 
connections", true);
     schemaItem (buf, TYPE_UINT16, "connBacklog",
@@ -72,7 +73,6 @@
     schemaItem (buf, TYPE_STRING, "clusterName",
                 "Name of cluster this server is a member of, zero-length for 
standalone server", true);
     schemaItem (buf, TYPE_STRING, "version", "Running software version", true);
-
     schemaListEnd (buf);
 }
 
@@ -81,7 +81,7 @@
     configChanged = false;
 
     writeTimestamps    (buf);
-    buf.putShortString (sysId);
+    buf.putLong        (0);
     buf.putShort       (port);
     buf.putShort       (workerThreads);
     buf.putShort       (maxConns);

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.h?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.h
 (original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectBroker.h
 Sat Nov  3 17:40:44 2007
@@ -42,8 +42,6 @@
 
     static bool schemaNeeded;
 
-    std::string objectName;
-
     std::string sysId;
     uint16_t    port;
     uint16_t    workerThreads;
@@ -59,10 +57,10 @@
     std::string version;
 
     uint16_t    getObjectType        (void) { return OBJECT_BROKER; }
-    std::string getObjectName        (void) { return objectName; }
-    void        writeSchema          (Buffer& buf);
-    void        writeConfig          (Buffer& buf);
-    void        writeInstrumentation (Buffer& /*buf*/) {}
+    std::string getObjectName        (void) { return "broker"; }
+    void        writeSchema          (qpid::framing::Buffer& buf);
+    void        writeConfig          (qpid::framing::Buffer& buf);
+    void        writeInstrumentation (qpid::framing::Buffer& /*buf*/) {}
     bool        getSchemaNeeded      (void) { return schemaNeeded; }
     void        setSchemaNeeded      (void) { schemaNeeded = true; }
 

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.cpp
 (original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.cpp
 Sat Nov  3 17:40:44 2007
@@ -27,9 +27,9 @@
 
 bool ManagementObjectQueue::schemaNeeded = true;
 
-ManagementObjectQueue::ManagementObjectQueue (std::string& _name,
+ManagementObjectQueue::ManagementObjectQueue (uint32_t _vhostRef, std::string& 
_name,
                                               bool _durable, bool _autoDelete) 
:
-    vhostName("/"), name(_name), durable(_durable), autoDelete(_autoDelete)
+    vhostRef(_vhostRef), name(_name), durable(_durable), 
autoDelete(_autoDelete)
 {
     msgTotalEnqueues     = 0;
     msgTotalDequeues     = 0;
@@ -79,15 +79,15 @@
 {
     schemaNeeded = false;
 
-    schemaItem (buf, TYPE_STRING, "vhostRef",            "Virtual Host Ref", 
true, true);
-    schemaItem (buf, TYPE_STRING, "name",                "Queue Name", true, 
true);
+    schemaListBegin (buf);
+    schemaItem (buf, TYPE_UINT32, "vhostRef",            "Virtual Host Ref", 
true);
+    schemaItem (buf, TYPE_STRING, "name",                "Queue Name", true);
     schemaItem (buf, TYPE_BOOL,   "durable",             "Durable",    true);
     schemaItem (buf, TYPE_BOOL,   "autoDelete",          "AutoDelete", true);
-
     schemaItem (buf, TYPE_UINT64, "msgTotalEnqueues",    "Total messages 
enqueued");
     schemaItem (buf, TYPE_UINT64, "msgTotalDequeues",    "Total messages 
dequeued");
-    schemaItem (buf, TYPE_UINT64, "msgTxEnqueues",       "Transactional 
messages enqueued");
-    schemaItem (buf, TYPE_UINT64, "msgTxDequeues",       "Transactional 
messages dequeued");
+    schemaItem (buf, TYPE_UINT64, "msgTxnEnqueues",      "Transactional 
messages enqueued");
+    schemaItem (buf, TYPE_UINT64, "msgTxnDequeues",      "Transactional 
messages dequeued");
     schemaItem (buf, TYPE_UINT64, "msgPersistEnqueues",  "Persistent messages 
enqueued");
     schemaItem (buf, TYPE_UINT64, "msgPersistDequeues",  "Persistent messages 
dequeued");
     schemaItem (buf, TYPE_UINT32, "msgDepth",            "Current size of 
queue in messages");
@@ -95,29 +95,28 @@
     schemaItem (buf, TYPE_UINT32, "msgDepthHigh",        "High-water queue 
size, this interval");
     schemaItem (buf, TYPE_UINT64, "byteTotalEnqueues",   "Total messages 
enqueued");
     schemaItem (buf, TYPE_UINT64, "byteTotalDequeues",   "Total messages 
dequeued");
-    schemaItem (buf, TYPE_UINT64, "byteTxEnqueues",      "Transactional 
messages enqueued");
-    schemaItem (buf, TYPE_UINT64, "byteTxDequeues",      "Transactional 
messages dequeued");
+    schemaItem (buf, TYPE_UINT64, "byteTxnEnqueues",     "Transactional 
messages enqueued");
+    schemaItem (buf, TYPE_UINT64, "byteTxnDequeues",     "Transactional 
messages dequeued");
     schemaItem (buf, TYPE_UINT64, "bytePersistEnqueues", "Persistent messages 
enqueued");
     schemaItem (buf, TYPE_UINT64, "bytePersistDequeues", "Persistent messages 
dequeued");
     schemaItem (buf, TYPE_UINT32, "byteDepth",           "Current size of 
queue in bytes");
     schemaItem (buf, TYPE_UINT32, "byteDepthLow",        "Low-water mark this 
interval");
     schemaItem (buf, TYPE_UINT32, "byteDepthHigh",       "High-water mark this 
interval");
-    schemaItem (buf, TYPE_UINT64, "enqueueTxStarts",     "Total enqueue 
transactions started ");
-    schemaItem (buf, TYPE_UINT64, "enqueueTxCommits",    "Total enqueue 
transactions committed");
-    schemaItem (buf, TYPE_UINT64, "enqueueTxRejects",    "Total enqueue 
transactions rejected");
-    schemaItem (buf, TYPE_UINT32, "enqueueTxCount",      "Current pending 
enqueue transactions");
-    schemaItem (buf, TYPE_UINT32, "enqueueTxCountLow",   "Low water mark this 
interval");
-    schemaItem (buf, TYPE_UINT32, "enqueueTxCountHigh",  "High water mark this 
interval");
-    schemaItem (buf, TYPE_UINT64, "dequeueTxStarts",     "Total dequeue 
transactions started ");
-    schemaItem (buf, TYPE_UINT64, "dequeueTxCommits",    "Total dequeue 
transactions committed");
-    schemaItem (buf, TYPE_UINT64, "dequeueTxRejects",    "Total dequeue 
transactions rejected");
-    schemaItem (buf, TYPE_UINT32, "dequeueTxCount",      "Current pending 
dequeue transactions");
-    schemaItem (buf, TYPE_UINT32, "dequeueTxCountLow",   "Transaction low 
water mark this interval");
-    schemaItem (buf, TYPE_UINT32, "dequeueTxCountHigh",  "Transaction high 
water mark this interval");
+    schemaItem (buf, TYPE_UINT64, "enqueueTxnStarts",    "Total enqueue 
transactions started ");
+    schemaItem (buf, TYPE_UINT64, "enqueueTxnCommits",   "Total enqueue 
transactions committed");
+    schemaItem (buf, TYPE_UINT64, "enqueueTxnRejects",   "Total enqueue 
transactions rejected");
+    schemaItem (buf, TYPE_UINT32, "enqueueTxnCount",     "Current pending 
enqueue transactions");
+    schemaItem (buf, TYPE_UINT32, "enqueueTxnCountLow",  "Low water mark this 
interval");
+    schemaItem (buf, TYPE_UINT32, "enqueueTxnCountHigh", "High water mark this 
interval");
+    schemaItem (buf, TYPE_UINT64, "dequeueTxnStarts",    "Total dequeue 
transactions started ");
+    schemaItem (buf, TYPE_UINT64, "dequeueTxnCommits",   "Total dequeue 
transactions committed");
+    schemaItem (buf, TYPE_UINT64, "dequeueTxnRejects",   "Total dequeue 
transactions rejected");
+    schemaItem (buf, TYPE_UINT32, "dequeueTxnCount",     "Current pending 
dequeue transactions");
+    schemaItem (buf, TYPE_UINT32, "dequeueTxnCountLow",  "Transaction low 
water mark this interval");
+    schemaItem (buf, TYPE_UINT32, "dequeueTxnCountHigh", "Transaction high 
water mark this interval");
     schemaItem (buf, TYPE_UINT32, "consumers",           "Current consumers on 
queue");
     schemaItem (buf, TYPE_UINT32, "consumersLow",        "Consumer low water 
mark this interval");
     schemaItem (buf, TYPE_UINT32, "consumersHigh",       "Consumer high water 
mark this interval");
-
     schemaListEnd (buf);
 }
 
@@ -126,7 +125,7 @@
     configChanged = false;
 
     writeTimestamps    (buf);
-    buf.putShortString (vhostName);
+    buf.putLong        (vhostRef);
     buf.putShortString (name);
     buf.putOctet       (durable    ? 1 : 0);
     buf.putOctet       (autoDelete ? 1 : 0);
@@ -137,8 +136,6 @@
     instChanged = false;
 
     writeTimestamps (buf);
-    buf.putShortString (vhostName);
-    buf.putShortString (name);
     buf.putLongLong (msgTotalEnqueues);
     buf.putLongLong (msgTotalDequeues);
     buf.putLongLong (msgTxEnqueues);

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.h?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.h
 (original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectQueue.h
 Sat Nov  3 17:40:44 2007
@@ -36,8 +36,7 @@
 
     static bool schemaNeeded;
 
-    std::string objectName;
-    std::string vhostName;
+    uint32_t    vhostRef;
     std::string name;
     bool        durable;
     bool        autoDelete;
@@ -85,10 +84,10 @@
     uint32_t  consumersHigh;        // High water mark this interval
 
     uint16_t    getObjectType        (void) { return OBJECT_QUEUE; }
-    std::string getObjectName        (void) { return objectName; }
-    void        writeSchema          (Buffer& buf);
-    void        writeConfig          (Buffer& buf);
-    void        writeInstrumentation (Buffer& buf);
+    std::string getObjectName        (void) { return "queue"; }
+    void        writeSchema          (qpid::framing::Buffer& buf);
+    void        writeConfig          (qpid::framing::Buffer& buf);
+    void        writeInstrumentation (qpid::framing::Buffer& buf);
     bool        getSchemaNeeded      (void) { return schemaNeeded; }
     void        setSchemaNeeded      (void) { schemaNeeded = true; }
     
@@ -119,7 +118,8 @@
 
     typedef boost::shared_ptr<ManagementObjectQueue> shared_ptr;
 
-    ManagementObjectQueue  (std::string& name, bool durable, bool autoDelete);
+    ManagementObjectQueue  (uint32_t _vhostRef, std::string& name,
+                            bool durable, bool autoDelete);
     ~ManagementObjectQueue (void);
 
     // The following mask contents are used to describe enqueued or dequeued

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.cpp
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.cpp?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.cpp
 (original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.cpp
 Sat Nov  3 17:40:44 2007
@@ -28,10 +28,8 @@
 
 bool ManagementObjectVhost::schemaNeeded = true;
 
-ManagementObjectVhost::ManagementObjectVhost (const Options& /*_conf*/)
-{
-    name = "/";
-}
+ManagementObjectVhost::ManagementObjectVhost (uint32_t _sysRef, const Options& 
/*_conf*/) :
+    sysRef(_sysRef), name("/") {}
 
 ManagementObjectVhost::~ManagementObjectVhost () {}
 
@@ -39,8 +37,9 @@
 {
     schemaNeeded = false;
 
-    schemaItem (buf, TYPE_STRING, "name", "Name of virtual host",      true, 
true);
-
+    schemaListBegin (buf);
+    schemaItem (buf, TYPE_UINT32, "brokerRef", "Broker Reference" ,    true);
+    schemaItem (buf, TYPE_STRING, "name",      "Name of virtual host", true);
     schemaListEnd (buf);
 }
 
@@ -49,6 +48,7 @@
     configChanged = false;
 
     writeTimestamps    (buf);
+    buf.putLong        (sysRef);
     buf.putShortString (name);
 }
 

Modified: 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.h
URL: 
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.h?rev=591715&r1=591714&r2=591715&view=diff
==============================================================================
--- 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.h
 (original)
+++ 
incubator/qpid/trunk/qpid/cpp/src/qpid/broker/management/ManagementObjectVhost.h
 Sat Nov  3 17:40:44 2007
@@ -35,22 +35,21 @@
 
     typedef boost::shared_ptr<ManagementObjectVhost> shared_ptr;
 
-    ManagementObjectVhost  (const Options& conf);
+    ManagementObjectVhost  (uint32_t sysRef, const Options& conf);
     ~ManagementObjectVhost (void);
 
   private:
 
     static bool schemaNeeded;
 
-    std::string objectName;
-
+    uint32_t    sysRef;
     std::string name;
 
     uint16_t    getObjectType        (void) { return OBJECT_VHOST; }
-    std::string getObjectName        (void) { return objectName; }
-    void        writeSchema          (Buffer& buf);
-    void        writeConfig          (Buffer& buf);
-    void        writeInstrumentation (Buffer& /*buf*/) {}
+    std::string getObjectName        (void) { return "vhost"; }
+    void        writeSchema          (qpid::framing::Buffer& buf);
+    void        writeConfig          (qpid::framing::Buffer& buf);
+    void        writeInstrumentation (qpid::framing::Buffer& /*buf*/) {}
     bool        getSchemaNeeded      (void) { return schemaNeeded; }
     void        setSchemaNeeded      (void) { schemaNeeded = true; }
 


Reply via email to