1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253(*
* uPower_wakeups.ml
* -----------------
* Copyright : (c) 2010, Jeremie Dimino <jeremie@dimino.org>
* Licence : BSD3
*
* This file is a part of obus, an ocaml implementation of D-Bus.
*)openLwttypedata={data_is_userspace:bool;data_id:int;data_value:float;data_cmdline:stringoption;data_details:string;}openUPower_interfaces.Org_freedesktop_UPower_Wakeupsletproxydaemon=OBus_proxy.make(UPower.to_peerdaemon)["org";"freedesktop";"UPower";"Wakeups"]lethas_capabilitydaemon=OBus_property.makep_HasCapability(proxydaemon)letget_totaldaemon=let%lwtvalue=OBus_method.callm_GetTotal(proxydaemon)()inletvalue=Int32.to_intvalueinreturnvaluelettotal_changeddaemon=OBus_signal.map(funvalue->letvalue=Int32.to_intvalueinvalue)(OBus_signal.makes_TotalChanged(proxydaemon))letget_datadaemon=let%lwtdata=OBus_method.callm_GetData(proxydaemon)()inreturn(List.map(fun(is_userspace,id,value,cmdline,details)->{data_is_userspace=is_userspace;data_id=Int32.to_intid;data_value=value;data_cmdline=ifcmdline=""thenNoneelseSomecmdline;data_details=details;})data)letdata_changeddaemon=OBus_signal.makes_DataChanged(proxydaemon)