File: cockpit-dbustests.rb

package info (click to toggle)
ruby-dbus 0.25.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 776 kB
  • sloc: ruby: 6,584; xml: 225; sh: 38; makefile: 8
file content (29 lines) | stat: -rwxr-xr-x 927 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env ruby
# frozen_string_literal: true

require_relative "../coverage_helper"
SimpleCov.command_name "Cockpit Tests (#{Process.pid})" if Object.const_defined? "SimpleCov"

# find the library without external help
$LOAD_PATH.unshift File.expand_path("../../lib", __dir__)
require "dbus"

SERVICE_NAME = "org.rubygems.ruby_dbus.DBusTests"
ROOT_OPATH = "/otree/frobber"

class DBusTests < DBus::Object
  FROBBER_INTERFACE = "com.redhat.Cockpit.DBusTests.Frobber"

  dbus_interface FROBBER_INTERFACE do
    dbus_method :HelloWorld, "in greeting:s, out response:s" do |greeting|
      # TODO: return the same thing as the original implementation
      # and try substituting it?
      [format("Word! You said `%s'. I'm Skeleton, btw!", greeting)]
    end
  end
end

bus = DBus::SessionBus.instance
bus.object_server.export(DBusTests.new(ROOT_OPATH))
bus.request_name(SERVICE_NAME)
DBus::Main.new.tap { |m| m << bus }.run