diff options
| author | Gordon Sim <gsim@apache.org> | 2008-09-19 17:49:18 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2008-09-19 17:49:18 +0000 |
| commit | 5260106042c9d9e4bfffa97cdd6c5da8e6b21a79 (patch) | |
| tree | 85d83ce1ded20963b97348c2147ef7d4934003bb /cpp/src/qpid/framing/FieldTable.cpp | |
| parent | d2af591a59a1bbe07d459ba2ec5f598fcedb5560 (diff) | |
| download | qpid-python-5260106042c9d9e4bfffa97cdd6c5da8e6b21a79.tar.gz | |
Return success indicator for getTable/getArray, cleanup implementation a little.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@697165 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/framing/FieldTable.cpp')
| -rw-r--r-- | cpp/src/qpid/framing/FieldTable.cpp | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/cpp/src/qpid/framing/FieldTable.cpp b/cpp/src/qpid/framing/FieldTable.cpp index 5a5d755fe8..a85f5e0918 100644 --- a/cpp/src/qpid/framing/FieldTable.cpp +++ b/cpp/src/qpid/framing/FieldTable.cpp @@ -123,21 +123,12 @@ int FieldTable::getInt(const std::string& name) const { // return getValue<uint64_t>(name); //} -void FieldTable::getTable(const std::string& name, FieldTable& value) const { - FieldTable::ValuePtr vptr = get(name); - if (vptr) { - value = vptr->get<const FieldTable&>(); - } +bool FieldTable::getTable(const std::string& name, FieldTable& value) const { + return getEncodedValue<FieldTable>(get(name), value); } -void FieldTable::getArray(const std::string& name, Array& value) const { - FieldTable::ValuePtr vptr = get(name); - if (vptr) { - const EncodedValue<Array>* ev = dynamic_cast< EncodedValue<Array>* >(&(vptr->getData())); - if (ev != 0) { - value = ev->getValue(); - } - } +bool FieldTable::getArray(const std::string& name, Array& value) const { + return getEncodedValue<Array>(get(name), value); } void FieldTable::encode(Buffer& buffer) const{ |
