7 @dbus = DBus::SessionBus.instance
8 @service = @dbus.service(name)
10 @main = @service.object('vym')
12 @main.default_iface = "org.insilmaril.vym.main.adaptor"
14 # Use metaprogramming to create methods for commands in vym
17 m.default_iface = "org.insilmaril.vym.model.adaptor"
19 @model_commands = s[0].split ","
20 @model_commands.each do |c|
21 self.class.send(:define_method, c) do |*pars|
23 puts " * Calling \"#{c}\":" if $deb
24 ret = m.execute("#{c} ()")
26 # Build string with parameters
36 puts " * Calling \"#{c} (#{a.join(',')})\":" if $deb
37 ret = m.execute("#{c} (#{a.join(',')})")
42 puts " Returned: #{ret[0]}" if ret[0] != ""
43 puts " Error: #{err}" if err > 0
56 if modelCount > 0 && n>=0
57 @model = @service.object "vymmodel_#{n}"
58 @model.default_iface = "org.insilmaril.vym.model.adaptor"
61 raise "Error: Model #{n} not accessible in #{@instance}!"
67 @main[@main.default_iface].methods.each do |k,v|
71 @model= @service.object 'vymmodel_1'
72 @model.default_iface = "org.insilmaril.vym.model.adaptor"
74 @model[@model.default_iface].methods.each do |k,v|
85 @dbus = DBus::SessionBus.instance
89 list=@dbus.proxy.ListNames[0].find_all{|item| item =~/org\.insilmaril\.vym/ }
93 puts "Running vym instances:\n #{running.join "\n "}"
98 #puts "Running vyms: #{list.length}"
103 for i in (0...list.length)
104 vym_service = @dbus.service(list.at(i))
105 vym_service.introspect
106 vym_main_obj = vym_service.object("vym");
107 vym_main_obj.introspect
109 vym_main_obj.default_iface = "org.insilmaril.vym.main.adaptor"
111 if vym_main_obj.getInstanceName[0] == name
112 #puts "Found instance named '#{name}': #{list.at(i)}"
113 return Vym.new list.at(i)
116 #raise "Could not find instance named \"test\""