//
// 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.ApplicationModel.UserDataTasks.idl";

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace UserDataTasks
        {
            runtimeclass UserDataTask;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        runtimeclass Deferral;

        interface IAsyncAction;

        apicontract UniversalApiContract;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace UserDataTasks
        {
            namespace DataProvider
            {
                interface IUserDataTaskDataProviderConnection;

                interface IUserDataTaskDataProviderTriggerDetails;

                interface IUserDataTaskListCompleteTaskRequest;

                interface IUserDataTaskListCompleteTaskRequestEventArgs;

                interface IUserDataTaskListCreateOrUpdateTaskRequest;

                interface IUserDataTaskListCreateOrUpdateTaskRequestEventArgs;

                interface IUserDataTaskListDeleteTaskRequest;

                interface IUserDataTaskListDeleteTaskRequestEventArgs;

                interface IUserDataTaskListSkipOccurrenceRequest;

                interface IUserDataTaskListSkipOccurrenceRequestEventArgs;

                interface IUserDataTaskListSyncManagerSyncRequest;

                interface IUserDataTaskListSyncManagerSyncRequestEventArgs;

                runtimeclass UserDataTaskDataProviderConnection;

                runtimeclass UserDataTaskDataProviderTriggerDetails;

                runtimeclass UserDataTaskListCompleteTaskRequest;

                runtimeclass UserDataTaskListCompleteTaskRequestEventArgs;

                runtimeclass UserDataTaskListCreateOrUpdateTaskRequest;

                runtimeclass UserDataTaskListCreateOrUpdateTaskRequestEventArgs;

                runtimeclass UserDataTaskListDeleteTaskRequest;

                runtimeclass UserDataTaskListDeleteTaskRequestEventArgs;

                runtimeclass UserDataTaskListSkipOccurrenceRequest;

                runtimeclass UserDataTaskListSkipOccurrenceRequestEventArgs;

                runtimeclass UserDataTaskListSyncManagerSyncRequest;

                runtimeclass UserDataTaskListSyncManagerSyncRequestEventArgs;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace UserDataTasks
        {
            namespace DataProvider
            {
                declare
                {
                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCompleteTaskRequestEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCreateOrUpdateTaskRequestEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListDeleteTaskRequestEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSkipOccurrenceRequestEventArgs*>;

                    interface Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSyncManagerSyncRequestEventArgs*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace UserDataTasks
        {
            namespace DataProvider
            {
                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection)]
                [uuid(9FF39D1D-A447-428B-AFE9-E5402BDEB041)]
                interface IUserDataTaskDataProviderConnection : IInspectable
                {
                    [eventadd] HRESULT CreateOrUpdateTaskRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCreateOrUpdateTaskRequestEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT CreateOrUpdateTaskRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT SyncRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSyncManagerSyncRequestEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT SyncRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT SkipOccurrenceRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSkipOccurrenceRequestEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT SkipOccurrenceRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT CompleteTaskRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCompleteTaskRequestEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT CompleteTaskRequested([in] EventRegistrationToken token);
                    [eventadd] HRESULT DeleteTaskRequested([in] Windows.Foundation.TypedEventHandler<Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection*, Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListDeleteTaskRequestEventArgs*>* handler, [out] [retval] EventRegistrationToken* token);
                    [eventremove] HRESULT DeleteTaskRequested([in] EventRegistrationToken token);
                    HRESULT Start();
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderTriggerDetails)]
                [uuid(AE273202-B1C9-453E-AFC5-B30AF3BD217D)]
                interface IUserDataTaskDataProviderTriggerDetails : IInspectable
                {
                    [propget] HRESULT Connection([out] [retval] Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskDataProviderConnection** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCompleteTaskRequest)]
                [uuid(F65E14A3-1A42-49DA-8552-2873E52C55EB)]
                interface IUserDataTaskListCompleteTaskRequest : IInspectable
                {
                    [propget] HRESULT TaskListId([out] [retval] HSTRING* value);
                    [propget] HRESULT TaskId([out] [retval] HSTRING* value);
                    HRESULT ReportCompletedAsync([in] HSTRING completedTaskId, [out] [retval] Windows.Foundation.IAsyncAction** result);
                    HRESULT ReportFailedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCompleteTaskRequestEventArgs)]
                [uuid(D77C393D-4CF2-48AD-87FD-963F0EAA7A95)]
                interface IUserDataTaskListCompleteTaskRequestEventArgs : IInspectable
                {
                    [propget] HRESULT Request([out] [retval] Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCompleteTaskRequest** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCreateOrUpdateTaskRequest)]
                [uuid(2133772C-55C2-4300-8279-04326E07CCE4)]
                interface IUserDataTaskListCreateOrUpdateTaskRequest : IInspectable
                {
                    [propget] HRESULT TaskListId([out] [retval] HSTRING* value);
                    [propget] HRESULT Task([out] [retval] Windows.ApplicationModel.UserDataTasks.UserDataTask** value);
                    HRESULT ReportCompletedAsync([in] Windows.ApplicationModel.UserDataTasks.UserDataTask* createdOrUpdatedUserDataTask, [out] [retval] Windows.Foundation.IAsyncAction** result);
                    HRESULT ReportFailedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCreateOrUpdateTaskRequestEventArgs)]
                [uuid(12C55A52-E378-419B-AE38-A5E9E604476E)]
                interface IUserDataTaskListCreateOrUpdateTaskRequestEventArgs : IInspectable
                {
                    [propget] HRESULT Request([out] [retval] Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListCreateOrUpdateTaskRequest** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListDeleteTaskRequest)]
                [uuid(4B863C68-7657-4F3D-B074-D47EC8DF07E7)]
                interface IUserDataTaskListDeleteTaskRequest : IInspectable
                {
                    [propget] HRESULT TaskListId([out] [retval] HSTRING* value);
                    [propget] HRESULT TaskId([out] [retval] HSTRING* value);
                    HRESULT ReportCompletedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                    HRESULT ReportFailedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListDeleteTaskRequestEventArgs)]
                [uuid(6063DAD9-F562-4145-8EFE-D50078C92B7F)]
                interface IUserDataTaskListDeleteTaskRequestEventArgs : IInspectable
                {
                    [propget] HRESULT Request([out] [retval] Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListDeleteTaskRequest** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSkipOccurrenceRequest)]
                [uuid(AB87E34D-1CD3-431C-9F58-089AA4338D85)]
                interface IUserDataTaskListSkipOccurrenceRequest : IInspectable
                {
                    [propget] HRESULT TaskListId([out] [retval] HSTRING* value);
                    [propget] HRESULT TaskId([out] [retval] HSTRING* value);
                    HRESULT ReportCompletedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                    HRESULT ReportFailedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSkipOccurrenceRequestEventArgs)]
                [uuid(7A3B924A-CC2F-4E7B-AACD-A5B9D29CFA4E)]
                interface IUserDataTaskListSkipOccurrenceRequestEventArgs : IInspectable
                {
                    [propget] HRESULT Request([out] [retval] Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSkipOccurrenceRequest** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSyncManagerSyncRequest)]
                [uuid(40A73807-7590-4149-AE19-B211431A9F48)]
                interface IUserDataTaskListSyncManagerSyncRequest : IInspectable
                {
                    [propget] HRESULT TaskListId([out] [retval] HSTRING* value);
                    HRESULT ReportCompletedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                    HRESULT ReportFailedAsync([out] [retval] Windows.Foundation.IAsyncAction** result);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [exclusiveto(Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSyncManagerSyncRequestEventArgs)]
                [uuid(8EAD1C12-768E-43BD-8385-5CDC351FFDEA)]
                interface IUserDataTaskListSyncManagerSyncRequestEventArgs : IInspectable
                {
                    [propget] HRESULT Request([out] [retval] Windows.ApplicationModel.UserDataTasks.DataProvider.UserDataTaskListSyncManagerSyncRequest** value);
                    HRESULT GetDeferral([out] [retval] Windows.Foundation.Deferral** value);
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskDataProviderConnection
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskDataProviderConnection;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskDataProviderTriggerDetails
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskDataProviderTriggerDetails;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListCompleteTaskRequest
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListCompleteTaskRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListCompleteTaskRequestEventArgs
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListCompleteTaskRequestEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListCreateOrUpdateTaskRequest
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListCreateOrUpdateTaskRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListCreateOrUpdateTaskRequestEventArgs
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListCreateOrUpdateTaskRequestEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListDeleteTaskRequest
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListDeleteTaskRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListDeleteTaskRequestEventArgs
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListDeleteTaskRequestEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListSkipOccurrenceRequest
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListSkipOccurrenceRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListSkipOccurrenceRequestEventArgs
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListSkipOccurrenceRequestEventArgs;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListSyncManagerSyncRequest
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListSyncManagerSyncRequest;
                }

                [contract(Windows.Foundation.UniversalApiContract, 4.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass UserDataTaskListSyncManagerSyncRequestEventArgs
                {
                    [default] interface Windows.ApplicationModel.UserDataTasks.DataProvider.IUserDataTaskListSyncManagerSyncRequestEventArgs;
                }
            }
        }
    }
}
