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

// Forward Declare
namespace Windows
{
    namespace ApplicationModel
    {
        namespace SocialInfo
        {
            runtimeclass SocialFeedContent;

            runtimeclass SocialFeedItem;

            typedef enum SocialFeedKind SocialFeedKind;

            typedef enum SocialFeedUpdateMode SocialFeedUpdateMode;

            apicontract SocialInfoContract;

            runtimeclass SocialItemThumbnail;
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        interface IAsyncAction;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace ApplicationModel
    {
        namespace SocialInfo
        {
            namespace Provider
            {
                interface ISocialDashboardItemUpdater;

                interface ISocialFeedUpdater;

                interface ISocialInfoProviderManagerStatics;

                runtimeclass SocialDashboardItemUpdater;

                runtimeclass SocialFeedUpdater;

                runtimeclass SocialInfoProviderManager;
            }
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace ApplicationModel
    {
        namespace SocialInfo
        {
            namespace Provider
            {
                declare
                {
                    interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.SocialInfo.Provider.SocialDashboardItemUpdater*>;

                    interface Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.SocialInfo.Provider.SocialFeedUpdater*>;
                }
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace ApplicationModel
    {
        namespace SocialInfo
        {
            namespace Provider
            {
                [contract(Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)]
                [exclusiveto(Windows.ApplicationModel.SocialInfo.Provider.SocialDashboardItemUpdater)]
                [uuid(3CDE9DC9-4800-46CD-869B-1973EC685BDE)]
                interface ISocialDashboardItemUpdater : IInspectable
                {
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT OwnerRemoteId([out] [retval] HSTRING* value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT Content([out] [retval] Windows.ApplicationModel.SocialInfo.SocialFeedContent** value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT Timestamp([out] [retval] Windows.Foundation.DateTime* value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propput] HRESULT Timestamp([in] Windows.Foundation.DateTime value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propput] HRESULT Thumbnail([in] Windows.ApplicationModel.SocialInfo.SocialItemThumbnail* value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT Thumbnail([out] [retval] Windows.ApplicationModel.SocialInfo.SocialItemThumbnail** value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT CommitAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT TargetUri([out] [retval] Windows.Foundation.Uri** value);
                    [deprecated("ISocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propput] HRESULT TargetUri([in] Windows.Foundation.Uri* value);
                }

                [contract(Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [deprecated("ISocialFeedUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)]
                [exclusiveto(Windows.ApplicationModel.SocialInfo.Provider.SocialFeedUpdater)]
                [uuid(7A0C0AA7-ED89-4BD5-A8D9-15F4D9861C10)]
                interface ISocialFeedUpdater : IInspectable
                {
                    [deprecated("ISocialFeedUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT OwnerRemoteId([out] [retval] HSTRING* value);
                    [deprecated("ISocialFeedUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT Kind([out] [retval] Windows.ApplicationModel.SocialInfo.SocialFeedKind* value);
                    [deprecated("ISocialFeedUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] [propget] HRESULT Items([out] [retval] Windows.Foundation.Collections.IVector<Windows.ApplicationModel.SocialInfo.SocialFeedItem*>** value);
                    [deprecated("ISocialFeedUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT CommitAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)]
                [exclusiveto(Windows.ApplicationModel.SocialInfo.Provider.SocialInfoProviderManager)]
                [uuid(1B88E52B-7787-48D6-AA12-D8E8F47AB85A)]
                interface ISocialInfoProviderManagerStatics : IInspectable
                {
                    [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT CreateSocialFeedUpdaterAsync([in] Windows.ApplicationModel.SocialInfo.SocialFeedKind kind, [in] Windows.ApplicationModel.SocialInfo.SocialFeedUpdateMode mode, [in] HSTRING ownerRemoteId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.SocialInfo.Provider.SocialFeedUpdater*>** operation);
                    [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT CreateDashboardItemUpdaterAsync([in] HSTRING ownerRemoteId, [out] [retval] Windows.Foundation.IAsyncOperation<Windows.ApplicationModel.SocialInfo.Provider.SocialDashboardItemUpdater*>** operation);
                    [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT UpdateBadgeCountValue([in] HSTRING itemRemoteId, [in] INT32 newCount);
                    [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT ReportNewContentAvailable([in] HSTRING contactRemoteId, [in] Windows.ApplicationModel.SocialInfo.SocialFeedKind kind);
                    [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT ProvisionAsync([out] [retval] Windows.Foundation.IAsyncOperation<boolean>** operation);
                    [deprecated("ISocialInfoProviderManagerStatics is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)] HRESULT DeprovisionAsync([out] [retval] Windows.Foundation.IAsyncAction** operation);
                }

                [contract(Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [deprecated("SocialDashboardItemUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass SocialDashboardItemUpdater
                {
                    [default] interface Windows.ApplicationModel.SocialInfo.Provider.ISocialDashboardItemUpdater;
                }

                [contract(Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [deprecated("SocialFeedUpdater is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)]
                [marshaling_behavior(agile)]
                [threading(both)]
                runtimeclass SocialFeedUpdater
                {
                    [default] interface Windows.ApplicationModel.SocialInfo.Provider.ISocialFeedUpdater;
                }

                [contract(Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [deprecated("SocialInfoProviderManager is deprecated and might not work on all platforms. For more info, see MSDN.", deprecate, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 2.0)]
                [marshaling_behavior(agile)]
                [static(Windows.ApplicationModel.SocialInfo.Provider.ISocialInfoProviderManagerStatics, Windows.ApplicationModel.SocialInfo.SocialInfoContract, 1.0)]
                [threading(both)]
                runtimeclass SocialInfoProviderManager
                {
                }
            }
        }
    }
}
