diff options
| author | Ted Ross <tross@apache.org> | 2011-01-11 17:58:04 +0000 |
|---|---|---|
| committer | Ted Ross <tross@apache.org> | 2011-01-11 17:58:04 +0000 |
| commit | 180f6554ab2755973026dfe6f47d94be9286da41 (patch) | |
| tree | 19d2e704c06eef0ac36625fe8cb1df300efdaff3 /qpid/cpp/bindings/qmf2/examples/python | |
| parent | 411cf023d5e377886883e8b498b44f412d5d63ad (diff) | |
| download | qpid-python-180f6554ab2755973026dfe6f47d94be9286da41.tar.gz | |
Exposed asMap for DataAddr objects in Pyton and Ruby wrappers.
Enhanced the examples to show the passing of a DataAddr in an argument.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1057774 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/bindings/qmf2/examples/python')
| -rwxr-xr-x | qpid/cpp/bindings/qmf2/examples/python/agent.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/qpid/cpp/bindings/qmf2/examples/python/agent.py b/qpid/cpp/bindings/qmf2/examples/python/agent.py index 84d2fe4615..66b7dbdc58 100755 --- a/qpid/cpp/bindings/qmf2/examples/python/agent.py +++ b/qpid/cpp/bindings/qmf2/examples/python/agent.py @@ -88,6 +88,14 @@ class ExampleAgent(AgentHandler): ex.details = args['details'] self.session.raiseException(handle, ex) + elif methodName == "create_child": + name = args['name'] + child = Data(self.sch_child) + child.name = name + addr = self.session.addData(child, name) + handle.addReturnArgument("childAddr", addr.asMap()) + self.session.methodSuccess(handle) + def setupSchema(self): """ @@ -126,11 +134,23 @@ class ExampleAgent(AgentHandler): failMethod.addArgument(SchemaProperty("details", SCHEMA_DATA_MAP, direction=DIR_IN)) self.sch_control.addMethod(failMethod) + createMethod = SchemaMethod("create_child", desc="Create Child Object") + createMethod.addArgument(SchemaProperty("name", SCHEMA_DATA_STRING, direction=DIR_IN)) + createMethod.addArgument(SchemaProperty("childAddr", SCHEMA_DATA_MAP, direction=DIR_OUT)) + self.sch_control.addMethod(createMethod) + + ## + ## Declare a child object + ## + self.sch_child = Schema(SCHEMA_TYPE_DATA, package, "child") + self.sch_child.addProperty(SchemaProperty("name", SCHEMA_DATA_STRING)) + ## ## Register our schemata with the agent session. ## self.session.registerSchema(self.sch_exception) self.session.registerSchema(self.sch_control) + self.session.registerSchema(self.sch_child) def populateData(self): |
