diff options
author | Kim van der Riet <kpvdr@apache.org> | 2013-02-28 16:14:30 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2013-02-28 16:14:30 +0000 |
commit | 9c73ef7a5ac10acd6a50d5d52bd721fc2faa5919 (patch) | |
tree | 2a890e1df09e5b896a9b4168a7b22648f559a1f2 /cpp/managementgen | |
parent | 172d9b2a16cfb817bbe632d050acba7e31401cd2 (diff) | |
download | qpid-python-asyncstore.tar.gz |
Update from trunk r1375509 through r1450773asyncstore
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/managementgen')
-rwxr-xr-x | cpp/managementgen/qmf-gen | 2 | ||||
-rwxr-xr-x | cpp/managementgen/qmfgen/generate.py | 11 | ||||
-rwxr-xr-x | cpp/managementgen/qmfgen/schema.py | 7 | ||||
-rw-r--r-- | cpp/managementgen/qmfgen/templates/Class.h | 36 | ||||
-rw-r--r-- | cpp/managementgen/qmfgen/templates/Event.h | 21 | ||||
-rw-r--r-- | cpp/managementgen/qmfgen/templates/Package.h | 6 |
6 files changed, 57 insertions, 26 deletions
diff --git a/cpp/managementgen/qmf-gen b/cpp/managementgen/qmf-gen index 2f0cc0d8fd..fc2f284578 100755 --- a/cpp/managementgen/qmf-gen +++ b/cpp/managementgen/qmf-gen @@ -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 diff --git a/cpp/managementgen/qmfgen/generate.py b/cpp/managementgen/qmfgen/generate.py index 61111be01d..a7ad43cc30 100755 --- a/cpp/managementgen/qmfgen/generate.py +++ b/cpp/managementgen/qmfgen/generate.py @@ -307,11 +307,22 @@ class Generator: def testGenLogs (self, variables): return variables["genLogs"] + def testInBroker (self, variables): + return variables['genForBroker'] + def genDisclaimer (self, stream, variables): prefix = variables["commentPrefix"] stream.write (prefix + " This source file was created by a code generator.\n") stream.write (prefix + " Please do not edit.") + def genExternClass (self, stream, variables): + if variables['genForBroker']: + stream.write("QPID_BROKER_CLASS_EXTERN") + + def genExternMethod (self, stream, variables): + if variables['genForBroker']: + stream.write("QPID_BROKER_EXTERN") + def fileExt (self, path): dot = path.rfind (".") if dot == -1: diff --git a/cpp/managementgen/qmfgen/schema.py b/cpp/managementgen/qmfgen/schema.py index dc8ffae446..7bf161dc2b 100755 --- a/cpp/managementgen/qmfgen/schema.py +++ b/cpp/managementgen/qmfgen/schema.py @@ -1476,8 +1476,11 @@ class SchemaClass: def genMethodIdDeclarations (self, stream, variables): number = 1 + ext = "" + if variables['genForBroker']: + ext = "QPID_BROKER_EXTERN " for method in self.methods: - stream.write (" QPID_BROKER_EXTERN static const uint32_t METHOD_" + method.getName().upper() +\ + stream.write (" " + ext + "static const uint32_t METHOD_" + method.getName().upper() +\ " = %d;\n" % number) number = number + 1 @@ -1521,7 +1524,7 @@ class SchemaClass: for config in self.properties: if config.isParentRef == 1: stream.write (config.getName () + \ - " = _parent->GetManagementObject ()->getObjectId ();") + " = _parent->GetManagementObject()->getObjectId();") return def genSchemaMD5 (self, stream, variables): diff --git a/cpp/managementgen/qmfgen/templates/Class.h b/cpp/managementgen/qmfgen/templates/Class.h index 95939f3d03..cd43cef7f4 100644 --- a/cpp/managementgen/qmfgen/templates/Class.h +++ b/cpp/managementgen/qmfgen/templates/Class.h @@ -24,7 +24,11 @@ /*MGEN:Root.Disclaimer*/ #include "qpid/management/ManagementObject.h" +/*MGEN:IF(Root.InBroker)*/ #include "qmf/BrokerImportExport.h" +#include <boost/shared_ptr.hpp> +/*MGEN:ENDIF*/ +#include <limits> namespace qpid { namespace management { @@ -35,7 +39,7 @@ namespace qpid { namespace qmf { /*MGEN:Class.OpenNamespaces*/ -QPID_BROKER_CLASS_EXTERN class /*MGEN:Class.NameCap*/ : public ::qpid::management::ManagementObject +/*MGEN:Root.ExternClass*/ class /*MGEN:Class.NameCap*/ : public ::qpid::management::ManagementObject { private: @@ -76,22 +80,26 @@ QPID_BROKER_CLASS_EXTERN class /*MGEN:Class.NameCap*/ : public ::qpid::managemen void aggregatePerThreadStats(struct PerThreadStats*) const; /*MGEN:ENDIF*/ public: - QPID_BROKER_EXTERN static void writeSchema(std::string& schema); - QPID_BROKER_EXTERN void mapEncodeValues(::qpid::types::Variant::Map& map, +/*MGEN:IF(Root.InBroker)*/ + typedef boost::shared_ptr</*MGEN:Class.NameCap*/> shared_ptr; +/*MGEN:ENDIF*/ + + /*MGEN:Root.ExternMethod*/ static void writeSchema(std::string& schema); + /*MGEN:Root.ExternMethod*/ void mapEncodeValues(::qpid::types::Variant::Map& map, bool includeProperties=true, bool includeStatistics=true); - QPID_BROKER_EXTERN void mapDecodeValues(const ::qpid::types::Variant::Map& map); - QPID_BROKER_EXTERN void doMethod(std::string& methodName, + /*MGEN:Root.ExternMethod*/ void mapDecodeValues(const ::qpid::types::Variant::Map& map); + /*MGEN:Root.ExternMethod*/ void doMethod(std::string& methodName, const ::qpid::types::Variant::Map& inMap, ::qpid::types::Variant::Map& outMap, const std::string& userId); - QPID_BROKER_EXTERN std::string getKey() const; + /*MGEN:Root.ExternMethod*/ std::string getKey() const; /*MGEN:IF(Root.GenQMFv1)*/ - QPID_BROKER_EXTERN uint32_t writePropertiesSize() const; - QPID_BROKER_EXTERN void readProperties(const std::string& buf); - QPID_BROKER_EXTERN void writeProperties(std::string& buf) const; - QPID_BROKER_EXTERN void writeStatistics(std::string& buf, bool skipHeaders = false); - QPID_BROKER_EXTERN void doMethod(std::string& methodName, + /*MGEN:Root.ExternMethod*/ uint32_t writePropertiesSize() const; + /*MGEN:Root.ExternMethod*/ void readProperties(const std::string& buf); + /*MGEN:Root.ExternMethod*/ void writeProperties(std::string& buf) const; + /*MGEN:Root.ExternMethod*/ void writeStatistics(std::string& buf, bool skipHeaders = false); + /*MGEN:Root.ExternMethod*/ void doMethod(std::string& methodName, const std::string& inBuf, std::string& outBuf, const std::string& userId); @@ -104,15 +112,15 @@ QPID_BROKER_CLASS_EXTERN class /*MGEN:Class.NameCap*/ : public ::qpid::managemen bool hasInst() { return false; } /*MGEN:ENDIF*/ - QPID_BROKER_EXTERN /*MGEN:Class.NameCap*/( + /*MGEN:Root.ExternMethod*/ /*MGEN:Class.NameCap*/( ::qpid::management::ManagementAgent* agent, ::qpid::management::Manageable* coreObject/*MGEN:Class.ParentArg*//*MGEN:Class.ConstructorArgs*/); - QPID_BROKER_EXTERN ~/*MGEN:Class.NameCap*/(); + /*MGEN:Root.ExternMethod*/ ~/*MGEN:Class.NameCap*/(); /*MGEN:Class.SetGeneralReferenceDeclaration*/ - QPID_BROKER_EXTERN static void registerSelf( + /*MGEN:Root.ExternMethod*/ static void registerSelf( ::qpid::management::ManagementAgent* agent); std::string& getPackageName() const { return packageName; } diff --git a/cpp/managementgen/qmfgen/templates/Event.h b/cpp/managementgen/qmfgen/templates/Event.h index 592ae08c73..e5f5f53c1f 100644 --- a/cpp/managementgen/qmfgen/templates/Event.h +++ b/cpp/managementgen/qmfgen/templates/Event.h @@ -24,36 +24,41 @@ /*MGEN:Root.Disclaimer*/ #include "qpid/management/ManagementEvent.h" +/*MGEN:IF(Root.InBroker)*/ #include "qmf/BrokerImportExport.h" +/*MGEN:ENDIF*/ namespace qmf { /*MGEN:Event.OpenNamespaces*/ -QPID_BROKER_CLASS_EXTERN class Event/*MGEN:Event.NameCap*/ : public ::qpid::management::ManagementEvent +/*MGEN:Root.ExternClass*/ class Event/*MGEN:Event.NameCap*/ : public ::qpid::management::ManagementEvent { private: static void writeSchema (std::string& schema); - static std::string packageName; - static std::string eventName; static uint8_t md5Sum[MD5_LEN]; + /*MGEN:Root.ExternMethod*/ static std::string packageName; + /*MGEN:Root.ExternMethod*/ static std::string eventName; /*MGEN:Event.ArgDeclarations*/ public: writeSchemaCall_t getWriteSchemaCall(void) { return writeSchema; } - QPID_BROKER_EXTERN Event/*MGEN:Event.NameCap*/(/*MGEN:Event.ConstructorArgs*/); - QPID_BROKER_EXTERN ~Event/*MGEN:Event.NameCap*/() {}; + /*MGEN:Root.ExternMethod*/ Event/*MGEN:Event.NameCap*/(/*MGEN:Event.ConstructorArgs*/); + /*MGEN:Root.ExternMethod*/ ~Event/*MGEN:Event.NameCap*/() {}; static void registerSelf(::qpid::management::ManagementAgent* agent); std::string& getPackageName() const { return packageName; } std::string& getEventName() const { return eventName; } uint8_t* getMd5Sum() const { return md5Sum; } uint8_t getSeverity() const { return /*MGEN:Event.Severity*/; } - QPID_BROKER_EXTERN void encode(std::string& buffer) const; - QPID_BROKER_EXTERN void mapEncode(::qpid::types::Variant::Map& map) const; + /*MGEN:Root.ExternMethod*/ void encode(std::string& buffer) const; + /*MGEN:Root.ExternMethod*/ void mapEncode(::qpid::types::Variant::Map& map) const; - QPID_BROKER_EXTERN static bool match(const std::string& evt, const std::string& pkg); + /*MGEN:Root.ExternMethod*/ static bool match(const std::string& evt, const std::string& pkg); + static std::pair<std::string,std::string> getFullName() { + return std::make_pair(packageName, eventName); + } }; }/*MGEN:Event.CloseNamespaces*/ diff --git a/cpp/managementgen/qmfgen/templates/Package.h b/cpp/managementgen/qmfgen/templates/Package.h index 3a42f12f9d..3260b03cce 100644 --- a/cpp/managementgen/qmfgen/templates/Package.h +++ b/cpp/managementgen/qmfgen/templates/Package.h @@ -24,7 +24,9 @@ /*MGEN:Root.Disclaimer*/ #include "qpid//*MGEN:Class.AgentHeaderLocation*//ManagementAgent.h" +/*MGEN:IF(Root.InBroker)*/ #include "qmf/BrokerImportExport.h" +/*MGEN:ENDIF*/ namespace qmf { /*MGEN:Class.OpenNamespaces*/ @@ -32,8 +34,8 @@ namespace qmf { class Package { public: - QPID_BROKER_EXTERN Package (::qpid::management::ManagementAgent* agent); - QPID_BROKER_EXTERN ~Package () {} + /*MGEN:Root.ExternMethod*/ Package (::qpid::management::ManagementAgent* agent); + /*MGEN:Root.ExternMethod*/ ~Package () {} }; }/*MGEN:Class.CloseNamespaces*/ |