diff options
| author | Ted Ross <tross@apache.org> | 2010-04-09 03:53:30 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2010-04-09 03:53:30 +0000 |
| commit | 7a0d795940c5c68383b0224740f085e8e6b4e60b (patch) | |
| tree | 1b4e316b939fcf69ed0627558be511a1a809d0cb /cpp/managementgen | |
| parent | 1e75ae89fd4dfbb99f62d510d2693565ec9b9028 (diff) | |
| download | qpid-python-7a0d795940c5c68383b0224740f085e8e6b4e60b.tar.gz | |
QPID-2489 - Remove references to boost:: and qpid::framing:: from QMF-generated cpp files
Added a wrapper class for framing::Buffer in the qpid::management namespace. This wrapper class
has no reference to framing or boost and is now used in the generated C++ code to encode
QMFv1 content.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@932236 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/managementgen')
| -rw-r--r-- | cpp/managementgen/qmfgen/management-types.xml | 29 | ||||
| -rwxr-xr-x | cpp/managementgen/qmfgen/schema.py | 62 | ||||
| -rw-r--r-- | cpp/managementgen/qmfgen/templates/Args.h | 2 | ||||
| -rw-r--r-- | cpp/managementgen/qmfgen/templates/Class.cpp | 17 | ||||
| -rw-r--r-- | cpp/managementgen/qmfgen/templates/Event.cpp | 11 |
5 files changed, 62 insertions, 59 deletions
diff --git a/cpp/managementgen/qmfgen/management-types.xml b/cpp/managementgen/qmfgen/management-types.xml index 857f8af212..61c91fed2d 100644 --- a/cpp/managementgen/qmfgen/management-types.xml +++ b/cpp/managementgen/qmfgen/management-types.xml @@ -24,9 +24,9 @@ --> <type name="objId" base="REF" cpp="::qpid::management::ObjectId" - encode="{std::string _s; #.encode(_s); @.putRawData(_s);}" - decode="{std::string _s; @.getRawData(_s, #.encodedSize()); #.decode(_s);}" -stream="#.getV2Key()" size="16" accessor="direct" init="::qpid::management::ObjectId()" byRef="y"/> + encode="{std::string _s; #.encode(_s); @.putRawData(_s);}" + decode="{std::string _s; @.getRawData(_s, #.encodedSize()); #.decode(_s);}" + stream="#.getV2Key()" size="16" accessor="direct" init="::qpid::management::ObjectId()" byRef="y"/> <type name="uint8" base="U8" cpp="uint8_t" encode="@.putOctet(#)" decode="# = @.getOctet()" stream="#" size="1" accessor="direct" init="0"/> <type name="uint16" base="U16" cpp="uint16_t" encode="@.putShort(#)" decode="# = @.getShort()" stream="#" size="2" accessor="direct" init="0"/> <type name="uint32" base="U32" cpp="uint32_t" encode="@.putLong(#)" decode="# = @.getLong()" stream="#" size="4" accessor="direct" init="0"/> @@ -43,18 +43,21 @@ stream="#.getV2Key()" size="16" accessor="direct" init="::qpid::management::Obje <type name="float" base="FLOAT" cpp="float" encode="@.putFloat(#)" decode="# = @.getFloat()" stream="#" size="4" accessor="direct" init="0."/> <type name="double" base="DOUBLE" cpp="double" encode="@.putDouble(#)" decode="# = @.getDouble()" stream="#" size="8" accessor="direct" init="0."/> <type name="uuid" base="UUID" cpp="::qpid::types::Uuid" - encode="{::qpid::framing::Uuid _u(#.data()); _u.encode(@); }" - decode="{::qpid::framing::Uuid _u; _u.decode(@); # = ::qpid::types::Uuid(_u.data());}" - stream="#" size="16" accessor="direct" init="::qpid::types::Uuid()" byRef="y" unmap="(#).asUuid().data()" map="::qpid::types::Uuid((#).data())" /> + encode="@.putRawData(#.data(), 16)" + decode="{ unsigned char d[16]; @.getRawData(d, 16); # = ::qpid::types::Uuid(d); }" + stream="#" size="16" accessor="direct" init="::qpid::types::Uuid()" byRef="y" + unmap="(#).asUuid().data()" + map="::qpid::types::Uuid((#).data())" /> <type name="map" base="FTABLE" cpp="::qpid::types::Variant::Map" - encode="{::qpid::framing::FieldTable _f = ManagementAgent::fromMap(#); _f.encode(@);}" - decode="{::qpid::framing::FieldTable _f; _f.decode(@); # = ManagementAgent::toMap(_f);}" - size="::qpid::framing::FieldTable(ManagementAgent::fromMap(#)).encodedSize()" -stream="#" accessor="direct" init="::qpid::types::Variant::Map()" byRef="y" unmap="::qpid::types::Variant::Map(); assert(false); /*TBD*/"/> + encode="@.putMap(#)" + decode="@.getMap(#)" + size="::qpid::amqp_0_10::MapCodec::encodedSize(#)" + stream="#" accessor="direct" init="::qpid::types::Variant::Map()" byRef="y" unmap="::qpid::types::Variant::Map(); assert(false); /*TBD*/"/> <type name="list" base="LIST" cpp="::qpid::types::Variant::List" - encode="{::qpid::framing::List _l = ManagementAgent::fromList(#); _l.encode(@);}" - decode="{::qpid::framing::List _l; _l.decode(@); # = ManagementAgent::toList(_l);}" -stream="#" size="#.encodedSize()" accessor="direct" init="::qpid::types::Variant::List()" byRef="y" unmap="::qpid::types::Variant::List(); assert(false); /*TBD*/"/> + encode="@.putList(#)" + decode="@.getList(#)" + size="::qpid::amqp_0_10::ListCodec::encodedSize(#)" + stream="#" accessor="direct" init="::qpid::types::Variant::List()" byRef="y" unmap="::qpid::types::Variant::List(); assert(false); /*TBD*/"/> <type name="hilo8" base="U8" cpp="uint8_t" encode="@.putOctet(#)" decode="# = @.getOctet()" style="wm" stream="#" size="1" accessor="counter" init="0"/> <type name="hilo16" base="U16" cpp="uint16_t" encode="@.putShort(#)" decode="# = @.getShort()" style="wm" stream="#" size="2" accessor="counter" init="0"/> diff --git a/cpp/managementgen/qmfgen/schema.py b/cpp/managementgen/qmfgen/schema.py index c1bb507d84..1206b0082d 100755 --- a/cpp/managementgen/qmfgen/schema.py +++ b/cpp/managementgen/qmfgen/schema.py @@ -425,22 +425,22 @@ class SchemaProperty: def genSchema (self, stream): stream.write (" ft.clear();\n") - stream.write (" ft.setString (NAME, \"" + self.name + "\");\n") - stream.write (" ft.setInt (TYPE, TYPE_" + self.type.type.base +");\n") - stream.write (" ft.setInt (ACCESS, ACCESS_" + self.access + ");\n") - stream.write (" ft.setInt (IS_INDEX, " + str (self.isIndex) + ");\n") - stream.write (" ft.setInt (IS_OPTIONAL, " + str (self.isOptional) + ");\n") + stream.write (" ft[NAME] = \"" + self.name + "\";\n") + stream.write (" ft[TYPE] = TYPE_" + self.type.type.base +";\n") + stream.write (" ft[ACCESS] = ACCESS_" + self.access + ";\n") + stream.write (" ft[IS_INDEX] = " + str (self.isIndex) + ";\n") + stream.write (" ft[IS_OPTIONAL] = " + str (self.isOptional) + ";\n") if self.unit != None: - stream.write (" ft.setString (UNIT, \"" + self.unit + "\");\n") + stream.write (" ft[UNIT] = \"" + self.unit + "\";\n") if self.min != None: - stream.write (" ft.setInt (MIN, " + self.min + ");\n") + stream.write (" ft[MIN] = " + self.min + ";\n") if self.max != None: - stream.write (" ft.setInt (MAX, " + self.max + ");\n") + stream.write (" ft[MAX] = " + self.max + ";\n") if self.maxLen != None: - stream.write (" ft.setInt (MAXLEN, " + self.maxLen + ");\n") + stream.write (" ft[MAXLEN] = " + self.maxLen + ";\n") if self.desc != None: - stream.write (" ft.setString (DESC, \"" + self.desc + "\");\n") - stream.write (" buf.put (ft);\n\n") + stream.write (" ft[DESC] = \"" + self.desc + "\";\n") + stream.write (" buf.putMap(ft);\n\n") def genSchemaMap(self, stream): @@ -594,13 +594,13 @@ class SchemaStatistic: def genSchemaText (self, stream, name, desc): stream.write (" ft.clear();\n") - stream.write (" ft.setString (NAME, \"" + name + "\");\n") - stream.write (" ft.setInt (TYPE, TYPE_" + self.type.type.base +");\n") + stream.write (" ft[NAME] = \"" + name + "\";\n") + stream.write (" ft[TYPE] = TYPE_" + self.type.type.base +";\n") if self.unit != None: - stream.write (" ft.setString (UNIT, \"" + self.unit + "\");\n") + stream.write (" ft[UNIT] = \"" + self.unit + "\";\n") if desc != None: - stream.write (" ft.setString (DESC, \"" + desc + "\");\n") - stream.write (" buf.put (ft);\n\n") + stream.write (" ft[DESC] = \"" + desc + "\";\n") + stream.write (" buf.putMap(ft);\n\n") def genSchemaTextMap(self, stream, name, desc): stream.write (" {\n") @@ -782,24 +782,24 @@ class SchemaArg: def genSchema (self, stream, event=False): stream.write (" ft.clear();\n") - stream.write (" ft.setString (NAME, \"" + self.name + "\");\n") - stream.write (" ft.setInt (TYPE, TYPE_" + self.type.type.base +");\n") + stream.write (" ft[NAME] = \"" + self.name + "\";\n") + stream.write (" ft[TYPE] = TYPE_" + self.type.type.base +";\n") if (not event): - stream.write (" ft.setString (DIR, \"" + self.dir + "\");\n") + stream.write (" ft[DIR] = \"" + self.dir + "\";\n") if self.unit != None: - stream.write (" ft.setString (UNIT, \"" + self.unit + "\");\n") + stream.write (" ft[UNIT] = \"" + self.unit + "\";\n") if not event: if self.min != None: - stream.write (" ft.setInt (MIN, " + self.min + ");\n") + stream.write (" ft[MIN] = " + self.min + ";\n") if self.max != None: - stream.write (" ft.setInt (MAX, " + self.max + ");\n") + stream.write (" ft[MAX] = " + self.max + ";\n") if self.maxLen != None: - stream.write (" ft.setInt (MAXLEN, " + self.maxLen + ");\n") + stream.write (" ft[MAXLEN] = " + self.maxLen + ";\n") if self.default != None: - stream.write (" ft.setString (DEFAULT, \"" + self.default + "\");\n") + stream.write (" ft[DEFAULT] = \"" + self.default + "\";\n") if self.desc != None: - stream.write (" ft.setString (DESC, \"" + self.desc + "\");\n") - stream.write (" buf.put (ft);\n\n") + stream.write (" ft[DESC] = \"" + self.desc + "\";\n") + stream.write (" buf.putMap(ft);\n\n") def genSchemaMap (self, stream, event=False): stream.write (" {\n") @@ -896,11 +896,11 @@ class SchemaMethod: def genSchema (self, stream, variables): stream.write (" ft.clear();\n") - stream.write (" ft.setString (NAME, \"" + self.name + "\");\n") - stream.write (" ft.setInt (ARGCOUNT, " + str (len (self.args)) + ");\n") + stream.write (" ft[NAME] = \"" + self.name + "\";\n") + stream.write (" ft[ARGCOUNT] = " + str (len (self.args)) + ";\n") if self.desc != None: - stream.write (" ft.setString (DESC, \"" + self.desc + "\");\n") - stream.write (" buf.put (ft);\n\n") + stream.write (" ft[DESC] = \"" + self.desc + "\";\n") + stream.write (" buf.putMap(ft);\n\n") for arg in self.args: arg.genSchema (stream) @@ -1349,7 +1349,7 @@ class SchemaClass: stream.write("\n") stream.write(" char *_tmpBuf = new char[inStr.length()];\n") stream.write(" memcpy(_tmpBuf, inStr.data(), inStr.length());\n") - stream.write(" ::qpid::framing::Buffer inBuf(_tmpBuf, inStr.length());\n") + stream.write(" ::qpid::management::Buffer inBuf(_tmpBuf, inStr.length());\n") for method in self.methods: stream.write ("\n if (methodName == \"" + method.getName () + "\") {\n") diff --git a/cpp/managementgen/qmfgen/templates/Args.h b/cpp/managementgen/qmfgen/templates/Args.h index 20681ab477..89a5bec9b9 100644 --- a/cpp/managementgen/qmfgen/templates/Args.h +++ b/cpp/managementgen/qmfgen/templates/Args.h @@ -24,8 +24,6 @@ /*MGEN:Root.Disclaimer*/ #include "qpid/management/Args.h" -//#include "qpid/framing/FieldTable.h" -//#include "qpid/framing/Uuid.h" #include <string> namespace qmf { diff --git a/cpp/managementgen/qmfgen/templates/Class.cpp b/cpp/managementgen/qmfgen/templates/Class.cpp index ed4e17720f..9a9af07b28 100644 --- a/cpp/managementgen/qmfgen/templates/Class.cpp +++ b/cpp/managementgen/qmfgen/templates/Class.cpp @@ -22,8 +22,9 @@ #include "qpid/log/Statement.h" #include "qpid/management/Manageable.h" -#include "qpid/framing/FieldTable.h" -#include "qpid/framing/Buffer.h" +#include "qpid/management/Buffer.h" +#include "qpid/types/Variant.h" +#include "qpid/amqp_0_10/Codecs.h" #include "qpid//*MGEN:Class.AgentHeaderLocation*//ManagementAgent.h" #include "/*MGEN:Class.NameCap*/.h" /*MGEN:Class.MethodArgIncludes*/ @@ -94,8 +95,8 @@ void /*MGEN:Class.NameCap*/::writeSchema (std::string& schema) { const int _bufSize=65536; char _msgChars[_bufSize]; - ::qpid::framing::Buffer buf(_msgChars, _bufSize); - ::qpid::framing::FieldTable ft; + ::qpid::management::Buffer buf(_msgChars, _bufSize); + ::qpid::types::Variant::Map ft; // Schema class header: buf.putOctet (CLASS_KIND_TABLE); @@ -147,7 +148,7 @@ void /*MGEN:Class.NameCap*/::readProperties (const std::string& _sBuf) { char *_tmpBuf = new char[_sBuf.length()]; memcpy(_tmpBuf, _sBuf.data(), _sBuf.length()); - ::qpid::framing::Buffer buf(_tmpBuf, _sBuf.length()); + ::qpid::management::Buffer buf(_tmpBuf, _sBuf.length()); ::qpid::sys::Mutex::ScopedLock mutex(accessLock); { @@ -169,7 +170,7 @@ void /*MGEN:Class.NameCap*/::writeProperties (std::string& _sBuf) const { const int _bufSize=65536; char _msgChars[_bufSize]; - ::qpid::framing::Buffer buf(_msgChars, _bufSize); + ::qpid::management::Buffer buf(_msgChars, _bufSize); ::qpid::sys::Mutex::ScopedLock mutex(accessLock); configChanged = false; @@ -197,7 +198,7 @@ void /*MGEN:Class.NameCap*/::writeStatistics (std::string& _sBuf, bool skipHeade { const int _bufSize=65536; char _msgChars[_bufSize]; - ::qpid::framing::Buffer buf(_msgChars, _bufSize); + ::qpid::management::Buffer buf(_msgChars, _bufSize); ::qpid::sys::Mutex::ScopedLock mutex(accessLock); instChanged = false; @@ -248,7 +249,7 @@ void /*MGEN:Class.NameCap*/::doMethod (/*MGEN:Class.DoMethodArgs*/) const int _bufSize=65536; char _msgChars[_bufSize]; - ::qpid::framing::Buffer outBuf(_msgChars, _bufSize); + ::qpid::management::Buffer outBuf(_msgChars, _bufSize); /*MGEN:Class.MethodHandlers*/ diff --git a/cpp/managementgen/qmfgen/templates/Event.cpp b/cpp/managementgen/qmfgen/templates/Event.cpp index d760fd9014..94de331611 100644 --- a/cpp/managementgen/qmfgen/templates/Event.cpp +++ b/cpp/managementgen/qmfgen/templates/Event.cpp @@ -22,8 +22,9 @@ #include "qpid/log/Statement.h" #include "qpid/management/Manageable.h" -#include "qpid/framing/FieldTable.h" -#include "qpid/framing/Buffer.h" +#include "qpid/management/Buffer.h" +#include "qpid/types/Variant.h" +#include "qpid/amqp_0_10/Codecs.h" #include "qpid//*MGEN:Event.AgentHeaderLocation*//ManagementAgent.h" #include "Event/*MGEN:Event.NameCap*/.h" @@ -60,8 +61,8 @@ void Event/*MGEN:Event.NameCap*/::writeSchema (std::string& schema) { const int _bufSize = 65536; char _msgChars[_bufSize]; - ::qpid::framing::Buffer buf(_msgChars, _bufSize); - ::qpid::framing::FieldTable ft; + ::qpid::management::Buffer buf(_msgChars, _bufSize); + ::qpid::types::Variant::Map ft; // Schema class header: buf.putOctet (CLASS_KIND_EVENT); @@ -83,7 +84,7 @@ void Event/*MGEN:Event.NameCap*/::encode(std::string& _sBuf) const { const int _bufSize=65536; char _msgChars[_bufSize]; - ::qpid::framing::Buffer buf(_msgChars, _bufSize); + ::qpid::management::Buffer buf(_msgChars, _bufSize); /*MGEN:Event.ArgEncodes*/ |
