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

import "inspectable.idl";
import "AsyncInfo.idl";
import "EventToken.idl";
import "Windows.Foundation.idl";
import "Windows.Storage.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(__windows2Estorage_h__)")
cpp_quote("#include <Windows.Storage.h>")
cpp_quote("#endif // !defined(__windows2Estorage_h__)")
cpp_quote("#if defined(__cplusplus)")
cpp_quote("extern \"C\" {")
cpp_quote("#endif // defined(__cplusplus)")

// Forward Declare
namespace Windows
{
    namespace Storage
    {
        runtimeclass StorageFile;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            namespace Provider
            {
                interface IPhoneCallOrigin;

                interface IPhoneCallOrigin2;

                interface IPhoneCallOrigin3;

                interface IPhoneCallOriginManagerStatics;

                interface IPhoneCallOriginManagerStatics2;

                runtimeclass PhoneCallOrigin;

                runtimeclass PhoneCallOriginManager;
            }
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace Calls
        {
            namespace Provider
            {
                [exclusiveto(Windows.ApplicationModel.Calls.Provider.PhoneCallOrigin)]
                [uuid(20613479-0EF9-4454-871C-AFB66A14B6A5)]
                [version(0x0A000000)]
                interface IPhoneCallOrigin : IInspectable
                {
                    [propget] HRESULT Category([out] [retval] HSTRING* value);
                    [propput] HRESULT Category([in] HSTRING value);
                    [propget] HRESULT CategoryDescription([out] [retval] HSTRING* value);
                    [propput] HRESULT CategoryDescription([in] HSTRING value);
                    [propget] HRESULT Location([out] [retval] HSTRING* value);
                    [propput] HRESULT Location([in] HSTRING value);
                }

                [exclusiveto(Windows.ApplicationModel.Calls.Provider.PhoneCallOrigin)]
                [uuid(04C7E980-9AC2-4768-B536-B68DA4957D02)]
                [version(0x0A000000)]
                interface IPhoneCallOrigin2 : IInspectable
                    requires
                        Windows.ApplicationModel.Calls.Provider.IPhoneCallOrigin
                {
                    [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                    [propput] HRESULT DisplayName([in] HSTRING value);
                }

                [exclusiveto(Windows.ApplicationModel.Calls.Provider.PhoneCallOrigin)]
                [uuid(49330FB4-D1A7-43A2-AEEE-C07B6DBAF068)]
                [version(0x0A000002)]
                interface IPhoneCallOrigin3 : IInspectable
                    requires
                        Windows.ApplicationModel.Calls.Provider.IPhoneCallOrigin2,
                        Windows.ApplicationModel.Calls.Provider.IPhoneCallOrigin
                {
                    [propget] HRESULT DisplayPicture([out] [retval] Windows.Storage.StorageFile** value);
                    [propput] HRESULT DisplayPicture([in] Windows.Storage.StorageFile* value);
                }

                [exclusiveto(Windows.ApplicationModel.Calls.Provider.PhoneCallOriginManager)]
                [uuid(CCFC5A0A-9AF7-6149-39D0-E076FCCE1395)]
                [version(0x0A000000)]
                interface IPhoneCallOriginManagerStatics : IInspectable
                {
                    [propget] HRESULT IsCurrentAppActiveCallOriginApp([out] [retval] boolean* value);
                    HRESULT ShowPhoneCallOriginSettingsUI();
                    HRESULT SetCallOrigin([in] GUID requestId, [in] Windows.ApplicationModel.Calls.Provider.PhoneCallOrigin* callOrigin);
                }

                [exclusiveto(Windows.ApplicationModel.Calls.Provider.PhoneCallOriginManager)]
                [uuid(8BF3EE3F-40F4-4380-8C7C-AEA2C9B8DD7A)]
                [version(0x0A000002)]
                interface IPhoneCallOriginManagerStatics2 : IInspectable
                    requires
                        Windows.ApplicationModel.Calls.Provider.IPhoneCallOriginManagerStatics
                {
                    HRESULT RequestSetAsActiveCallOriginAppAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** result);
                }

                [activatable(0x0A000000)]
                [marshaling_behavior(agile)]
                [threading(both)]
                [version(0x0A000000)]
                runtimeclass PhoneCallOrigin
                {
                    [default] interface Windows.ApplicationModel.Calls.Provider.IPhoneCallOrigin;
                    [version(0x0A000000)] interface Windows.ApplicationModel.Calls.Provider.IPhoneCallOrigin2;
                    [version(0x0A000002)] interface Windows.ApplicationModel.Calls.Provider.IPhoneCallOrigin3;
                }

                [marshaling_behavior(agile)]
                [static(Windows.ApplicationModel.Calls.Provider.IPhoneCallOriginManagerStatics, 0x0A000000)]
                [static(Windows.ApplicationModel.Calls.Provider.IPhoneCallOriginManagerStatics2, 0x0A000002)]
                [threading(both)]
                [version(0x0A000000)]
                runtimeclass PhoneCallOriginManager
                {
                }
            }
        }
    }
}
