//
// 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.UI.Notifications.idl";

// Forward Declare
namespace Windows
{
    namespace UI
    {
        namespace Notifications
        {
            runtimeclass BadgeUpdater;

            runtimeclass TileUpdater;

            runtimeclass ToastNotifier;
        }
    }
}
namespace Windows
{
    namespace Phone
    {
        namespace StartScreen
        {
            apicontract DualSimTileContract;

            interface IDualSimTile;

            interface IDualSimTileStatics;

            interface IToastNotificationManagerStatics3;

            runtimeclass DualSimTile;
        }
    }
}

// Generic instantiations

// Type definition
namespace Windows
{
    namespace Phone
    {
        namespace StartScreen
        {
            [contractversion(1.0)]
            apicontract DualSimTileContract
            {
            }

            [contract(Windows.Phone.StartScreen.DualSimTileContract, 1.0)]
            [exclusiveto(Windows.Phone.StartScreen.DualSimTile)]
            [uuid(143AB213-D05F-4041-A18C-3E3FCB75B41E)]
            interface IDualSimTile : IInspectable
            {
                [propput] HRESULT DisplayName([in] HSTRING value);
                [propget] HRESULT DisplayName([out] [retval] HSTRING* value);
                [propget] HRESULT IsPinnedToStart([out] [retval] boolean* value);
                HRESULT CreateAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT UpdateAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT DeleteAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
            }

            [contract(Windows.Phone.StartScreen.DualSimTileContract, 1.0)]
            [exclusiveto(Windows.Phone.StartScreen.DualSimTile)]
            [uuid(50567C9E-C58F-4DC9-B6E8-FA6777EEEB37)]
            interface IDualSimTileStatics : IInspectable
            {
                HRESULT GetTileForSim2([out] [retval] Windows.Phone.StartScreen.DualSimTile** result);
                HRESULT UpdateDisplayNameForSim1Async([in] HSTRING name, [out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                HRESULT CreateTileUpdaterForSim1([out] [retval] Windows.UI.Notifications.TileUpdater** updater);
                HRESULT CreateTileUpdaterForSim2([out] [retval] Windows.UI.Notifications.TileUpdater** updater);
                HRESULT CreateBadgeUpdaterForSim1([out] [retval] Windows.UI.Notifications.BadgeUpdater** updater);
                HRESULT CreateBadgeUpdaterForSim2([out] [retval] Windows.UI.Notifications.BadgeUpdater** updater);
                HRESULT CreateToastNotifierForSim1([out] [retval] Windows.UI.Notifications.ToastNotifier** notifier);
                HRESULT CreateToastNotifierForSim2([out] [retval] Windows.UI.Notifications.ToastNotifier** notifier);
            }

            [contract(Windows.Phone.StartScreen.DualSimTileContract, 1.0)]
            [uuid(2717F54B-50DF-4455-8E6E-41E0FC8E13CE)]
            interface IToastNotificationManagerStatics3 : IInspectable
            {
                HRESULT CreateToastNotifierForSecondaryTile([in] HSTRING tileId, [out] [retval] Windows.UI.Notifications.ToastNotifier** notifier);
            }

            [activatable(Windows.Phone.StartScreen.DualSimTileContract, 1.0)]
            [contract(Windows.Phone.StartScreen.DualSimTileContract, 1.0)]
            [static(Windows.Phone.StartScreen.IDualSimTileStatics, Windows.Phone.StartScreen.DualSimTileContract, 1.0)]
            [threading(mta)]
            runtimeclass DualSimTile
            {
                [default] interface Windows.Phone.StartScreen.IDualSimTile;
            }
        }
    }
}
