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 2012/11/20 19:35:38 UTC

svn commit: r1411780 - in /qpid/trunk/qpid/cpp/managementgen/qmfgen: generate.py schema.py templates/Class.h templates/Event.h templates/Package.h

Author: tross
Date: Tue Nov 20 18:35:36 2012
New Revision: 1411780

URL: http://svn.apache.org/viewvc?rev=1411780&view=rev
Log:
QPID-4450 - Don't generate QPID_BROKER_[CLASS_]EXTERN when the generated code is for
a standalone (not in-broker) agent.

Modified:
    qpid/trunk/qpid/cpp/managementgen/qmfgen/generate.py
    qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py
    qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h
    qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Event.h
    qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Package.h

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/generate.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/generate.py?rev=1411780&r1=1411779&r2=1411780&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/generate.py (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/generate.py Tue Nov 20 18:35:36 2012
@@ -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:

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py?rev=1411780&r1=1411779&r2=1411780&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/schema.py Tue Nov 20 18:35:36 2012
@@ -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
 

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h?rev=1411780&r1=1411779&r2=1411780&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Class.h Tue Nov 20 18:35:36 2012
@@ -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:Cl
   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:Cl
     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; }

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Event.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Event.h?rev=1411780&r1=1411779&r2=1411780&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Event.h (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Event.h Tue Nov 20 18:35:36 2012
@@ -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);
     }

Modified: qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Package.h
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Package.h?rev=1411780&r1=1411779&r2=1411780&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Package.h (original)
+++ qpid/trunk/qpid/cpp/managementgen/qmfgen/templates/Package.h Tue Nov 20 18:35:36 2012
@@ -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*/



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org