package obus
Pure Ocaml implementation of the D-Bus protocol
Install
Dune Dependency
Authors
Maintainers
Sources
1.2.3.tar.gz
sha256=75703f78015e15d03d0fdba1633a155875daf17d854225658429e72a0df06258
md5=3090a796f0af95e16838d81656ac4b97
doc/src/obus.network_manager/nm_manager.ml.html
Source file nm_manager.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
(* * nm_manager.ml * ------------- * Copyright : (c) 2010, Pierre Chambart <chambart@crans.org> * 2010, Jeremie Dimino <jeremie@dimino.org> * Licence : BSD3 * * This file is a part of obus, an ocaml implementation of D-Bus. *) open Lwt let section = Lwt_log.Section.make "network-manager" include OBus_peer.Private let daemon () = let%lwt bus = OBus_bus.system () in Lwt.return (OBus_peer.make bus "org.freedesktop.NetworkManager") (* +-----------------------------------------------------------------+ | Types | +-----------------------------------------------------------------+ *) type state = [ `Unknown | `Asleep | `Connecting | `Connected | `Disconnected ] let state_of_int32 = function | 0l -> `Unknown | 1l -> `Asleep | 2l -> `Connecting | 3l -> `Connected | 4l -> `Disconnected | i -> ignore (Lwt_log.warning_f ~section "Nm_manager.state_of_int32: unknown state: %ld" i); `Unknown (* +-----------------------------------------------------------------+ | D-Bus definitions | +-----------------------------------------------------------------+ *) let proxy daemon = OBus_proxy.make daemon ["org"; "freedesktop"; "NetworkManager"] open Nm_interfaces.Org_freedesktop_NetworkManager let get_devices daemon = let%lwt (context, devices) = OBus_method.call_with_context m_GetDevices (proxy daemon) () in return ( List.map (fun path -> Nm_device.of_proxy (OBus_proxy.make (OBus_context.sender context) path)) devices ) let activate_connection daemon ~service_name ~connection ~device ~specific_object = let connection = OBus_proxy.path (Nm_settings.Connection.to_proxy connection) in let device = OBus_proxy.path (Nm_device.to_proxy device) in let specific_object = OBus_proxy.path specific_object in let%lwt (context, active_connection) = OBus_method.call_with_context m_ActivateConnection (proxy daemon) (service_name, connection, device, specific_object) in return ( Nm_connection.of_proxy (OBus_proxy.make (OBus_context.sender context) active_connection) ) let deactivate_connection daemon ~active_connection = let active_connection = OBus_proxy.path (Nm_connection.to_proxy active_connection) in OBus_method.call m_DeactivateConnection (proxy daemon) active_connection let sleep daemon ~sleep = OBus_method.call m_Sleep (proxy daemon) sleep let wireless_enabled daemon = OBus_property.make ~monitor:Nm_monitor.monitor p_WirelessEnabled (proxy daemon) let wireless_hardware_enabled daemon = OBus_property.make ~monitor:Nm_monitor.monitor p_WirelessHardwareEnabled (proxy daemon) let wwan_enabled daemon = OBus_property.make ~monitor:Nm_monitor.monitor p_WwanEnabled (proxy daemon) let wwan_hardware_enabled daemon = OBus_property.make ~monitor:Nm_monitor.monitor p_WwanHardwareEnabled (proxy daemon) let active_connections daemon = OBus_property.map_r_with_context (fun context paths -> List.map (fun path -> Nm_connection.of_proxy (OBus_proxy.make (OBus_context.sender context) path)) paths) (OBus_property.make ~monitor:Nm_monitor.monitor p_ActiveConnections (proxy daemon)) let state daemon = OBus_property.map_r state_of_int32 (OBus_property.make ~monitor:Nm_monitor.monitor p_State (proxy daemon)) let state_changed daemon = OBus_signal.map state_of_int32 (OBus_signal.make s_StateChanged (proxy daemon)) let properties_changed daemon = OBus_signal.make s_PropertiesChanged (proxy daemon) let device_added daemon = OBus_signal.map_with_context (fun context state -> Nm_device.of_proxy (OBus_proxy.make (OBus_context.sender context) state)) (OBus_signal.make s_DeviceAdded (proxy daemon)) let device_removed daemon = OBus_signal.map_with_context (fun context state -> Nm_device.of_proxy (OBus_proxy.make (OBus_context.sender context) state)) (OBus_signal.make s_DeviceRemoved (proxy daemon)) let properties daemon = OBus_property.group ~monitor:Nm_monitor.monitor (proxy daemon) interface
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>