From a3462820c7f5af8bbb7300334c49d47b239fe901 Mon Sep 17 00:00:00 2001 From: Kenneth Anthony Giusti Date: Fri, 21 May 2010 17:39:51 +0000 Subject: QMF: add bindEvent api to allow filtering of unsolicted events. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@947084 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/bindings/qmf/python/qmf.py | 15 ++++++++++++++- cpp/bindings/qmf/ruby/qmf.rb | 15 +++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) (limited to 'cpp/bindings') diff --git a/cpp/bindings/qmf/python/qmf.py b/cpp/bindings/qmf/python/qmf.py index 37442b94ea..06d3070841 100644 --- a/cpp/bindings/qmf/python/qmf.py +++ b/cpp/bindings/qmf/python/qmf.py @@ -1166,9 +1166,22 @@ class Console(Thread): if "class" in kwargs: self.impl.bindClass(package, kwargs["class"]) else: - self.impl.bindClass(package) + self.impl.bindClass(package, "*") else: raise Exception("Argument error: invalid arguments, use 'key' or 'package'[,'class']") + + + def bind_event(self, kwargs = {}): + if "key" in kwargs: + self.impl.bindEvent(kwargs["key"]) + elif "package" in kwargs: + package = kwargs["package"] + if "event" in kwargs: + self.impl.bindEvent(package, kwargs["event"]) + else: + self.impl.bindEvent(package, "*") + else: + raise Exception("Argument error: invalid arguments, use 'key' or 'package'[,'event']") def agents(self, broker=None): diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb index e50d23a0e0..34d3255d8d 100644 --- a/cpp/bindings/qmf/ruby/qmf.rb +++ b/cpp/bindings/qmf/ruby/qmf.rb @@ -1087,6 +1087,21 @@ module Qmf end end + def bind_event(kwargs = {}) + if kwargs.include?(:key) + @impl.bindEvent(kwargs[:key]) + elsif kwargs.include?(:package) + package = kwargs[:package] + if kwargs.include?(:event) + @impl.bindEvent(package, kwargs[:event]) + else + @impl.bindEvent(package, "*") + end + else + raise ArgumentError, "Invalid arguments, use :key or :package[,:event]" + end + end + def agents(broker = nil) blist = [] if broker -- cgit v1.2.1