// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.System.Power.idl"; // Forward Declare namespace Windows { namespace Foundation { apicontract UniversalApiContract; } } namespace Windows { namespace System { namespace Power { typedef enum BatteryStatus BatteryStatus; } } } namespace Windows { namespace Devices { namespace Power { interface IBattery; interface IBatteryReport; interface IBatteryStatics; runtimeclass Battery; runtimeclass BatteryReport; } } } // Generic instantiations namespace Windows { namespace Devices { namespace Power { declare { interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.TypedEventHandler; } } } } // Type definition namespace Windows { namespace Devices { namespace Power { [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Devices.Power.Battery)] [uuid(BC894FC6-0072-47C8-8B5D-614AAA7A437E)] interface IBattery : IInspectable { [propget] HRESULT DeviceId([out] [retval] HSTRING* value); HRESULT GetReport([out] [retval] Windows.Devices.Power.BatteryReport** result); [eventadd] HRESULT ReportUpdated([in] Windows.Foundation.TypedEventHandler* handler, [out] [retval] EventRegistrationToken* token); [eventremove] HRESULT ReportUpdated([in] EventRegistrationToken token); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Devices.Power.BatteryReport)] [uuid(C9858C3A-4E13-420A-A8D0-24F18F395401)] interface IBatteryReport : IInspectable { [propget] HRESULT ChargeRateInMilliwatts([out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT DesignCapacityInMilliwattHours([out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT FullChargeCapacityInMilliwattHours([out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT RemainingCapacityInMilliwattHours([out] [retval] Windows.Foundation.IReference** value); [propget] HRESULT Status([out] [retval] Windows.System.Power.BatteryStatus* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Devices.Power.Battery)] [uuid(79CD72B6-9E5E-4452-BEA6-DFCD541E597F)] interface IBatteryStatics : IInspectable { [propget] HRESULT AggregateBattery([out] [retval] Windows.Devices.Power.Battery** result); HRESULT FromIdAsync([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation** result); HRESULT GetDeviceSelector([out] [retval] HSTRING* result); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Devices.Power.IBatteryStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass Battery { [default] interface Windows.Devices.Power.IBattery; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass BatteryReport { [default] interface Windows.Devices.Power.IBatteryReport; } } } }