Add ability to detect power supply source on Windows.
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
<Reference Include="FasterHashing">
|
||||
<HintPath>..\..\..\packages\FasterHashing.1.2.1\lib\net45\FasterHashing.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="AsyncHttpRequest.cs" />
|
||||
@@ -80,6 +81,7 @@
|
||||
<Compile Include="Power\IPowerSupplyState.cs" />
|
||||
<Compile Include="Power\DefaultPowerSupplyState.cs" />
|
||||
<Compile Include="Power\LinuxPowerSupplyState.cs" />
|
||||
<Compile Include="Power\WindowsPowerSupplyState.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
|
||||
@@ -39,6 +39,10 @@ namespace Duplicati.Library.Utility.Power
|
||||
{
|
||||
state = new LinuxPowerSupplyState();
|
||||
}
|
||||
else if (Utility.IsClientWindows)
|
||||
{
|
||||
state = new WindowsPowerSupplyState();
|
||||
}
|
||||
else
|
||||
{
|
||||
state = new DefaultPowerSupplyState();
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
// Copyright (C) 2017, The Duplicati Team
|
||||
// http://www.duplicati.com, info@duplicati.com
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as
|
||||
// published by the Free Software Foundation; either version 2.1 of the
|
||||
// License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful, but
|
||||
// WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Duplicati.Library.Utility.Power
|
||||
{
|
||||
public class WindowsPowerSupplyState : IPowerSupplyState
|
||||
{
|
||||
public PowerSupply.Source GetSource()
|
||||
{
|
||||
try
|
||||
{
|
||||
PowerLineStatus status = System.Windows.Forms.SystemInformation.PowerStatus.PowerLineStatus;
|
||||
if (status == PowerLineStatus.Online)
|
||||
{
|
||||
return PowerSupply.Source.AC;
|
||||
}
|
||||
if (status == PowerLineStatus.Offline)
|
||||
{
|
||||
return PowerSupply.Source.Battery;
|
||||
}
|
||||
|
||||
return PowerSupply.Source.Unknown;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return PowerSupply.Source.Unknown;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user