diff options
| author | Ted Ross <tross@apache.org> | 2012-11-20 18:35:36 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2012-11-20 18:35:36 +0000 |
| commit | 096787febc11bebee11ae3b4afcd1b026e5b2724 (patch) | |
| tree | edbc7fe002b04e9efd94785c09bb92339c31bb71 /cpp | |
| parent | bae3b512f44dc182696646f8be058f8c472d4e81 (diff) | |
| download | qpid-python-096787febc11bebee11ae3b4afcd1b026e5b2724.tar.gz | |
QPID-4450 - Don't generate QPID_BROKER_[CLASS_]EXTERN when the generated code is for
a standalone (not in-broker) agent.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1411780 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp')
| -rwxr-xr-x | cpp/managementgen/qmfgen/generate.py | 11 | ||||
| -rwxr-xr-x | cpp/managementgen/qmfgen/schema.py | 5 | ||||
| -rw-r--r-- | cpp/managementgen/qmfgen/templates/Class.h | 30 | ||||
| -rw-r--r-- | cpp/managementgen/qmfgen/templates/Event.h | 18 | ||||
| -rw-r--r-- | cpp/managementgen/qmfgen/templates/Package.h | 6 |
5 files changed, 45 insertions, 25 deletions
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 9ed131e571..cfbc88f7a9 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 diff --git a/cpp/managementgen/qmfgen/templates/Class.h b/cpp/managementgen/qmfgen/templates/Class.h index bb9af15525..362d268aba 100644 --- a/cpp/managementgen/qmfgen/templates/Class.h +++ b/cpp/managementgen/qmfgen/templates/Class.h @@ -24,7 +24,9 @@ /*MGEN:Root.Disclaimer*/ #include "qpid/management/ManagementObject.h" +/*MGEN:IF(Root.InBroker)*/ #include "qmf/BrokerImportExport.h" +/*MGEN:ENDIF*/ #include <limits> namespace qpid { @@ -36,7 +38,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: @@ -79,22 +81,22 @@ QPID_BROKER_CLASS_EXTERN class /*MGEN:Class.NameCap*/ : public ::qpid::managemen public: typedef boost::shared_ptr</*MGEN:Class.NameCap*/> shared_ptr; - QPID_BROKER_EXTERN static void writeSchema(std::string& schema); - QPID_BROKER_EXTERN void mapEncodeValues(::qpid::types::Variant::Map& map, + /*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); @@ -107,15 +109,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 c1d6136a34..e5f5f53c1f 100644 --- a/cpp/managementgen/qmfgen/templates/Event.h +++ b/cpp/managementgen/qmfgen/templates/Event.h @@ -24,36 +24,38 @@ /*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 uint8_t md5Sum[MD5_LEN]; - QPID_BROKER_EXTERN static std::string packageName; - QPID_BROKER_EXTERN static std::string eventName; + /*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); } 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*/ |
