summaryrefslogtreecommitdiff
path: root/cpp/managementgen
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2010-04-09 03:53:30 +0000
committerTed Ross <tross@apache.org>2010-04-09 03:53:30 +0000
commit7a0d795940c5c68383b0224740f085e8e6b4e60b (patch)
tree1b4e316b939fcf69ed0627558be511a1a809d0cb /cpp/managementgen
parent1e75ae89fd4dfbb99f62d510d2693565ec9b9028 (diff)
downloadqpid-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.xml29
-rwxr-xr-xcpp/managementgen/qmfgen/schema.py62
-rw-r--r--cpp/managementgen/qmfgen/templates/Args.h2
-rw-r--r--cpp/managementgen/qmfgen/templates/Class.cpp17
-rw-r--r--cpp/managementgen/qmfgen/templates/Event.cpp11
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*/