You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2010/03/17 23:39:08 UTC

svn commit: r924534 - in /qpid/branches/qmf-devel0.7a/qpid/cpp: examples/qmf-agent/example.cpp src/qpid/agent/ManagementAgentImpl.cpp src/qpid/agent/ManagementAgentImpl.h

Author: tross
Date: Wed Mar 17 22:39:07 2010
New Revision: 924534

URL: http://svn.apache.org/viewvc?rev=924534&view=rev
Log:
Added the proper message content-type so clients can properly interpret sent messages.

Modified:
    qpid/branches/qmf-devel0.7a/qpid/cpp/examples/qmf-agent/example.cpp
    qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
    qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.h

Modified: qpid/branches/qmf-devel0.7a/qpid/cpp/examples/qmf-agent/example.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qmf-devel0.7a/qpid/cpp/examples/qmf-agent/example.cpp?rev=924534&r1=924533&r2=924534&view=diff
==============================================================================
--- qpid/branches/qmf-devel0.7a/qpid/cpp/examples/qmf-agent/example.cpp (original)
+++ qpid/branches/qmf-devel0.7a/qpid/cpp/examples/qmf-agent/example.cpp Wed Mar 17 22:39:07 2010
@@ -102,8 +102,12 @@ CoreClass::CoreClass(ManagementAgent* _a
     mgmtObject->set_state("IDLE");
 
     Variant::Map args;
+    Variant::Map subMap;
     args["first"] = "String data";
     args["second"] = 34;
+    subMap["string-data"] = "Text";
+    subMap["numeric-data"] = 10000;
+    args["map-data"] = subMap;
     mgmtObject->set_args(args);
 }
 

Modified: qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
URL: http://svn.apache.org/viewvc/qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp?rev=924534&r1=924533&r2=924534&view=diff
==============================================================================
--- qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp (original)
+++ qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp Wed Mar 17 22:39:07 2010
@@ -675,8 +675,7 @@ qpid::messaging::Variant::Map Management
 
     map_["_package_name"] = pname;
     map_["_class_name"] = cname;
-    map_["_hash_str"] = std::string((const char *)md5Sum,
-                                    qpid::management::ManagementObject::MD5_LEN);
+    map_["_hash_str"] = messaging::Uuid((const char*) md5Sum);
     return map_;
 }
 
@@ -834,7 +833,7 @@ void ManagementAgentImpl::periodicProces
                 send_stats = (object->hasInst() && (object->getInstChanged() || object->getForcePublish()));
 
                 if (send_stats || send_props) {
-                    ::qpid::messaging::Variant::Map  map_;
+                    ::qpid::messaging::Variant::Map map_;
                     ::qpid::messaging::Variant::Map values;
 
                     map_["_schema_id"] = mapEncodeSchemaId(object->getPackageName(),
@@ -863,7 +862,7 @@ void ManagementAgentImpl::periodicProces
             headers["qmf.content"] = "_data";
             headers["qmf.agent"] = name_address;
 
-            connThreadBody.sendBuffer(str, 0, headers, "qpid.management", key.str());
+            connThreadBody.sendBuffer(str, 0, headers, "qpid.management", key.str(), "amqp/list");
             QPID_LOG(trace, "SENT DataIndication key=" << key.str());
         }
     }
@@ -980,7 +979,8 @@ void ManagementAgentImpl::ConnectionThre
                                                        uint32_t sequence,
                                                        const qpid::messaging::VariantMap headers,
                                                        const string& exchange,
-                                                       const string& routingKey)
+                                                       const string& routingKey,
+                                                       const string& contentType)
 {
     Message msg;
     qpid::messaging::VariantMap::const_iterator i;
@@ -990,6 +990,8 @@ void ManagementAgentImpl::ConnectionThre
         seqstr << sequence;
         msg.getMessageProperties().setCorrelationId(seqstr.str());
     }
+    if (!contentType.empty())
+        msg.getMessageProperties().setContentType(contentType);
     for (i = headers.begin(); i != headers.end(); ++i) {
         msg.getHeaders().setString(i->first, i->second.asString());
     }

Modified: qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.h
URL: http://svn.apache.org/viewvc/qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.h?rev=924534&r1=924533&r2=924534&view=diff
==============================================================================
--- qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.h (original)
+++ qpid/branches/qmf-devel0.7a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.h Wed Mar 17 22:39:07 2010
@@ -208,7 +208,8 @@ class ManagementAgentImpl : public Manag
                         const uint32_t sequence,
                         const qpid::messaging::VariantMap headers,
                         const std::string&     exchange,
-                        const std::string&     routingKey);
+                        const std::string&     routingKey,
+                        const std::string&     contentType="amqp/map");
         void sendMessage(qpid::client::Message msg,
                          const std::string&     exchange,
                          const std::string&     routingKey);



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