package obus
Pure Ocaml implementation of the D-Bus protocol
Install
Dune Dependency
Authors
Maintainers
Sources
obus-1.2.5.tar.gz
md5=81eb1034c6ef4421a2368a9b352199de
sha512=4b540497188a7d78f4f14f94c6b7fdff47dd06436a34e650ff378dd77bb3e2acb7afd45cd72daf4ddba06e732e9944d560c2882dc37862f1b1f1bb6df37e6205
doc/src/obus.udisks/uDisks.ml.html
Source file uDisks.ml
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
(* * uDisks.ml * --------- * Copyright : (c) 2010, Jeremie Dimino <jeremie@dimino.org> * Licence : BSD3 * * This file is a part of obus, an ocaml implementation of D-Bus. *) open Lwt (* +-----------------------------------------------------------------+ | Types | +-----------------------------------------------------------------+ *) type fs = { fs_id : string; fs_name : string; fs_supports_unix_owners : bool; fs_can_mount : bool; fs_can_create : bool; fs_max_label_len : int; fs_supports_label_rename : bool; fs_supports_online_label_rename : bool; fs_supports_fsck : bool; fs_supports_online_fsck : bool; fs_supports_resize_enlarge : bool; fs_supports_online_resize_enlarge : bool; fs_supports_resize_shrink : bool; fs_supports_online_resize_shrink : bool; } type job = { job_device : UDisks_device.t; job_in_progress : bool; job_is_cancellable : bool; job_id : string; job_num_tasks : int; job_cur_task : int; job_cur_task_id : string; job_cur_task_percentage : float; } (* +-----------------------------------------------------------------+ | Exceptions | +-----------------------------------------------------------------+ *) exception Busy exception Cancelled exception Failed exception Filesystem_driver_missing exception Filesystem_tools_missing exception Inhibited exception Invalid_option exception Not_found exception Not_supported exception Permission_denied let busy = "org.freedesktop.UDisks.Error.Busy" let cancelled = "org.freedesktop.UDisks.Error.Cancelled" let failed = "org.freedesktop.UDisks.Error.Failed" let filesystem_driver_missing = "org.freedesktop.UDisks.Error.FilesystemDriverMissing" let filesystem_tools_missing = "org.freedesktop.UDisks.Error.FilesystemToolsMissing" let inhibited = "org.freedesktop.UDisks.Error.Inhibited" let invalid_option = "org.freedesktop.UDisks.Error.InvalidOption" let not_found = "org.freedesktop.UDisks.Error.NotFound" let not_supported = "org.freedesktop.UDisks.Error.NotSupported" let permission_denied = "org.freedesktop.UDisks.Error.PermissionDenied" (* +-----------------------------------------------------------------+ | D-Bus definitions | +-----------------------------------------------------------------+ *) include OBus_peer.Private let daemon () = let%lwt bus = OBus_bus.system () in return (OBus_peer.make bus "org.freedesktop.UDisks") open UDisks_interfaces.Org_freedesktop_UDisks let proxy daemon = OBus_proxy.make daemon ["org"; "freedesktop"; "UDisks"] let make_device context path = UDisks_device.of_proxy (OBus_proxy.make (OBus_context.sender context) path) let make_adapter context path = UDisks_adapter.of_proxy (OBus_proxy.make (OBus_context.sender context) path) let make_expander context path = UDisks_expander.of_proxy (OBus_proxy.make (OBus_context.sender context) path) let make_port context path = UDisks_port.of_proxy (OBus_proxy.make (OBus_context.sender context) path) let enumerate_adapters daemon = let%lwt (context, devices) = OBus_method.call_with_context m_EnumerateAdapters (proxy daemon) () in return (List.map (make_adapter context) devices) let enumerate_expanders daemon = let%lwt (context, devices) = OBus_method.call_with_context m_EnumerateExpanders (proxy daemon) () in return (List.map (make_expander context) devices) let enumerate_ports daemon = let%lwt (context, devices) = OBus_method.call_with_context m_EnumeratePorts (proxy daemon) () in return (List.map (make_port context) devices) let enumerate_devices daemon = let%lwt (context, devices) = OBus_method.call_with_context m_EnumerateDevices (proxy daemon) () in return (List.map (make_device context) devices) let enumerate_device_files daemon = OBus_method.call m_EnumerateDeviceFiles (proxy daemon) () let find_device_by_device_file daemon ~device_file = let%lwt (context, device) = OBus_method.call_with_context m_FindDeviceByDeviceFile (proxy daemon) device_file in return (make_device context device) let find_device_by_major_minor daemon ~device_major ~device_minor = let%lwt (context, device) = OBus_method.call_with_context m_FindDeviceByMajorMinor (proxy daemon) (device_major, device_minor) in return (make_device context device) let drive_inhibit_all_polling daemon ~options = OBus_method.call m_DriveInhibitAllPolling (proxy daemon) options let drive_uninhibit_all_polling daemon ~ = OBus_method.call m_DriveUninhibitAllPolling (proxy daemon) cookie let drive_set_all_spindown_timeouts daemon ~timeout_seconds ~options = let timeout_seconds = Int32.of_int timeout_seconds in OBus_method.call m_DriveSetAllSpindownTimeouts (proxy daemon) (timeout_seconds, options) let drive_unset_all_spindown_timeouts daemon ~ = OBus_method.call m_DriveUnsetAllSpindownTimeouts (proxy daemon) cookie let linux_lvm2_vgstart daemon ~uuid ~options = OBus_method.call m_LinuxLvm2VGStart (proxy daemon) (uuid, options) let linux_lvm2_vgstop daemon ~uuid ~options = OBus_method.call m_LinuxLvm2VGStop (proxy daemon) (uuid, options) let linux_lvm2_vgset_name daemon ~uuid ~name = OBus_method.call m_LinuxLvm2VGSetName (proxy daemon) (uuid, name) let linux_lvm2_vgadd_pv daemon ~uuid ~physical_volume ~options = let physical_volume = OBus_proxy.path (UDisks_device.to_proxy physical_volume) in OBus_method.call m_LinuxLvm2VGAddPV (proxy daemon) (uuid, physical_volume, options) let linux_lvm2_vgremove_pv daemon ~vg_uuid ~pv_uuid ~options = OBus_method.call m_LinuxLvm2VGRemovePV (proxy daemon) (vg_uuid, pv_uuid, options) let linux_lvm2_lvset_name daemon ~group_uuid ~uuid ~name = OBus_method.call m_LinuxLvm2LVSetName (proxy daemon) (group_uuid, uuid, name) let linux_lvm2_lvstart daemon ~group_uuid ~uuid ~options = OBus_method.call m_LinuxLvm2LVStart (proxy daemon) (group_uuid, uuid, options) let linux_lvm2_lvremove daemon ~group_uuid ~uuid ~options = OBus_method.call m_LinuxLvm2LVRemove (proxy daemon) (group_uuid, uuid, options) let linux_lvm2_lvcreate daemon ~group_uuid ~name ~size ~num_stripes ~stripe_size ~num_mirrors ~options ~fstype ~fsoptions = let num_stripes = Int32.of_int num_stripes in let num_mirrors = Int32.of_int num_mirrors in let%lwt (context, created_device) = OBus_method.call_with_context m_LinuxLvm2LVCreate (proxy daemon) (group_uuid, name, size, num_stripes, stripe_size, num_mirrors, options, fstype, fsoptions) in return (make_device context created_device) let linux_md_start daemon ~components ~options = let components = List.map (fun c -> OBus_proxy.path (UDisks_device.to_proxy c)) components in let%lwt (context, device) = OBus_method.call_with_context m_LinuxMdStart (proxy daemon) (components, options) in return (make_device context device) let linux_md_create daemon ~components ~level ~stripe_size ~name ~options = let components = List.map (fun c -> OBus_proxy.path (UDisks_device.to_proxy c)) components in let%lwt (context, device) = OBus_method.call_with_context m_LinuxMdCreate (proxy daemon) (components, level, stripe_size, name, options) in return (make_device context device) let inhibit daemon = OBus_method.call m_Inhibit (proxy daemon) () let uninhibit daemon ~ = OBus_method.call m_Uninhibit (proxy daemon) cookie let device_added daemon = OBus_signal.map_with_context make_device (OBus_signal.make s_DeviceAdded (proxy daemon)) let device_removed daemon = OBus_signal.map_with_context make_device (OBus_signal.make s_DeviceRemoved (proxy daemon)) let device_changed daemon = OBus_signal.map_with_context make_device (OBus_signal.make s_DeviceChanged (proxy daemon)) let device_job_changed daemon = OBus_signal.map_with_context (fun context (device, job_in_progress, job_is_cancellable, job_id, job_num_tasks, job_cur_task, job_cur_task_id, job_cur_task_percentage) -> { job_device = make_device context device; job_in_progress = job_in_progress; job_is_cancellable = job_is_cancellable; job_id = job_id; job_num_tasks = Int32.to_int job_num_tasks; job_cur_task = Int32.to_int job_cur_task; job_cur_task_id = job_cur_task_id; job_cur_task_percentage = job_cur_task_percentage; }) (OBus_signal.make s_DeviceJobChanged (proxy daemon)) let adapter_added daemon = OBus_signal.map_with_context make_adapter (OBus_signal.make s_AdapterAdded (proxy daemon)) let adapter_removed daemon = OBus_signal.map_with_context make_adapter (OBus_signal.make s_AdapterRemoved (proxy daemon)) let adapter_changed daemon = OBus_signal.map_with_context make_adapter (OBus_signal.make s_AdapterChanged (proxy daemon)) let expander_added daemon = OBus_signal.map_with_context make_expander (OBus_signal.make s_ExpanderAdded (proxy daemon)) let expander_removed daemon = OBus_signal.map_with_context make_expander (OBus_signal.make s_ExpanderRemoved (proxy daemon)) let expander_changed daemon = OBus_signal.map_with_context make_expander (OBus_signal.make s_ExpanderChanged (proxy daemon)) let port_added daemon = OBus_signal.map_with_context make_port (OBus_signal.make s_PortAdded (proxy daemon)) let port_removed daemon = OBus_signal.map_with_context make_port (OBus_signal.make s_PortRemoved (proxy daemon)) let port_changed daemon = OBus_signal.map_with_context make_port (OBus_signal.make s_PortChanged (proxy daemon)) let daemon_version daemon = OBus_property.make p_DaemonVersion (proxy daemon) let daemon_is_inhibited daemon = OBus_property.make p_DaemonIsInhibited (proxy daemon) let supports_luks_devices daemon = OBus_property.make p_SupportsLuksDevices (proxy daemon) let known_filesystems daemon = OBus_property.map_r (fun l -> List.map (fun (x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14) -> { fs_id = x1; fs_name = x2; fs_supports_unix_owners = x3; fs_can_mount = x4; fs_can_create = x5; fs_max_label_len = Int32.to_int x6; fs_supports_label_rename = x7; fs_supports_online_label_rename = x8; fs_supports_fsck = x9; fs_supports_online_fsck = x10; fs_supports_resize_enlarge = x11; fs_supports_online_resize_enlarge = x12; fs_supports_resize_shrink = x13; fs_supports_online_resize_shrink = x14; }) l) (OBus_property.make p_KnownFilesystems (proxy daemon)) type properties = { known_filesystems : fs list; supports_luks_devices : bool; daemon_is_inhibited : bool; daemon_version : string; } let properties daemon = OBus_property.group (proxy daemon) interface
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>