]> glassweightruler.freedombox.rocks Git - waydroid.git/blobdiff - tools/actions/initializer.py
Move session IPC to dbus
[waydroid.git] / tools / actions / initializer.py
index 0d7755b34e1a6b208b59f4fea4b769fb358c78a1..5238b3ce0e247e6137c61538b4f3cdfdd846daeb 100644 (file)
@@ -104,7 +104,7 @@ def init(args):
     if not is_initialized(args) or args.force:
         initializer_service = None
         try:
-            initializer_service = dbus.SystemBus().get_object("id.waydro.ContainerService", "/Initializer")
+            initializer_service = tools.helpers.ipc.DBusContainerService("/Initializer", "id.waydro.Initializer")
         except dbus.DBusException:
             pass
         setup_config(args)
@@ -130,7 +130,7 @@ def init(args):
         if "running_init_in_service" not in args or not args.running_init_in_service:
             try:
                 if initializer_service:
-                    initializer_service.Done(dbus_interface="id.waydro.Initializer")
+                    initializer_service.Done()
             except dbus.DBusException:
                 pass
     else:
@@ -139,11 +139,13 @@ def init(args):
 def wait_for_init(args):
     helpers.ipc.create_channel("remote_init_output")
 
-    name = dbus.service.BusName("id.waydro.ContainerService", dbus.SystemBus())
     mainloop = GLib.MainLoop()
     dbus_obj = DbusInitializer(mainloop, dbus.SystemBus(), '/Initializer', args)
     mainloop.run()
 
+    # After init
+    dbus_obj.remove_from_connection()
+
 class DbusInitializer(dbus.service.Object):
     def __init__(self, looper, bus, object_path, args):
         self.args = args
@@ -231,7 +233,7 @@ def remote_init_client(args):
 
     if is_initialized(args):
         try:
-            bus.get_object("id.waydro.ContainerService", "/Initializer").Done(dbus_interface="id.waydro.Initializer")
+            tools.helpers.ipc.DBusContainerService("/Initializer", "id.waydro.Initializer").Done()
         except dbus.DBusException:
             pass
         return
@@ -239,7 +241,7 @@ def remote_init_client(args):
     def notify_and_quit(caller):
         if is_initialized(args):
             try:
-                bus.get_object("id.waydro.ContainerService", "/Initializer").Done(dbus_interface="id.waydro.Initializer")
+                tools.helpers.ipc.DBusContainerService("/Initializer", "id.waydro.Initializer").Done()
             except dbus.DBusException:
                 pass
         GLib.idle_add(Gtk.main_quit)
@@ -340,7 +342,7 @@ def remote_init_client(args):
                     "vendor_channel": self.vndOta.get_text(),
                     "system_type": self.sysType.get_active_text()
                 }
-                bus.get_object("id.waydro.ContainerService", "/Initializer").Init(params, dbus_interface="id.waydro.Initializer")
+                tools.helpers.ipc.DBusContainerService("/Initializer", "id.waydro.Initializer").Init(params)
             except:
                 draw("The waydroid container service is not listening\n")
                 GLib.idle_add(self.downloadBtn.set_sensitive, True)