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:[email protected]

Reply via email to