using System; using NDesk.DBus; namespace NDesk.NetworkManager { public enum ManagerState : uint { Unknown = 0, Asleep, Connecting, Connected, Disconnected, } public delegate void StateChangeHandler (Device value); [Interface("org.freedesktop.NetworkManager")] public interface Manager { /* Unsupported methods: getDialup activateDialup createWirelessNetwork createTestDevice removeTestDevice */ Device[] getDevices (); Device getActiveDevice (); void setActiveDevice (Device value); void setActiveDevice (Device value, string essid); ManagerState state (); void sleep (); void wake (); bool getWirelessEnabled (); void setWirelessEnabled (bool enabled); //TODO: use the correct args for these signals event StateChangeHandler DeviceNoLongerActive; event StateChangeHandler DeviceNowActive; event StateChangeHandler DeviceActivating; event StateChangeHandler DeviceActivationStage; event StateChangeHandler DevicesChanged; event StateChangeHandler DeviceIP4AddressChange; event StateChangeHandler WirelessNetworkDisappeared; event StateChangeHandler WirelessNetworkAppeared; event StateChangeHandler WirelessNetworkStrengthChanged; event StateChangeHandler StateChange; } public enum DeviceType : int { Unknown, Wired, Wireless, } [Interface("org.freedesktop.NetworkManager.Devices")] public interface Device { /* Unsupported methods: getProperties setLinkActive getCapabilities */ string getName (); DeviceType getType (); uint getMode (); string getHalUdi (); uint getIP4Address (); string getHWAddress (); bool getLinkActive (); Network getActiveNetwork (); Network[] getNetworks (); } }