summaryrefslogtreecommitdiff
path: root/cpp/bindings
diff options
context:
space:
mode:
authorTed Ross <tross@apache.org>2009-09-29 03:21:49 +0000
committerTed Ross <tross@apache.org>2009-09-29 03:21:49 +0000
commit7661c82fc7aaca543582ef45582d87de3c5de5b7 (patch)
tree9de25825187c0a45df5880ce74e58befb6c4ec50 /cpp/bindings
parent576b578d61d0d31082587bf77a25a59da2ba738f (diff)
downloadqpid-python-7661c82fc7aaca543582ef45582d87de3c5de5b7.tar.gz
QMF Engine updates:
- Connected console handler callbacks - Added string representations for a number of object classes - Added a feature that completes query requests sent to disconnected agents git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@819819 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/bindings')
-rw-r--r--cpp/bindings/qmf/ruby/qmf.rb22
-rwxr-xr-xcpp/bindings/qmf/tests/ruby_console.rb34
2 files changed, 50 insertions, 6 deletions
diff --git a/cpp/bindings/qmf/ruby/qmf.rb b/cpp/bindings/qmf/ruby/qmf.rb
index c469376ff4..548b50874c 100644
--- a/cpp/bindings/qmf/ruby/qmf.rb
+++ b/cpp/bindings/qmf/ruby/qmf.rb
@@ -469,6 +469,10 @@ module Qmf
return (@impl.getObjectNumHi == other.impl.getObjectNumHi) &&
(@impl.getObjectNumLo == other.impl.getObjectNumLo)
end
+
+ def to_s
+ @impl.str
+ end
end
class Arguments
@@ -734,12 +738,16 @@ module Qmf
@impl = i
end
- def package_name()
- @impl.getPackageName()
+ def package_name
+ @impl.getPackageName
+ end
+
+ def class_name
+ @impl.getClassName
end
- def class_name()
- @impl.getClassName()
+ def to_s
+ @impl.asString
end
end
@@ -982,12 +990,18 @@ module Qmf
count += 1
case @event.kind
when Qmfengine::ConsoleEvent::AGENT_ADDED
+ @handler.agent_added(AgentProxy.new(@event.agent, nil)) if @handler
when Qmfengine::ConsoleEvent::AGENT_DELETED
+ @handler.agent_deleted(AgentProxy.new(@event.agent, nil)) if @handler
when Qmfengine::ConsoleEvent::NEW_PACKAGE
+ @handler.new_package(@event.name) if @handler
when Qmfengine::ConsoleEvent::NEW_CLASS
+ @handler.new_class(SchemaClassKey.new(@event.classKey)) if @handler
when Qmfengine::ConsoleEvent::OBJECT_UPDATE
+ @handler.object_update(ConsoleObject.new(nil, :impl => @event.object), @event.hasProps, @event.hasStats) if @handler
when Qmfengine::ConsoleEvent::EVENT_RECEIVED
when Qmfengine::ConsoleEvent::AGENT_HEARTBEAT
+ @handler.agent_heartbeat(AgentProxy.new(@event.agent, nil), @event.timestamp) if @handler
when Qmfengine::ConsoleEvent::METHOD_RESPONSE
end
@impl.popEvent
diff --git a/cpp/bindings/qmf/tests/ruby_console.rb b/cpp/bindings/qmf/tests/ruby_console.rb
index d4df4ebc5d..b53cf57b1f 100755
--- a/cpp/bindings/qmf/tests/ruby_console.rb
+++ b/cpp/bindings/qmf/tests/ruby_console.rb
@@ -24,6 +24,36 @@ require 'socket'
class App < Qmf::ConsoleHandler
+ def agent_added(agent)
+ puts "AgentAdded: #{agent.label}"
+ end
+
+ def agent_deleted(agent)
+ puts "AgentDeleted: #{agent.label}"
+ end
+
+ def new_package(package)
+ puts "NewPackage: #{package}"
+ end
+
+ def new_class(class_key)
+ puts "NewClass: #{class_key}"
+ end
+
+ def object_update(object, hasProps, hasStats)
+ puts "ObjectUpdate: #{object.object_class.name} props=#{hasProps} stats=#{hasStats}"
+ end
+
+ def event_received(event); end
+
+ def agent_heartbeat(agent, timestamp)
+ puts "AgentHeartbeat: #{agent.label} time=#{timestamp/1000000000}"
+ end
+
+ def method_response(resp); end
+ def broker_info(broker); end
+
+
def dump_schema
packages = @qmfc.packages
puts "----- Packages -----"
@@ -77,12 +107,12 @@ class App < Qmf::ConsoleHandler
@settings.host = ARGV[0] if ARGV.size > 0
@settings.port = ARGV[1].to_i if ARGV.size > 1
@connection = Qmf::Connection.new(@settings)
- @qmfc = Qmf::Console.new
+ @qmfc = Qmf::Console.new(self)
@broker = @qmfc.add_connection(@connection)
@broker.waitForStable
- dump_schema
+ ##dump_schema
agents = @qmfc.agents()
puts "---- Agents ----"