Esempio n. 1
0
        public void Initialize()
        {
            // Set a sane default value for on_battery.  Thus, if we don't find a working power manager
            // we assume we're not on battery.
            on_battery = false;
            try {
                BusG.Init();
                if (Bus.System.NameHasOwner(DeviceKitPowerName))
                {
                    devicekit            = Bus.System.GetObject <IDeviceKitPower> (DeviceKitPowerName, new ObjectPath(DeviceKitPowerPath));
                    devicekit.OnChanged += DeviceKitOnChanged;
                    on_battery           = (bool)devicekit.Get(DeviceKitPowerName, "on-battery");
                    Log <SystemService> .Debug("Using org.freedesktop.DeviceKit.Power for battery information");
                }
                else if (Bus.Session.NameHasOwner(PowerManagementName))
                {
                    power = Bus.Session.GetObject <IPowerManagement> (PowerManagementName, new ObjectPath(PowerManagementPath));
                    power.OnBatteryChanged += PowerOnBatteryChanged;
                    on_battery              = power.GetOnBattery();
                    Log <SystemService> .Debug("Using org.freedesktop.PowerManager for battery information");
                }
            } catch (Exception e) {
                Log <SystemService> .Error("Could not initialize dbus: {0}", e.Message);

                Log <SystemService> .Debug(e.StackTrace);
            }
        }
Esempio n. 2
0
        void InitializeBattery()
        {
            // Set a sane default value for on_battery.  Thus, if we don't find a working power manager
            // we assume we're not on battery.
            on_battery = false;
            try {
                if (Bus.System.NameHasOwner(UPowerName))
                {
                    upower          = Bus.System.GetObject <IUPower> (UPowerName, new ObjectPath(UPowerPath));
                    upower.Changed += HandleUPowerChanged;
                    HandleUPowerChanged();
                    Log <SystemService> .Debug("Using org.freedesktop.UPower for battery information");
                }
                else if (Bus.System.NameHasOwner(DeviceKitPowerName))
                {
                    devicekit          = Bus.System.GetObject <IDeviceKitPower> (DeviceKitPowerName, new ObjectPath(DeviceKitPowerPath));
                    devicekit.Changed += HandleDeviceKitChanged;
                    HandleDeviceKitChanged();
                    Log <SystemService> .Debug("Using org.freedesktop.DeviceKit.Power for battery information");
                }
                else if (Bus.Session.NameHasOwner(PowerManagementName))
                {
                    power = Bus.Session.GetObject <IPowerManagement> (PowerManagementName, new ObjectPath(PowerManagementPath));
                    power.OnBatteryChanged += PowerOnBatteryChanged;
                    on_battery              = power.GetOnBattery();
                    Log <SystemService> .Debug("Using org.freedesktop.PowerManager for battery information");
                }
            } catch (Exception e) {
                Log <SystemService> .Error("Could not initialize power manager dbus: '{0}'", e.Message);

                Log <SystemService> .Info(e.StackTrace);
            }
        }