summaryrefslogtreecommitdiff
path: root/qpid/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp')
-rw-r--r--qpid/cpp/include/qpid/framing/FieldTable.h4
-rw-r--r--qpid/cpp/managementgen/qmfgen/management-types.xml2
-rw-r--r--qpid/cpp/managementgen/qmfgen/templates/Class.cpp1
-rw-r--r--qpid/cpp/src/qmf/engine/Protocol.cpp4
-rw-r--r--qpid/cpp/src/qmf/engine/SchemaImpl.cpp3
-rw-r--r--qpid/cpp/src/qmf/engine/ValueImpl.cpp2
-rw-r--r--qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp4
-rw-r--r--qpid/cpp/src/qpid/console/Broker.cpp4
-rw-r--r--qpid/cpp/src/qpid/console/Schema.cpp2
-rw-r--r--qpid/cpp/src/qpid/console/Value.cpp2
-rw-r--r--qpid/cpp/src/qpid/framing/FieldTable.cpp134
-rw-r--r--qpid/cpp/src/qpid/management/ManagementAgent.cpp6
12 files changed, 13 insertions, 155 deletions
diff --git a/qpid/cpp/include/qpid/framing/FieldTable.h b/qpid/cpp/include/qpid/framing/FieldTable.h
index fd09cfc6f6..62b4a4bc08 100644
--- a/qpid/cpp/include/qpid/framing/FieldTable.h
+++ b/qpid/cpp/include/qpid/framing/FieldTable.h
@@ -63,10 +63,6 @@ class FieldTable
QPID_COMMON_EXTERN void encode(Buffer& buffer) const;
QPID_COMMON_EXTERN void decode(Buffer& buffer);
- QPID_COMMON_EXTERN uint32_t qmfEncodedSize() const;
- QPID_COMMON_EXTERN void qmfEncode(Buffer& buffer) const;
- QPID_COMMON_EXTERN void qmfDecode(Buffer& buffer);
-
QPID_COMMON_EXTERN int count() const;
QPID_COMMON_EXTERN void set(const std::string& name, const ValuePtr& value);
QPID_COMMON_EXTERN ValuePtr get(const std::string& name) const;
diff --git a/qpid/cpp/managementgen/qmfgen/management-types.xml b/qpid/cpp/managementgen/qmfgen/management-types.xml
index e235920447..626880afb3 100644
--- a/qpid/cpp/managementgen/qmfgen/management-types.xml
+++ b/qpid/cpp/managementgen/qmfgen/management-types.xml
@@ -36,7 +36,7 @@
<type name="float" base="FLOAT" cpp="float" encode="@.putFloat(#)" decode="# = @.getFloat()" accessor="direct" init="0."/>
<type name="double" base="DOUBLE" cpp="double" encode="@.putDouble(#)" decode="# = @.getDouble()" accessor="direct" init="0."/>
<type name="uuid" base="UUID" cpp="::qpid::framing::Uuid" encode="#.encode(@)" decode="#.decode(@)" accessor="direct" init="::qpid::framing::Uuid()" byRef="y"/>
-<type name="map" base="FTABLE" cpp="::qpid::framing::FieldTable" encode="#.qmfEncode(@)" decode="#.decode(@)" accessor="direct" init="::qpid::framing::FieldTable()" byRef="y"/>
+<type name="map" base="FTABLE" cpp="::qpid::framing::FieldTable" encode="#.encode(@)" decode="#.decode(@)" accessor="direct" init="::qpid::framing::FieldTable()" byRef="y"/>
<type name="hilo8" base="U8" cpp="uint8_t" encode="@.putOctet(#)" decode="# = @.getOctet()" style="wm" accessor="counter" init="0"/>
<type name="hilo16" base="U16" cpp="uint16_t" encode="@.putShort(#)" decode="# = @.getShort()" style="wm" accessor="counter" init="0"/>
diff --git a/qpid/cpp/managementgen/qmfgen/templates/Class.cpp b/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
index 52ffce0eb4..973d92586a 100644
--- a/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
+++ b/qpid/cpp/managementgen/qmfgen/templates/Class.cpp
@@ -98,7 +98,6 @@ void /*MGEN:Class.NameCap*/::writeSchema (Buffer& buf)
buf.putShortString (packageName); // Package Name
buf.putShortString (className); // Class Name
buf.putBin128 (md5Sum); // Schema Hash
- buf.putOctet (0); // No Superclass
buf.putShort (/*MGEN:Class.ConfigCount*/); // Config Element Count
buf.putShort (/*MGEN:Class.InstCount*/); // Inst Element Count
buf.putShort (/*MGEN:Class.MethodCount*/); // Method Count
diff --git a/qpid/cpp/src/qmf/engine/Protocol.cpp b/qpid/cpp/src/qmf/engine/Protocol.cpp
index 6061b70a8d..9e5f490604 100644
--- a/qpid/cpp/src/qmf/engine/Protocol.cpp
+++ b/qpid/cpp/src/qmf/engine/Protocol.cpp
@@ -37,14 +37,14 @@ bool Protocol::checkHeader(Buffer& buf, uint8_t *opcode, uint32_t *seq)
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
void Protocol::encodeHeader(qpid::framing::Buffer& buf, uint8_t opcode, uint32_t seq)
{
buf.putOctet('A');
buf.putOctet('M');
- buf.putOctet('3');
+ buf.putOctet('2');
buf.putOctet(opcode);
buf.putLong (seq);
}
diff --git a/qpid/cpp/src/qmf/engine/SchemaImpl.cpp b/qpid/cpp/src/qmf/engine/SchemaImpl.cpp
index e366a66826..c37ec34890 100644
--- a/qpid/cpp/src/qmf/engine/SchemaImpl.cpp
+++ b/qpid/cpp/src/qmf/engine/SchemaImpl.cpp
@@ -341,7 +341,6 @@ SchemaObjectClassImpl::SchemaObjectClassImpl(Buffer& buffer) : hasHash(true), cl
buffer.getShortString(name);
hash.decode(buffer);
- /*uint8_t hasParentClass =*/ buffer.getOctet(); // TODO: Parse parent-class indicator
uint16_t propCount = buffer.getShort();
uint16_t statCount = buffer.getShort();
uint16_t methodCount = buffer.getShort();
@@ -374,7 +373,7 @@ void SchemaObjectClassImpl::encode(Buffer& buffer) const
buffer.putShortString(package);
buffer.putShortString(name);
hash.encode(buffer);
- buffer.putOctet(0); // No parent class
+ //buffer.putOctet(0); // No parent class
buffer.putShort((uint16_t) properties.size());
buffer.putShort((uint16_t) statistics.size());
buffer.putShort((uint16_t) methods.size());
diff --git a/qpid/cpp/src/qmf/engine/ValueImpl.cpp b/qpid/cpp/src/qmf/engine/ValueImpl.cpp
index f80bdab866..1949d4b946 100644
--- a/qpid/cpp/src/qmf/engine/ValueImpl.cpp
+++ b/qpid/cpp/src/qmf/engine/ValueImpl.cpp
@@ -55,8 +55,6 @@ ValueImpl::ValueImpl(Typecode t, Buffer& buf) : typecode(t)
case TYPE_MAP:
ft.decode(buf);
- // TODO: either update to recursively use QMF types or reduce to int/string/...
- // (maybe use another ctor with a FieldValue argument)
break;
case TYPE_LIST:
diff --git a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp b/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
index f9f39316e2..f84e158154 100644
--- a/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
+++ b/qpid/cpp/src/qpid/agent/ManagementAgentImpl.cpp
@@ -564,7 +564,7 @@ void ManagementAgentImpl::encodeHeader(Buffer& buf, uint8_t opcode, uint32_t seq
{
buf.putOctet('A');
buf.putOctet('M');
- buf.putOctet('3');
+ buf.putOctet('2');
buf.putOctet(opcode);
buf.putLong (seq);
}
@@ -581,7 +581,7 @@ bool ManagementAgentImpl::checkHeader(Buffer& buf, uint8_t *opcode, uint32_t *se
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
ManagementAgentImpl::PackageMap::iterator ManagementAgentImpl::findOrAddPackage(const string& name)
diff --git a/qpid/cpp/src/qpid/console/Broker.cpp b/qpid/cpp/src/qpid/console/Broker.cpp
index 53776c1a12..d2ff8f819e 100644
--- a/qpid/cpp/src/qpid/console/Broker.cpp
+++ b/qpid/cpp/src/qpid/console/Broker.cpp
@@ -72,7 +72,7 @@ void Broker::encodeHeader(Buffer& buf, uint8_t opcode, uint32_t seq) const
{
buf.putOctet('A');
buf.putOctet('M');
- buf.putOctet('3');
+ buf.putOctet('2');
buf.putOctet(opcode);
buf.putLong (seq);
}
@@ -89,7 +89,7 @@ bool Broker::checkHeader(Buffer& buf, uint8_t *opcode, uint32_t *seq) const
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
void Broker::received(qpid::client::Message& msg)
diff --git a/qpid/cpp/src/qpid/console/Schema.cpp b/qpid/cpp/src/qpid/console/Schema.cpp
index 7efdc63ef0..a3dbd91201 100644
--- a/qpid/cpp/src/qpid/console/Schema.cpp
+++ b/qpid/cpp/src/qpid/console/Schema.cpp
@@ -119,7 +119,7 @@ SchemaClass::SchemaClass(const uint8_t _kind, const ClassKey& _key, framing::Buf
kind(_kind), key(_key)
{
if (kind == KIND_TABLE) {
- uint8_t hasSupertype = buffer.getOctet();
+ uint8_t hasSupertype = 0; //buffer.getOctet();
uint16_t propCount = buffer.getShort();
uint16_t statCount = buffer.getShort();
uint16_t methodCount = buffer.getShort();
diff --git a/qpid/cpp/src/qpid/console/Value.cpp b/qpid/cpp/src/qpid/console/Value.cpp
index 799892606a..c30660f1dc 100644
--- a/qpid/cpp/src/qpid/console/Value.cpp
+++ b/qpid/cpp/src/qpid/console/Value.cpp
@@ -114,7 +114,7 @@ string MapValue::str() const
MapValue::MapValue(framing::Buffer& buffer)
{
- value.qmfDecode(buffer);
+ value.decode(buffer);
}
diff --git a/qpid/cpp/src/qpid/framing/FieldTable.cpp b/qpid/cpp/src/qpid/framing/FieldTable.cpp
index 0a21bb2f35..e2e91e450a 100644
--- a/qpid/cpp/src/qpid/framing/FieldTable.cpp
+++ b/qpid/cpp/src/qpid/framing/FieldTable.cpp
@@ -53,23 +53,6 @@ uint32_t FieldTable::encodedSize() const {
return len;
}
-uint32_t FieldTable::qmfEncodedSize() const {
- uint32_t len(4/*size field*/ + 4/*count field*/);
- for(ValueMap::const_iterator i = values.begin(); i != values.end(); ++i) {
- // shortstr_len_byte + key size + typecode
- len += 1 + (i->first).size() + 1;
- ValuePtr value(i->second);
- if (value->convertsTo<int>()) {
- len += 4;
- } else if (value->convertsTo<uint64_t>()) {
- len += 8;
- } else if (value->convertsTo<string>()) {
- len += 2 + value->get<string>().size();
- }
- }
- return len;
-}
-
int FieldTable::count() const {
return values.size();
}
@@ -232,123 +215,6 @@ void FieldTable::decode(Buffer& buffer){
}
}
-#define QMF_TYPE_U8 1
-#define QMF_TYPE_U16 2
-#define QMF_TYPE_U32 3
-#define QMF_TYPE_U64 4
-#define QMF_TYPE_SSTR 6
-#define QMF_TYPE_LSTR 7
-#define QMF_TYPE_ABSTIME 8
-#define QMF_TYPE_DELTATIME 9
-#define QMF_TYPE_REF 10
-#define QMF_TYPE_BOOL 11
-#define QMF_TYPE_FLOAT 12
-#define QMF_TYPE_DOUBLE 13
-#define QMF_TYPE_UUID 14
-#define QMF_TYPE_S8 16
-#define QMF_TYPE_S16 17
-#define QMF_TYPE_S32 18
-#define QMF_TYPE_S64 19
-#define QMF_TYPE_OBJECT 20
-#define QMF_TYPE_MAP 15
-#define QMF_TYPE_LIST 21
-#define QMF_TYPE_ARRAY 22
-
-void FieldTable::qmfEncode(Buffer& buffer) const {
- buffer.putLong(qmfEncodedSize() - 4);
- buffer.putLong(values.size());
- for (ValueMap::const_iterator i = values.begin(); i!=values.end(); ++i) {
- ValuePtr value(i->second);
- buffer.putShortString(i->first);
- if (value->convertsTo<int>()) {
- buffer.putOctet(QMF_TYPE_S32);
- buffer.putLong(value->get<int>());
- } else if (value->convertsTo<uint64_t>()) {
- buffer.putOctet(QMF_TYPE_U64);
- buffer.putLongLong(value->get<uint64_t>());
- } else if (value->convertsTo<string>()) {
- buffer.putOctet(QMF_TYPE_LSTR);
- buffer.putMediumString(value->get<string>());
- }
- }
-}
-
-void FieldTable::qmfDecode(Buffer& buffer) {
- clear();
- uint32_t len = buffer.getLong();
- if (len) {
- uint32_t available = buffer.available();
- if (available < len)
- throw IllegalArgumentException(QPID_MSG("Not enough data for field table."));
- uint32_t count = buffer.getLong();
- uint32_t leftover = available - len;
- while(buffer.available() > leftover && count--) {
- std::string name;
- std::string sstr;
- std::string lstr;
- buffer.getShortString(name);
- uint8_t typecode = buffer.getOctet();
- switch (typecode) {
- case QMF_TYPE_U8:
- values[name] = ValuePtr(new IntegerValue(buffer.getOctet()));
- break;
- case QMF_TYPE_U16:
- values[name] = ValuePtr(new IntegerValue(buffer.getShort()));
- break;
- case QMF_TYPE_U32:
- values[name] = ValuePtr(new IntegerValue(buffer.getLong()));
- break;
- case QMF_TYPE_U64:
- values[name] = ValuePtr(new Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_SSTR:
- buffer.getShortString(sstr);
- values[name] = ValuePtr(new Str16Value(sstr));
- break;
- case QMF_TYPE_LSTR:
- buffer.getMediumString(lstr);
- values[name] = ValuePtr(new Str16Value(lstr));
- break;
- case QMF_TYPE_ABSTIME:
- values[name] = ValuePtr(new Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_DELTATIME:
- values[name] = ValuePtr(new Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_BOOL:
- values[name] = ValuePtr(new IntegerValue(buffer.getOctet()));
- break;
- case QMF_TYPE_FLOAT:
- values[name] = ValuePtr(new FloatValue(buffer.getFloat()));
- break;
- case QMF_TYPE_DOUBLE:
- values[name] = ValuePtr(new DoubleValue(buffer.getDouble()));
- break;
- case QMF_TYPE_S8:
- values[name] = ValuePtr(new IntegerValue(buffer.getOctet()));
- break;
- case QMF_TYPE_S16:
- values[name] = ValuePtr(new IntegerValue(buffer.getShort()));
- break;
- case QMF_TYPE_S32:
- values[name] = ValuePtr(new IntegerValue(buffer.getLong()));
- break;
- case QMF_TYPE_S64:
- values[name] = ValuePtr(new Unsigned64Value(buffer.getLongLong()));
- break;
- case QMF_TYPE_REF:
- case QMF_TYPE_UUID:
- case QMF_TYPE_OBJECT:
- case QMF_TYPE_MAP:
- case QMF_TYPE_LIST:
- case QMF_TYPE_ARRAY:
- break;
- }
- }
- }
-}
-
-
bool FieldTable::operator==(const FieldTable& x) const {
if (values.size() != x.values.size()) return false;
for (ValueMap::const_iterator i = values.begin(); i != values.end(); ++i) {
diff --git a/qpid/cpp/src/qpid/management/ManagementAgent.cpp b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
index 2193ba4007..b5ed4ed405 100644
--- a/qpid/cpp/src/qpid/management/ManagementAgent.cpp
+++ b/qpid/cpp/src/qpid/management/ManagementAgent.cpp
@@ -267,7 +267,7 @@ void ManagementAgent::encodeHeader (Buffer& buf, uint8_t opcode, uint32_t seq)
{
buf.putOctet ('A');
buf.putOctet ('M');
- buf.putOctet ('3');
+ buf.putOctet ('2');
buf.putOctet (opcode);
buf.putLong (seq);
}
@@ -281,7 +281,7 @@ bool ManagementAgent::checkHeader (Buffer& buf, uint8_t *opcode, uint32_t *seq)
*opcode = buf.getOctet();
*seq = buf.getLong();
- return h1 == 'A' && h2 == 'M' && h3 == '3';
+ return h1 == 'A' && h2 == 'M' && h3 == '2';
}
void ManagementAgent::sendBuffer(Buffer& buf,
@@ -1201,7 +1201,7 @@ size_t ManagementAgent::validateTableSchema(Buffer& inBuffer)
inBuffer.getShortString(text);
inBuffer.getBin128(hash);
- uint8_t superType = inBuffer.getOctet();
+ uint8_t superType = 0; //inBuffer.getOctet();
uint16_t propCount = inBuffer.getShort();
uint16_t statCount = inBuffer.getShort();