machine: update to use new-style sd-bus macros (#23012)

* machine: update to use new-style sd-bus macros

Replace old SD_BUS_METHOD_WITH_NAMES and SD_BUS_SIGNAL_WITH_NAMES macros to
the new SD_BUS_METHOD_WITH_ARGS and SD_BUS_SIGNAL_WITH_ARGS macros.

Meson test, mkosi test image and running machinectl after build returned
no error. But since I don't have any virtual machines or containers, I'm not
sure how to test the changes thoroughly.
This commit is contained in:
Amarjargal
2022-04-08 21:43:18 +01:00
committed by GitHub
parent 11b957b59b
commit d5e4e60bf2
2 changed files with 242 additions and 382 deletions
+55 -79
View File
@@ -1278,85 +1278,61 @@ static const sd_bus_vtable machine_vtable[] = {
NULL,
bus_machine_method_terminate,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("Kill",
"si",
SD_BUS_PARAM(who)
SD_BUS_PARAM(signal),
NULL,,
bus_machine_method_kill,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetAddresses",
NULL,,
"a(iay)",
SD_BUS_PARAM(addresses),
bus_machine_method_get_addresses,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetOSRelease",
NULL,,
"a{ss}",
SD_BUS_PARAM(fields),
bus_machine_method_get_os_release,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetUIDShift",
NULL,,
"u",
SD_BUS_PARAM(shift),
bus_machine_method_get_uid_shift,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenPTY",
NULL,,
"hs",
SD_BUS_PARAM(pty)
SD_BUS_PARAM(pty_path),
bus_machine_method_open_pty,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenLogin",
NULL,,
"hs",
SD_BUS_PARAM(pty)
SD_BUS_PARAM(pty_path),
bus_machine_method_open_login,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenShell",
"ssasas",
SD_BUS_PARAM(user)
SD_BUS_PARAM(path)
SD_BUS_PARAM(args)
SD_BUS_PARAM(environment),
"hs",
SD_BUS_PARAM(pty)
SD_BUS_PARAM(pty_path),
bus_machine_method_open_shell,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("BindMount",
"ssbb",
SD_BUS_PARAM(source)
SD_BUS_PARAM(destination)
SD_BUS_PARAM(read_only)
SD_BUS_PARAM(mkdir),
NULL,,
bus_machine_method_bind_mount,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CopyFrom",
"ss",
SD_BUS_PARAM(source)
SD_BUS_PARAM(destination),
NULL,,
bus_machine_method_copy,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CopyTo",
"ss",
SD_BUS_PARAM(source)
SD_BUS_PARAM(destination),
NULL,,
bus_machine_method_copy,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenRootDirectory",
NULL,,
"h",
SD_BUS_PARAM(fd),
bus_machine_method_open_root_directory,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("Kill",
SD_BUS_ARGS("s", who, "i", signal),
SD_BUS_NO_RESULT,
bus_machine_method_kill,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetAddresses",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("a(iay)", addresses),
bus_machine_method_get_addresses,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetOSRelease",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("a{ss}", fields),
bus_machine_method_get_os_release,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetUIDShift",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("u", shift),
bus_machine_method_get_uid_shift,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenPTY",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("h", pty, "s", pty_path),
bus_machine_method_open_pty,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenLogin",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("h", pty, "s", pty_path),
bus_machine_method_open_login,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenShell",
SD_BUS_ARGS("s", user, "s", path, "as", args, "as", environment),
SD_BUS_RESULT("h", pty, "s", pty_path),
bus_machine_method_open_shell,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("BindMount",
SD_BUS_ARGS("s", source, "s", destination, "b", read_only, "b", mkdir),
SD_BUS_NO_RESULT,
bus_machine_method_bind_mount,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CopyFrom",
SD_BUS_ARGS("s", source, "s", destination),
SD_BUS_NO_RESULT,
bus_machine_method_copy,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CopyTo",
SD_BUS_ARGS("s", source, "s", destination),
SD_BUS_NO_RESULT,
bus_machine_method_copy,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenRootDirectory",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("h", fd),
bus_machine_method_open_root_directory,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_VTABLE_END
};
+187 -303
View File
@@ -1014,310 +1014,194 @@ const sd_bus_vtable manager_vtable[] = {
SD_BUS_PROPERTY("PoolUsage", "t", property_get_pool_usage, 0, 0),
SD_BUS_PROPERTY("PoolLimit", "t", property_get_pool_limit, 0, 0),
SD_BUS_METHOD_WITH_NAMES("GetMachine",
"s",
SD_BUS_PARAM(name),
"o",
SD_BUS_PARAM(machine),
method_get_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetImage",
"s",
SD_BUS_PARAM(name),
"o",
SD_BUS_PARAM(image),
method_get_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetMachineByPID",
"u",
SD_BUS_PARAM(pid),
"o",
SD_BUS_PARAM(machine),
method_get_machine_by_pid,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListMachines",
NULL,,
"a(ssso)",
SD_BUS_PARAM(machines),
method_list_machines,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("ListImages",
NULL,,
"a(ssbttto)",
SD_BUS_PARAM(images),
method_list_images,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CreateMachine",
"sayssusa(sv)",
SD_BUS_PARAM(name)
SD_BUS_PARAM(id)
SD_BUS_PARAM(service)
SD_BUS_PARAM(class)
SD_BUS_PARAM(leader)
SD_BUS_PARAM(root_directory)
SD_BUS_PARAM(scope_properties),
"o",
SD_BUS_PARAM(path),
method_create_machine, 0),
SD_BUS_METHOD_WITH_NAMES("CreateMachineWithNetwork",
"sayssusaia(sv)",
SD_BUS_PARAM(name)
SD_BUS_PARAM(id)
SD_BUS_PARAM(service)
SD_BUS_PARAM(class)
SD_BUS_PARAM(leader)
SD_BUS_PARAM(root_directory)
SD_BUS_PARAM(ifindices)
SD_BUS_PARAM(scope_properties),
"o",
SD_BUS_PARAM(path),
method_create_machine_with_network, 0),
SD_BUS_METHOD_WITH_NAMES("RegisterMachine",
"sayssus",
SD_BUS_PARAM(name)
SD_BUS_PARAM(id)
SD_BUS_PARAM(service)
SD_BUS_PARAM(class)
SD_BUS_PARAM(leader)
SD_BUS_PARAM(root_directory),
"o",
SD_BUS_PARAM(path),
method_register_machine, 0),
SD_BUS_METHOD_WITH_NAMES("RegisterMachineWithNetwork",
"sayssusai",
SD_BUS_PARAM(name)
SD_BUS_PARAM(id)
SD_BUS_PARAM(service)
SD_BUS_PARAM(class)
SD_BUS_PARAM(leader)
SD_BUS_PARAM(root_directory)
SD_BUS_PARAM(ifindices),
"o",
SD_BUS_PARAM(path),
method_register_machine_with_network, 0),
SD_BUS_METHOD_WITH_NAMES("UnregisterMachine",
"s",
SD_BUS_PARAM(name),
NULL,,
method_unregister_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("TerminateMachine",
"s",
SD_BUS_PARAM(id),
NULL,,
method_terminate_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("KillMachine",
"ssi",
SD_BUS_PARAM(name)
SD_BUS_PARAM(who)
SD_BUS_PARAM(signal),
NULL,,
method_kill_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetMachineAddresses",
"s",
SD_BUS_PARAM(name),
"a(iay)",
SD_BUS_PARAM(addresses),
method_get_machine_addresses,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetMachineOSRelease",
"s",
SD_BUS_PARAM(name),
"a{ss}",
SD_BUS_PARAM(fields),
method_get_machine_os_release,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenMachinePTY",
"s",
SD_BUS_PARAM(name),
"hs",
SD_BUS_PARAM(pty)
SD_BUS_PARAM(pty_path),
method_open_machine_pty,
0),
SD_BUS_METHOD_WITH_NAMES("OpenMachineLogin",
"s",
SD_BUS_PARAM(name),
"hs",
SD_BUS_PARAM(pty)
SD_BUS_PARAM(pty_path),
method_open_machine_login,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenMachineShell",
"sssasas",
SD_BUS_PARAM(name)
SD_BUS_PARAM(user)
SD_BUS_PARAM(path)
SD_BUS_PARAM(args)
SD_BUS_PARAM(environment),
"hs",
SD_BUS_PARAM(pty)
SD_BUS_PARAM(pty_path),
method_open_machine_shell,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("BindMountMachine",
"sssbb",
SD_BUS_PARAM(name)
SD_BUS_PARAM(source)
SD_BUS_PARAM(destination)
SD_BUS_PARAM(read_only)
SD_BUS_PARAM(mkdir),
NULL,,
method_bind_mount_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CopyFromMachine",
"sss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(source)
SD_BUS_PARAM(destination),
NULL,,
method_copy_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CopyToMachine",
"sss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(source)
SD_BUS_PARAM(destination),
NULL,,
method_copy_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("OpenMachineRootDirectory",
"s",
SD_BUS_PARAM(name),
"h",
SD_BUS_PARAM(fd),
method_open_machine_root_directory,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetMachineUIDShift",
"s",
SD_BUS_PARAM(name),
"u",
SD_BUS_PARAM(shift),
method_get_machine_uid_shift,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("RemoveImage",
"s",
SD_BUS_PARAM(name),
NULL,,
method_remove_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("RenameImage",
"ss",
SD_BUS_PARAM(name)
SD_BUS_PARAM(new_name),
NULL,,
method_rename_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CloneImage",
"ssb",
SD_BUS_PARAM(name)
SD_BUS_PARAM(new_name)
SD_BUS_PARAM(read_only),
NULL,,
method_clone_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("MarkImageReadOnly",
"sb",
SD_BUS_PARAM(name)
SD_BUS_PARAM(read_only),
NULL,,
method_mark_image_read_only,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetImageHostname",
"s",
SD_BUS_PARAM(name),
"s",
SD_BUS_PARAM(hostname),
method_get_image_hostname,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetImageMachineID",
"s",
SD_BUS_PARAM(name),
"ay",
SD_BUS_PARAM(id),
method_get_image_machine_id,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetImageMachineInfo",
"s",
SD_BUS_PARAM(name),
"a{ss}",
SD_BUS_PARAM(machine_info),
method_get_image_machine_info,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("GetImageOSRelease",
"s",
SD_BUS_PARAM(name),
"a{ss}",
SD_BUS_PARAM(os_release),
method_get_image_os_release,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("SetPoolLimit",
"t",
SD_BUS_PARAM(size),
NULL,,
method_set_pool_limit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("SetImageLimit",
"st",
SD_BUS_PARAM(name)
SD_BUS_PARAM(size),
NULL,,
method_set_image_limit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("CleanPool",
"s",
SD_BUS_PARAM(mode),
"a(st)",
SD_BUS_PARAM(images),
method_clean_pool,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("MapFromMachineUser",
"su",
SD_BUS_PARAM(name)
SD_BUS_PARAM(uid_inner),
"u",
SD_BUS_PARAM(uid_outer),
method_map_from_machine_user,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("MapToMachineUser",
"u",
SD_BUS_PARAM(uid_outer),
"sou",
SD_BUS_PARAM(machine_name)
SD_BUS_PARAM(machine_path)
SD_BUS_PARAM(uid_inner),
method_map_to_machine_user,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("MapFromMachineGroup",
"su",
SD_BUS_PARAM(name)
SD_BUS_PARAM(gid_inner),
"u",
SD_BUS_PARAM(gid_outer),
method_map_from_machine_group,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_NAMES("MapToMachineGroup",
"u",
SD_BUS_PARAM(gid_outer),
"sou",
SD_BUS_PARAM(machine_name)
SD_BUS_PARAM(machine_path)
SD_BUS_PARAM(gid_inner),
method_map_to_machine_group,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetMachine",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("o", machine),
method_get_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetImage",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("o", image),
method_get_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetMachineByPID",
SD_BUS_ARGS("u", pid),
SD_BUS_RESULT("o", machine),
method_get_machine_by_pid,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("ListMachines",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("a(ssso)", machines),
method_list_machines,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("ListImages",
SD_BUS_NO_ARGS,
SD_BUS_RESULT("a(ssbttto)", images),
method_list_images,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CreateMachine",
SD_BUS_ARGS("s", name, "ay", id, "s", service, "s", class, "u", leader, "s", root_directory, "a(sv)", scope_properties),
SD_BUS_RESULT("o", path),
method_create_machine, 0),
SD_BUS_METHOD_WITH_ARGS("CreateMachineWithNetwork",
SD_BUS_ARGS("s", name, "ay", id, "s", service, "s", class, "u", leader, "s", root_directory, "ai", ifindices, "a(sv)", scope_properties),
SD_BUS_RESULT("o", path),
method_create_machine_with_network, 0),
SD_BUS_METHOD_WITH_ARGS("RegisterMachine",
SD_BUS_ARGS("s", name, "ay", id, "s", service, "s", class, "u", leader, "s", root_directory),
SD_BUS_RESULT("o", path),
method_register_machine, 0),
SD_BUS_METHOD_WITH_ARGS("RegisterMachineWithNetwork",
SD_BUS_ARGS("s", name, "ay", id, "s", service, "s", class, "u", leader, "s", root_directory, "ai", ifindices),
SD_BUS_RESULT("o", path),
method_register_machine_with_network, 0),
SD_BUS_METHOD_WITH_ARGS("UnregisterMachine",
SD_BUS_ARGS("s", name),
SD_BUS_NO_RESULT,
method_unregister_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("TerminateMachine",
SD_BUS_ARGS("s", id),
SD_BUS_NO_RESULT,
method_terminate_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("KillMachine",
SD_BUS_ARGS("s", name, "s", who, "i", signal),
SD_BUS_NO_RESULT,
method_kill_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetMachineAddresses",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("a(iay)", addresses),
method_get_machine_addresses,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetMachineOSRelease",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("a{ss}", fields),
method_get_machine_os_release,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenMachinePTY",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("h", pty, "s", pty_path),
method_open_machine_pty,
0),
SD_BUS_METHOD_WITH_ARGS("OpenMachineLogin",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("h", pty, "s", pty_path),
method_open_machine_login,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenMachineShell",
SD_BUS_ARGS("s", name, "s", user, "s", path, "as", args, "as", environment),
SD_BUS_RESULT("h", pty, "s", pty_path),
method_open_machine_shell,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("BindMountMachine",
SD_BUS_ARGS("s", name, "s", source, "s", destination, "b", read_only, "b", mkdir),
SD_BUS_NO_RESULT,
method_bind_mount_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CopyFromMachine",
SD_BUS_ARGS("s", name, "s", source, "s", destination),
SD_BUS_NO_RESULT,
method_copy_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CopyToMachine",
SD_BUS_ARGS("s", name, "s", source, "s", destination),
SD_BUS_NO_RESULT,
method_copy_machine,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("OpenMachineRootDirectory",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("h", fd),
method_open_machine_root_directory,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetMachineUIDShift",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("u", shift),
method_get_machine_uid_shift,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("RemoveImage",
SD_BUS_ARGS("s", name),
SD_BUS_NO_RESULT,
method_remove_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("RenameImage",
SD_BUS_ARGS("s", name, "s", new_name),
SD_BUS_NO_RESULT,
method_rename_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CloneImage",
SD_BUS_ARGS("s", name, "s", new_name, "b", read_only),
SD_BUS_NO_RESULT,
method_clone_image,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("MarkImageReadOnly",
SD_BUS_ARGS("s", name, "b", read_only),
SD_BUS_NO_RESULT,
method_mark_image_read_only,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetImageHostname",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("s", hostname),
method_get_image_hostname,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetImageMachineID",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("ay", id),
method_get_image_machine_id,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetImageMachineInfo",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("a{ss}", machine_info),
method_get_image_machine_info,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("GetImageOSRelease",
SD_BUS_ARGS("s", name),
SD_BUS_RESULT("a{ss}", os_release),
method_get_image_os_release,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("SetPoolLimit",
SD_BUS_ARGS("t", size),
SD_BUS_NO_RESULT,
method_set_pool_limit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("SetImageLimit",
SD_BUS_ARGS("s", name, "t", size),
SD_BUS_NO_RESULT,
method_set_image_limit,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("CleanPool",
SD_BUS_ARGS("s", mode),
SD_BUS_RESULT("a(st)",images),
method_clean_pool,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("MapFromMachineUser",
SD_BUS_ARGS("s", name, "u", uid_inner),
SD_BUS_RESULT("u", uid_outer),
method_map_from_machine_user,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("MapToMachineUser",
SD_BUS_ARGS("u", uid_outer),
SD_BUS_RESULT("s", machine_name, "o", machine_path, "u", uid_inner),
method_map_to_machine_user,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("MapFromMachineGroup",
SD_BUS_ARGS("s", name, "u", gid_inner),
SD_BUS_RESULT("u", gid_outer),
method_map_from_machine_group,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_METHOD_WITH_ARGS("MapToMachineGroup",
SD_BUS_ARGS("u", gid_outer),
SD_BUS_RESULT("s", machine_name, "o", machine_path, "u", gid_inner),
method_map_to_machine_group,
SD_BUS_VTABLE_UNPRIVILEGED),
SD_BUS_SIGNAL_WITH_NAMES("MachineNew",
"so",
SD_BUS_PARAM(machine)
SD_BUS_PARAM(path),
0),
SD_BUS_SIGNAL_WITH_NAMES("MachineRemoved",
"so",
SD_BUS_PARAM(machine)
SD_BUS_PARAM(path),
0),
SD_BUS_SIGNAL_WITH_ARGS("MachineNew",
SD_BUS_ARGS("s", machine, "o", path),
0),
SD_BUS_SIGNAL_WITH_ARGS("MachineRemoved",
SD_BUS_ARGS("s", machine, "o", path),
0),
SD_BUS_VTABLE_END
};