#!/usr/bin/env ruby # frozen_string_literal: true # # Copyright (c) [2022] SUSE LLC # # All Rights Reserved. # # This program is free software; you can redistribute it and/or modify it # under the terms of version 2 of the GNU General Public License as published # by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # more details. # # You should have received a copy of the GNU General Public License along # with this program; if not, contact SUSE LLC. # # To contact SUSE LLC about this file by physical or electronic mail, you may # find current contact information at www.suse.com. $LOAD_PATH.unshift File.expand_path("../lib", __dir__) require "rubygems" require "bundler/setup" require "eventmachine" require "dinstaller/manager" require "dinstaller/dbus/service" logger = Logger.new($stdout) manager = DInstaller::Manager.new(logger) manager.setup EM.run do service = DInstaller::DBus::Service.new(manager, logger) service.export manager.probe # probe after export, so we can report on DBus manager.progress.on_change { service.dispatch } # make single thread more responsive EventMachine::PeriodicTimer.new(0.1) { service.dispatch } end