diff options
| author | Ted Ross <tross@apache.org> | 2011-01-11 19:24:14 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2011-01-11 19:24:14 +0000 |
| commit | f9fefb0b92de0b805424a017d0097a3abdd894ce (patch) | |
| tree | 5dbda057f472b7396ed650c518b7bf471df08d8e /cpp/src/qmf/AgentEvent.cpp | |
| parent | d110a0992506d80cd29b07ba9de7c993c548e155 (diff) | |
| download | qpid-python-f9fefb0b92de0b805424a017d0097a3abdd894ce.tar.gz | |
Added argument/type check for output arguments on methods.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1057814 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qmf/AgentEvent.cpp')
| -rw-r--r-- | cpp/src/qmf/AgentEvent.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cpp/src/qmf/AgentEvent.cpp b/cpp/src/qmf/AgentEvent.cpp index fbdce686d4..2dc24ecac1 100644 --- a/cpp/src/qmf/AgentEvent.cpp +++ b/cpp/src/qmf/AgentEvent.cpp @@ -21,6 +21,7 @@ #include "qmf/AgentEventImpl.h" #include "qmf/PrivateImplRef.h" +#include "qmf/SchemaImpl.h" using namespace std; using namespace qmf; @@ -64,6 +65,8 @@ Data AgentEventImpl::dequeueData() void AgentEventImpl::addReturnArgument(const string& key, const Variant& val, const string& subtype) { + if (schema.isValid() && !SchemaImplAccess::get(schema).isValidMethodOutArg(methodName, key, val)) + throw QmfException("Output argument is unknown or the type is incompatible"); outArguments[key] = val; if (!subtype.empty()) outArgumentSubtypes[key] = subtype; |
