Class: DInstaller::DBus::ServiceRunner
- Inherits:
-
Object
- Object
- DInstaller::DBus::ServiceRunner
- Defined in:
- lib/dinstaller/dbus/service_runner.rb
Overview
Set up and run a given D-Bus service
Instance Method Summary collapse
-
#initialize(name, logger: Logger.new($stdout)) ⇒ ServiceRunner
constructor
A new instance of ServiceRunner.
-
#run ⇒ Object
Run the Service.
Constructor Details
#initialize(name, logger: Logger.new($stdout)) ⇒ ServiceRunner
Returns a new instance of ServiceRunner.
39 40 41 42 |
# File 'lib/dinstaller/dbus/service_runner.rb', line 39 def initialize(name, logger: Logger.new($stdout)) @name = name || :manager @logger = logger end |
Instance Method Details
#run ⇒ Object
Run the Service
This method listens for D-Bus calls.
47 48 49 50 51 52 53 54 55 56 |
# File 'lib/dinstaller/dbus/service_runner.rb', line 47 def run initialize_yast service = build_service(name, logger) # TODO: implement a #start method in all services, # which is equivalent to #export in most cases. service.respond_to?(:start) ? service.start : service.export EventMachine.run do EventMachine::PeriodicTimer.new(0.1) { service.dispatch } end end |