//
// Copyright (c) Microsoft Corporation. All rights reserved.
// 
//
// File generated by WinMDIDL version 8.00.0009
//

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
// Additional imports to ensure that all required headers are included
cpp_quote("#if defined(__cplusplus)")
cpp_quote("}")
cpp_quote("#endif // defined(__cplusplus)")
cpp_quote("#include <Windows.Foundation.h>")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Foundation
    {
        typedef struct TimeSpan TimeSpan;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Background
        {
            typedef enum AlarmAccessStatus AlarmAccessStatus;

            typedef enum BackgroundAccessStatus BackgroundAccessStatus;

            typedef enum BackgroundWorkCostValue BackgroundWorkCostValue;

            typedef enum BackgroundTaskCancellationReason BackgroundTaskCancellationReason;

            typedef enum BackgroundTaskThrottleCounter BackgroundTaskThrottleCounter;

            typedef enum SystemTriggerType SystemTriggerType;

            typedef enum SystemConditionType SystemConditionType;

            typedef enum DeviceTriggerResult DeviceTriggerResult;

            typedef enum LocationTriggerType LocationTriggerType;

            delegate BackgroundTaskCanceledEventHandler;

            delegate BackgroundTaskProgressEventHandler;

            delegate BackgroundTaskCompletedEventHandler;

            interface IAlarmApplicationManagerStatics;

            interface IBackgroundExecutionManagerStatics;

            interface IBackgroundTaskInstance;

            interface IBackgroundWorkCostStatics;

            interface IBackgroundTaskDeferral;

            interface IBackgroundTaskInstance2;

            interface IBackgroundTask;

            interface IBackgroundTaskRegistration;

            interface IBackgroundTaskRegistrationStatics;

            interface IBackgroundTaskBuilder;

            interface IBackgroundTrigger;

            interface IBackgroundCondition;

            interface IBackgroundTaskBuilder2;

            interface IBackgroundTaskCompletedEventArgs;

            interface IBackgroundTaskProgressEventArgs;

            interface ISystemTrigger;

            interface ISystemTriggerFactory;

            interface ISystemCondition;

            interface ISystemConditionFactory;

            interface INetworkOperatorNotificationTrigger;

            interface INetworkOperatorNotificationTriggerFactory;

            interface ITimeTrigger;

            interface ITimeTriggerFactory;

            interface IMaintenanceTrigger;

            interface IMaintenanceTriggerFactory;

            interface IDeviceUseTrigger;

            interface IDeviceServicingTrigger;

            interface ILocationTrigger;

            interface ILocationTriggerFactory;

            interface INetworkOperatorHotspotAuthenticationTrigger;

            interface IPushNotificationTriggerFactory;

            runtimeclass AlarmApplicationManager;

            runtimeclass BackgroundExecutionManager;

            runtimeclass BackgroundTaskRegistration;

            runtimeclass BackgroundTaskDeferral;

            runtimeclass BackgroundTaskProgressEventArgs;

            runtimeclass BackgroundTaskCompletedEventArgs;

            runtimeclass BackgroundTaskBuilder;

            runtimeclass BackgroundWorkCost;

            runtimeclass SystemTrigger;

            runtimeclass SystemCondition;

            runtimeclass NetworkOperatorNotificationTrigger;

            runtimeclass TimeTrigger;

            runtimeclass MaintenanceTrigger;

            runtimeclass DeviceUseTrigger;

            runtimeclass DeviceServicingTrigger;

            runtimeclass LocationTrigger;

            runtimeclass NetworkOperatorHotspotAuthenticationTrigger;

            runtimeclass PushNotificationTrigger;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Background
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Foundation.Collections.IKeyValuePair<GUID, Windows.ApplicationModel.Background.IBackgroundTaskRegistration*>*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Foundation.Collections.IKeyValuePair<GUID, Windows.ApplicationModel.Background.IBackgroundTaskRegistration*>*>;

                interface Windows.Foundation.Collections.IKeyValuePair<GUID, Windows.ApplicationModel.Background.IBackgroundTaskRegistration*>;

                interface Windows.Foundation.Collections.IMapView<GUID, Windows.ApplicationModel.Background.IBackgroundTaskRegistration*>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.AlarmAccessStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.BackgroundAccessStatus>;

                interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.DeviceTriggerResult>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Background
        {
            [version(0x06030000)]
            enum AlarmAccessStatus
            {
                Unspecified                    = 0,
                AllowedWithWakeupCapability    = 1,
                AllowedWithoutWakeupCapability = 2,
                Denied                         = 3
            };

            [version(0x06020000)]
            enum BackgroundAccessStatus
            {
                Unspecified                             = 0,
                AllowedWithAlwaysOnRealTimeConnectivity = 1,
                AllowedMayUseActiveRealTimeConnectivity = 2,
                Denied                                  = 3
            };

            [version(0x06030000)]
            enum BackgroundWorkCostValue
            {
                Low    = 0,
                Medium = 1,
                High   = 2
            };

            [version(0x06020000)]
            enum BackgroundTaskCancellationReason
            {
                Abort             = 0,
                Terminating       = 1,
                LoggingOff        = 2,
                ServicingUpdate   = 3,
                [version(0x06030000)]
                IdleTask          = 4,
                [version(0x06030000)]
                Uninstall         = 5,
                [version(0x06030000)]
                ConditionLoss     = 6,
                [version(0x06030000)]
                SystemPolicy      = 7,
                [version(0x06030000)]
                QuietHoursEntered = 8
            };

            [version(0x06030000)]
            enum BackgroundTaskThrottleCounter
            {
                All     = 0,
                Cpu     = 1,
                Network = 2
            };

            [version(0x06020000)]
            enum SystemTriggerType
            {
                Invalid                      = 0,
                SmsReceived                  = 1,
                UserPresent                  = 2,
                UserAway                     = 3,
                NetworkStateChange           = 4,
                ControlChannelReset          = 5,
                InternetAvailable            = 6,
                SessionConnected             = 7,
                ServicingComplete            = 8,
                LockScreenApplicationAdded   = 9,
                LockScreenApplicationRemoved = 10,
                TimeZoneChange               = 11,
                OnlineIdConnectedStateChange = 12,
                [version(0x06030000)]
                BackgroundWorkCostChange     = 13
            };

            [version(0x06020000)]
            enum SystemConditionType
            {
                Invalid                   = 0,
                UserPresent               = 1,
                UserNotPresent            = 2,
                InternetAvailable         = 3,
                InternetNotAvailable      = 4,
                SessionConnected          = 5,
                SessionDisconnected       = 6,
                [version(0x06030000)]
                FreeNetworkAvailable      = 7,
                [version(0x06030000)]
                BackgroundWorkCostNotHigh = 8
            };

            [version(0x06030000)]
            enum DeviceTriggerResult
            {
                Allowed        = 0,
                DeniedByUser   = 1,
                DeniedBySystem = 2,
                LowBattery     = 3
            };

            [version(0x06030000)]
            enum LocationTriggerType
            {
                Geofence = 0
            };

            [uuid(A6C4BAC0-51F8-4C57-AC3F-156DD1680C4F)]
            [version(0x06020000)]
            delegate
                HRESULT BackgroundTaskCanceledEventHandler([in] Windows.ApplicationModel.Background.IBackgroundTaskInstance* sender, [in] Windows.ApplicationModel.Background.BackgroundTaskCancellationReason reason);

            [uuid(46E0683C-8A88-4C99-804C-76897F6277A6)]
            [version(0x06020000)]
            delegate
                HRESULT BackgroundTaskProgressEventHandler([in] Windows.ApplicationModel.Background.BackgroundTaskRegistration* sender, [in] Windows.ApplicationModel.Background.BackgroundTaskProgressEventArgs* args);

            [uuid(5B38E929-A086-46A7-A678-439135822BCF)]
            [version(0x06020000)]
            delegate
                HRESULT BackgroundTaskCompletedEventHandler([in] Windows.ApplicationModel.Background.BackgroundTaskRegistration* sender, [in] Windows.ApplicationModel.Background.BackgroundTaskCompletedEventArgs* args);

            [exclusiveto(Windows.ApplicationModel.Background.AlarmApplicationManager)]
            [uuid(CA03FA3B-CCE6-4DE2-B09B-9628BD33BBBE)]
            [version(0x06030000)]
            interface IAlarmApplicationManagerStatics : IInspectable
            {
                [overload("RequestAccessAsync")] HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.AlarmAccessStatus>** operation);
                [overload("GetAccessStatus")] HRESULT GetAccessStatus([out] [retval] Windows.ApplicationModel.Background.AlarmAccessStatus* status);
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundExecutionManager)]
            [uuid(E826EA58-66A9-4D41-83D4-B4C18C87B846)]
            [version(0x06020000)]
            interface IBackgroundExecutionManagerStatics : IInspectable
            {
                [overload("RequestAccessAsync")] HRESULT RequestAccessAsync([out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.BackgroundAccessStatus>** operation);
                [overload("RequestAccessAsync")] HRESULT RequestAccessForApplicationAsync([in] HSTRING applicationId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.BackgroundAccessStatus>** operation);
                [overload("RemoveAccess")] HRESULT RemoveAccess();
                [overload("RemoveAccess")] HRESULT RemoveAccessForApplication([in] HSTRING applicationId);
                [overload("GetAccessStatus")] HRESULT GetAccessStatus([out] [retval] Windows.ApplicationModel.Background.BackgroundAccessStatus* status);
                [overload("GetAccessStatus")] HRESULT GetAccessStatusForApplication([in] HSTRING applicationId, [out] [retval] Windows.ApplicationModel.Background.BackgroundAccessStatus* status);
            }

            [uuid(865BDA7A-21D8-4573-8F32-928A1B0641F6)]
            [version(0x06020000)]
            interface IBackgroundTaskInstance : IInspectable
            {
                [propget] HRESULT InstanceId([out] [retval] GUID* value);
                [propget] HRESULT Task([out] [retval] Windows.ApplicationModel.Background.BackgroundTaskRegistration** task);
                [propget] HRESULT Progress([out] [retval] UINT32* value);
                [propput] HRESULT Progress([in] UINT32 value);
                [propget] HRESULT TriggerDetails([out] [retval] IInspectable** triggerDetails);
                [eventadd] HRESULT Canceled([in] Windows.ApplicationModel.Background.BackgroundTaskCanceledEventHandler* cancelHandler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT Canceled([in] EventRegistrationToken cookie);
                [propget] HRESULT SuspendedCount([out] [retval] UINT32* value);
                HRESULT GetDeferral([out] [retval] Windows.ApplicationModel.Background.BackgroundTaskDeferral** deferral);
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundWorkCost)]
            [uuid(C740A662-C310-4B82-B3E3-3BCFB9E4C77D)]
            [version(0x06030000)]
            interface IBackgroundWorkCostStatics : IInspectable
            {
                [propget] HRESULT CurrentBackgroundWorkCost([out] [retval] Windows.ApplicationModel.Background.BackgroundWorkCostValue* value);
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundTaskDeferral)]
            [uuid(93CC156D-AF27-4DD3-846E-24EE40CADD25)]
            [version(0x06020000)]
            interface IBackgroundTaskDeferral : IInspectable
            {
                HRESULT Complete();
            }

            [uuid(4F7D0176-0C76-4FB4-896D-5DE1864122F6)]
            [version(0x06030000)]
            interface IBackgroundTaskInstance2 : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTaskInstance
            {
                HRESULT GetThrottleCount([in] Windows.ApplicationModel.Background.BackgroundTaskThrottleCounter counter, [out] [retval] UINT32* value);
            }

            [uuid(7D13D534-FD12-43CE-8C22-EA1FF13C06DF)]
            [version(0x06020000)]
            interface IBackgroundTask : IInspectable
            {
                HRESULT Run([in] Windows.ApplicationModel.Background.IBackgroundTaskInstance* taskInstance);
            }

            [uuid(10654CC2-A26E-43BF-8C12-1FB40DBFBFA0)]
            [version(0x06020000)]
            interface IBackgroundTaskRegistration : IInspectable
            {
                [propget] HRESULT TaskId([out] [retval] GUID* value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [eventadd] HRESULT Progress([in] Windows.ApplicationModel.Background.BackgroundTaskProgressEventHandler* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT Progress([in] EventRegistrationToken cookie);
                [eventadd] HRESULT Completed([in] Windows.ApplicationModel.Background.BackgroundTaskCompletedEventHandler* handler, [out] [retval] EventRegistrationToken* cookie);
                [eventremove] HRESULT Completed([in] EventRegistrationToken cookie);
                HRESULT Unregister([in] boolean cancelTask);
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundTaskRegistration)]
            [uuid(4C542F69-B000-42BA-A093-6A563C65E3F8)]
            [version(0x06020000)]
            interface IBackgroundTaskRegistrationStatics : IInspectable
            {
                [propget] HRESULT AllTasks([out] [retval] Windows.Foundation.Collections.IMapView<GUID, Windows.ApplicationModel.Background.IBackgroundTaskRegistration*>** tasks);
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundTaskBuilder)]
            [uuid(0351550E-3E64-4572-A93A-84075A37C917)]
            [version(0x06020000)]
            interface IBackgroundTaskBuilder : IInspectable
            {
                [propput] HRESULT TaskEntryPoint([in] HSTRING value);
                [propget] HRESULT TaskEntryPoint([out] [retval] HSTRING* value);
                HRESULT SetTrigger([in] Windows.ApplicationModel.Background.IBackgroundTrigger* trigger);
                HRESULT AddCondition([in] Windows.ApplicationModel.Background.IBackgroundCondition* condition);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                HRESULT Register([out] [retval] Windows.ApplicationModel.Background.BackgroundTaskRegistration** task);
            }

            [uuid(84B3A058-6027-4B87-9790-BDF3F757DBD7)]
            [version(0x06020000)]
            interface IBackgroundTrigger : IInspectable
            {
            }

            [uuid(AE48A1EE-8951-400A-8302-9C9C9A2A3A3B)]
            [version(0x06020000)]
            interface IBackgroundCondition : IInspectable
            {
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundTaskBuilder)]
            [uuid(6AE7CFB1-104F-406D-8DB6-844A570F42BB)]
            [version(0x06030000)]
            interface IBackgroundTaskBuilder2 : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTaskBuilder
            {
                [propput] HRESULT CancelOnConditionLoss([in] boolean value);
                [propget] HRESULT CancelOnConditionLoss([out] [retval] boolean* value);
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundTaskCompletedEventArgs)]
            [uuid(565D25CF-F209-48F4-9967-2B184F7BFBF0)]
            [version(0x06020000)]
            interface IBackgroundTaskCompletedEventArgs : IInspectable
            {
                [propget] HRESULT InstanceId([out] [retval] GUID* value);
                HRESULT CheckResult();
            }

            [exclusiveto(Windows.ApplicationModel.Background.BackgroundTaskProgressEventArgs)]
            [uuid(FB1468AC-8332-4D0A-9532-03EAE684DA31)]
            [version(0x06020000)]
            interface IBackgroundTaskProgressEventArgs : IInspectable
            {
                [propget] HRESULT InstanceId([out] [retval] GUID* value);
                [propget] HRESULT Progress([out] [retval] UINT32* value);
            }

            [exclusiveto(Windows.ApplicationModel.Background.SystemTrigger)]
            [uuid(1D80C776-3748-4463-8D7E-276DC139AC1C)]
            [version(0x06020000)]
            interface ISystemTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [propget] HRESULT OneShot([out] [retval] boolean* oneShot);
                [propget] HRESULT TriggerType([out] [retval] Windows.ApplicationModel.Background.SystemTriggerType* triggerType);
            }

            [exclusiveto(Windows.ApplicationModel.Background.SystemTrigger)]
            [uuid(E80423D4-8791-4579-8126-87EC8AAA407A)]
            [version(0x06020000)]
            interface ISystemTriggerFactory : IInspectable
            {
                HRESULT Create([in] Windows.ApplicationModel.Background.SystemTriggerType triggerType, [in] boolean oneShot, [out] [retval] Windows.ApplicationModel.Background.SystemTrigger** trigger);
            }

            [exclusiveto(Windows.ApplicationModel.Background.SystemCondition)]
            [uuid(C15FB476-89C5-420B-ABD3-FB3030472128)]
            [version(0x06020000)]
            interface ISystemCondition : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundCondition
            {
                [propget] HRESULT ConditionType([out] [retval] Windows.ApplicationModel.Background.SystemConditionType* conditionType);
            }

            [exclusiveto(Windows.ApplicationModel.Background.SystemCondition)]
            [uuid(D269D1F1-05A7-49AE-87D7-16B2B8B9A553)]
            [version(0x06020000)]
            interface ISystemConditionFactory : IInspectable
            {
                HRESULT Create([in] Windows.ApplicationModel.Background.SystemConditionType conditionType, [out] [retval] Windows.ApplicationModel.Background.SystemCondition** condition);
            }

            [exclusiveto(Windows.ApplicationModel.Background.NetworkOperatorNotificationTrigger)]
            [uuid(90089CC6-63CD-480C-95D1-6E6AEF801E4A)]
            [version(0x06020000)]
            interface INetworkOperatorNotificationTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [propget] HRESULT NetworkAccountId([out] [retval] HSTRING* value);
            }

            [exclusiveto(Windows.ApplicationModel.Background.NetworkOperatorNotificationTrigger)]
            [uuid(0A223E00-27D7-4353-ADB9-9265AAEA579D)]
            [version(0x06020000)]
            interface INetworkOperatorNotificationTriggerFactory : IInspectable
            {
                HRESULT Create([in] HSTRING networkAccountId, [out] [retval] Windows.ApplicationModel.Background.NetworkOperatorNotificationTrigger** trigger);
            }

            [exclusiveto(Windows.ApplicationModel.Background.TimeTrigger)]
            [uuid(656E5556-0B2A-4377-BA70-3B45A935547F)]
            [version(0x06020000)]
            interface ITimeTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [propget] HRESULT FreshnessTime([out] [retval] UINT32* freshnessTime);
                [propget] HRESULT OneShot([out] [retval] boolean* oneShot);
            }

            [exclusiveto(Windows.ApplicationModel.Background.TimeTrigger)]
            [uuid(38C682FE-9B54-45E6-B2F3-269B87A6F734)]
            [version(0x06020000)]
            interface ITimeTriggerFactory : IInspectable
            {
                HRESULT Create([in] UINT32 freshnessTime, [in] boolean oneShot, [out] [retval] Windows.ApplicationModel.Background.TimeTrigger** trigger);
            }

            [exclusiveto(Windows.ApplicationModel.Background.MaintenanceTrigger)]
            [uuid(68184C83-FC22-4CE5-841A-7239A9810047)]
            [version(0x06020000)]
            interface IMaintenanceTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [propget] HRESULT FreshnessTime([out] [retval] UINT32* freshnessTime);
                [propget] HRESULT OneShot([out] [retval] boolean* oneShot);
            }

            [exclusiveto(Windows.ApplicationModel.Background.MaintenanceTrigger)]
            [uuid(4B3DDB2E-97DD-4629-88B0-B06CF9482AE5)]
            [version(0x06020000)]
            interface IMaintenanceTriggerFactory : IInspectable
            {
                HRESULT Create([in] UINT32 freshnessTime, [in] boolean oneShot, [out] [retval] Windows.ApplicationModel.Background.MaintenanceTrigger** trigger);
            }

            [exclusiveto(Windows.ApplicationModel.Background.DeviceUseTrigger)]
            [uuid(0DA68011-334F-4D57-B6EC-6DCA64B412E4)]
            [version(0x06030000)]
            interface IDeviceUseTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [default_overload] [overload("RequestAsync")] HRESULT RequestAsyncSimple([in] HSTRING deviceId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.DeviceTriggerResult>** result);
                [default_overload] [overload("RequestAsync")] HRESULT RequestAsyncWithArguments([in] HSTRING deviceId, [in] HSTRING arguments, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.DeviceTriggerResult>** result);
            }

            [exclusiveto(Windows.ApplicationModel.Background.DeviceServicingTrigger)]
            [uuid(1AB217AD-6E34-49D3-9E6F-17F1B6DFA881)]
            [version(0x06030000)]
            interface IDeviceServicingTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [default_overload] [overload("RequestAsync")] HRESULT RequestAsyncSimple([in] HSTRING deviceId, [in] Windows.Foundation.TimeSpan expectedDuration, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.DeviceTriggerResult>** result);
                [default_overload] [overload("RequestAsync")] HRESULT RequestAsyncWithArguments([in] HSTRING deviceId, [in] Windows.Foundation.TimeSpan expectedDuration, [in] HSTRING arguments, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.Background.DeviceTriggerResult>** result);
            }

            [exclusiveto(Windows.ApplicationModel.Background.LocationTrigger)]
            [uuid(47666A1C-6877-481E-8026-FF7E14A811A0)]
            [version(0x06030000)]
            interface ILocationTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
                [propget] HRESULT TriggerType([out] [retval] Windows.ApplicationModel.Background.LocationTriggerType* triggerType);
            }

            [exclusiveto(Windows.ApplicationModel.Background.LocationTrigger)]
            [uuid(1106BB07-FF69-4E09-AA8B-1384EA475E98)]
            [version(0x06030000)]
            interface ILocationTriggerFactory : IInspectable
            {
                HRESULT Create([in] Windows.ApplicationModel.Background.LocationTriggerType triggerType, [out] [retval] Windows.ApplicationModel.Background.LocationTrigger** locationTrigger);
            }

            [exclusiveto(Windows.ApplicationModel.Background.NetworkOperatorHotspotAuthenticationTrigger)]
            [uuid(E756C791-3001-4DE5-83C7-DE61D88831D0)]
            [version(0x06020000)]
            interface INetworkOperatorHotspotAuthenticationTrigger : IInspectable
                requires
                    Windows.ApplicationModel.Background.IBackgroundTrigger
            {
            }

            [exclusiveto(Windows.ApplicationModel.Background.PushNotificationTrigger)]
            [uuid(6DD8ED1B-458E-4FC2-BC2E-D5664F77ED19)]
            [version(0x06020000)]
            interface IPushNotificationTriggerFactory : IInspectable
            {
                HRESULT Create([in] HSTRING applicationId, [out] [retval] Windows.ApplicationModel.Background.PushNotificationTrigger** trigger);
            }

            [static(Windows.ApplicationModel.Background.IAlarmApplicationManagerStatics, 0x06030000)]
            [version(0x06030000)]
            runtimeclass AlarmApplicationManager
            {
            }

            [static(Windows.ApplicationModel.Background.IBackgroundExecutionManagerStatics, 0x06020000)]
            [version(0x06020000)]
            runtimeclass BackgroundExecutionManager
            {
            }

            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Background.IBackgroundTaskRegistrationStatics, 0x06020000)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass BackgroundTaskRegistration
            {
                [default] interface Windows.ApplicationModel.Background.IBackgroundTaskRegistration;
            }

            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass BackgroundTaskDeferral
            {
                [default] interface Windows.ApplicationModel.Background.IBackgroundTaskDeferral;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass BackgroundTaskProgressEventArgs
            {
                [default] interface Windows.ApplicationModel.Background.IBackgroundTaskProgressEventArgs;
            }

            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06020000)]
            runtimeclass BackgroundTaskCompletedEventArgs
            {
                [default] interface Windows.ApplicationModel.Background.IBackgroundTaskCompletedEventArgs;
            }

            [activatable(0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass BackgroundTaskBuilder
            {
                [default] interface Windows.ApplicationModel.Background.IBackgroundTaskBuilder;
                [version(0x06030000)] interface Windows.ApplicationModel.Background.IBackgroundTaskBuilder2;
            }

            [marshaling_behavior(agile)]
            [static(Windows.ApplicationModel.Background.IBackgroundWorkCostStatics, 0x06030000)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass BackgroundWorkCost
            {
            }

            [activatable(Windows.ApplicationModel.Background.ISystemTriggerFactory, 0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass SystemTrigger
            {
                [default] interface Windows.ApplicationModel.Background.ISystemTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(Windows.ApplicationModel.Background.ISystemConditionFactory, 0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass SystemCondition
            {
                [default] interface Windows.ApplicationModel.Background.ISystemCondition;
                interface Windows.ApplicationModel.Background.IBackgroundCondition;
            }

            [activatable(Windows.ApplicationModel.Background.INetworkOperatorNotificationTriggerFactory, 0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass NetworkOperatorNotificationTrigger
            {
                [default] interface Windows.ApplicationModel.Background.INetworkOperatorNotificationTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(Windows.ApplicationModel.Background.ITimeTriggerFactory, 0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass TimeTrigger
            {
                [default] interface Windows.ApplicationModel.Background.ITimeTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(Windows.ApplicationModel.Background.IMaintenanceTriggerFactory, 0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass MaintenanceTrigger
            {
                [default] interface Windows.ApplicationModel.Background.IMaintenanceTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(0x06030000)]
            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass DeviceUseTrigger
            {
                [default] interface Windows.ApplicationModel.Background.IDeviceUseTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(0x06030000)]
            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass DeviceServicingTrigger
            {
                [default] interface Windows.ApplicationModel.Background.IDeviceServicingTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(Windows.ApplicationModel.Background.ILocationTriggerFactory, 0x06030000)]
            [marshaling_behavior(agile)]
            [threading(both)]
            [version(0x06030000)]
            runtimeclass LocationTrigger
            {
                [default] interface Windows.ApplicationModel.Background.ILocationTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(0x06020000)]
            [marshaling_behavior(standard)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass NetworkOperatorHotspotAuthenticationTrigger
            {
                [default] interface Windows.ApplicationModel.Background.INetworkOperatorHotspotAuthenticationTrigger;
                interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }

            [activatable(Windows.ApplicationModel.Background.IPushNotificationTriggerFactory, 0x06020000)]
            [activatable(0x06020000)]
            [threading(mta)]
            [version(0x06020000)]
            runtimeclass PushNotificationTrigger
            {
                [default] interface Windows.ApplicationModel.Background.IBackgroundTrigger;
            }
        }
    }
}
