//
// 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.Data.Xml.Dom.idl";
import "Windows.Security.Credentials.idl";
import "Windows.Storage.Streams.idl";
import "Windows.Web.AtomPub.idl";

// Forward Declare
namespace Windows
{
    namespace Data
    {
        namespace Xml
        {
            namespace Dom
            {
                runtimeclass XmlDocument;
            }
        }
    }
}
namespace Windows
{
    namespace Foundation
    {
        typedef struct DateTime DateTime;

        apicontract UniversalApiContract;

        runtimeclass Uri;
    }
}
namespace Windows
{
    namespace Security
    {
        namespace Credentials
        {
            runtimeclass PasswordCredential;
        }
    }
}
namespace Windows
{
    namespace Storage
    {
        namespace Streams
        {
            interface IInputStream;
        }
    }
}
namespace Windows
{
    namespace Web
    {
        namespace AtomPub
        {
            runtimeclass ServiceDocument;
        }
    }
}
namespace Windows
{
    namespace Web
    {
        namespace Syndication
        {
            typedef enum SyndicationErrorStatus SyndicationErrorStatus;

            typedef enum SyndicationFormat SyndicationFormat;

            typedef enum SyndicationTextType SyndicationTextType;

            typedef struct RetrievalProgress RetrievalProgress;

            typedef struct TransferProgress TransferProgress;

            interface ISyndicationAttribute;

            interface ISyndicationAttributeFactory;

            interface ISyndicationCategory;

            interface ISyndicationCategoryFactory;

            interface ISyndicationClient;

            interface ISyndicationClientFactory;

            interface ISyndicationContent;

            interface ISyndicationContentFactory;

            interface ISyndicationErrorStatics;

            interface ISyndicationFeed;

            interface ISyndicationFeedFactory;

            interface ISyndicationGenerator;

            interface ISyndicationGeneratorFactory;

            interface ISyndicationItem;

            interface ISyndicationItemFactory;

            interface ISyndicationLink;

            interface ISyndicationLinkFactory;

            interface ISyndicationNode;

            interface ISyndicationNodeFactory;

            interface ISyndicationPerson;

            interface ISyndicationPersonFactory;

            interface ISyndicationText;

            interface ISyndicationTextFactory;

            runtimeclass SyndicationAttribute;

            runtimeclass SyndicationCategory;

            runtimeclass SyndicationClient;

            runtimeclass SyndicationContent;

            runtimeclass SyndicationError;

            runtimeclass SyndicationFeed;

            runtimeclass SyndicationGenerator;

            runtimeclass SyndicationItem;

            runtimeclass SyndicationLink;

            runtimeclass SyndicationNode;

            runtimeclass SyndicationPerson;

            runtimeclass SyndicationText;
        }
    }
}

// Generic instantiations
namespace Windows
{
    namespace Web
    {
        namespace Syndication
        {
            declare
            {
                interface Windows.Foundation.Collections.IIterable<Windows.Web.Syndication.ISyndicationNode*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Web.Syndication.SyndicationAttribute*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Web.Syndication.SyndicationCategory*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Web.Syndication.SyndicationItem*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Web.Syndication.SyndicationLink*>;

                interface Windows.Foundation.Collections.IIterable<Windows.Web.Syndication.SyndicationPerson*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Web.Syndication.ISyndicationNode*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Web.Syndication.SyndicationAttribute*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Web.Syndication.SyndicationCategory*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Web.Syndication.SyndicationItem*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Web.Syndication.SyndicationLink*>;

                interface Windows.Foundation.Collections.IIterator<Windows.Web.Syndication.SyndicationPerson*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Web.Syndication.ISyndicationNode*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Web.Syndication.SyndicationAttribute*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Web.Syndication.SyndicationCategory*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Web.Syndication.SyndicationItem*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Web.Syndication.SyndicationLink*>;

                interface Windows.Foundation.Collections.IVectorView<Windows.Web.Syndication.SyndicationPerson*>;

                interface Windows.Foundation.Collections.IVector<Windows.Web.Syndication.ISyndicationNode*>;

                interface Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationAttribute*>;

                interface Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationCategory*>;

                interface Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationItem*>;

                interface Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationLink*>;

                interface Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationPerson*>;

                interface Windows.Foundation.IAsyncActionWithProgress<Windows.Web.Syndication.TransferProgress>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Storage.Streams.IInputStream*, Windows.Web.Syndication.RetrievalProgress>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Web.AtomPub.ServiceDocument*, Windows.Web.Syndication.RetrievalProgress>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Web.Syndication.SyndicationFeed*, Windows.Web.Syndication.RetrievalProgress>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Web.Syndication.SyndicationItem*, Windows.Web.Syndication.RetrievalProgress>;

                interface Windows.Foundation.IAsyncOperationWithProgress<Windows.Web.Syndication.SyndicationItem*, Windows.Web.Syndication.TransferProgress>;
            }
        }
    }
}

// Type definition
namespace Windows
{
    namespace Web
    {
        namespace Syndication
        {
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SyndicationErrorStatus
            {
                Unknown                  = 0,
                MissingRequiredElement   = 1,
                MissingRequiredAttribute = 2,
                InvalidXml               = 3,
                UnexpectedContent        = 4,
                UnsupportedFormat        = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SyndicationFormat
            {
                Atom10 = 0,
                Rss20  = 1,
                Rss10  = 2,
                Rss092 = 3,
                Rss091 = 4,
                Atom03 = 5
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            enum SyndicationTextType
            {
                Text  = 0,
                Html  = 1,
                Xhtml = 2
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct RetrievalProgress
            {
                UINT32 BytesRetrieved;
                UINT32 TotalBytesToRetrieve;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            struct TransferProgress
            {
                UINT32 BytesSent;
                UINT32 TotalBytesToSend;
                UINT32 BytesRetrieved;
                UINT32 TotalBytesToRetrieve;
            };

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationAttribute)]
            [uuid(71E8F969-526E-4001-9A91-E84F83161AB1)]
            interface ISyndicationAttribute : IInspectable
            {
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Namespace([out] [retval] HSTRING* value);
                [propput] HRESULT Namespace([in] HSTRING value);
                [propget] HRESULT Value([out] [retval] HSTRING* value);
                [propput] HRESULT Value([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationAttribute)]
            [uuid(624F1599-ED3E-420F-BE86-640414886E4B)]
            interface ISyndicationAttributeFactory : IInspectable
            {
                HRESULT CreateSyndicationAttribute([in] HSTRING attributeName, [in] HSTRING attributeNamespace, [in] HSTRING attributeValue, [out] [retval] Windows.Web.Syndication.SyndicationAttribute** syndicationAttribute);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationCategory)]
            [uuid(8715626F-0CBA-4A7F-89FF-ECB5281423B6)]
            interface ISyndicationCategory : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT Label([out] [retval] HSTRING* value);
                [propput] HRESULT Label([in] HSTRING value);
                [propget] HRESULT Scheme([out] [retval] HSTRING* value);
                [propput] HRESULT Scheme([in] HSTRING value);
                [propget] HRESULT Term([out] [retval] HSTRING* value);
                [propput] HRESULT Term([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationCategory)]
            [uuid(AB42802F-49E0-4525-8AB2-AB45C02528FF)]
            interface ISyndicationCategoryFactory : IInspectable
            {
                HRESULT CreateSyndicationCategory([in] HSTRING term, [out] [retval] Windows.Web.Syndication.SyndicationCategory** category);
                HRESULT CreateSyndicationCategoryEx([in] HSTRING term, [in] HSTRING scheme, [in] HSTRING label, [out] [retval] Windows.Web.Syndication.SyndicationCategory** category);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(9E18A9B7-7249-4B45-B229-7DF895A5A1F5)]
            interface ISyndicationClient : IInspectable
            {
                [propget] HRESULT ServerCredential([out] [retval] Windows.Security.Credentials.PasswordCredential** value);
                [propput] HRESULT ServerCredential([in] Windows.Security.Credentials.PasswordCredential* value);
                [propget] HRESULT ProxyCredential([out] [retval] Windows.Security.Credentials.PasswordCredential** value);
                [propput] HRESULT ProxyCredential([in] Windows.Security.Credentials.PasswordCredential* value);
                [propget] HRESULT MaxResponseBufferSize([out] [retval] UINT32* value);
                [propput] HRESULT MaxResponseBufferSize([in] UINT32 value);
                [propget] HRESULT Timeout([out] [retval] UINT32* value);
                [propput] HRESULT Timeout([in] UINT32 value);
                [propget] HRESULT BypassCacheOnRetrieve([out] [retval] boolean* value);
                [propput] HRESULT BypassCacheOnRetrieve([in] boolean value);
                HRESULT SetRequestHeader([in] HSTRING name, [in] HSTRING value);
                HRESULT RetrieveFeedAsync([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Foundation.IAsyncOperationWithProgress<Windows.Web.Syndication.SyndicationFeed*, Windows.Web.Syndication.RetrievalProgress>** operation);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationClient)]
            [uuid(2EC4B32C-A79B-4114-B29A-05DFFBAFB9A4)]
            interface ISyndicationClientFactory : IInspectable
            {
                HRESULT CreateSyndicationClient([in] Windows.Security.Credentials.PasswordCredential* serverCredential, [out] [retval] Windows.Web.Syndication.SyndicationClient** syndicationClient);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationContent)]
            [uuid(4641FEFE-0E55-40D0-B8D0-6A2CCBA9FC7C)]
            interface ISyndicationContent : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationText,
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT SourceUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT SourceUri([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationContent)]
            [uuid(3D2FBB93-9520-4173-9388-7E2DF324A8A0)]
            interface ISyndicationContentFactory : IInspectable
            {
                HRESULT CreateSyndicationContent([in] HSTRING text, [in] Windows.Web.Syndication.SyndicationTextType type, [out] [retval] Windows.Web.Syndication.SyndicationContent** content);
                HRESULT CreateSyndicationContentWithSourceUri([in] Windows.Foundation.Uri* sourceUri, [out] [retval] Windows.Web.Syndication.SyndicationContent** content);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationError)]
            [uuid(1FBB2361-45C7-4833-8AA0-BE5F3B58A7F4)]
            interface ISyndicationErrorStatics : IInspectable
            {
                HRESULT GetStatus([in] INT32 hresult, [out] [retval] Windows.Web.Syndication.SyndicationErrorStatus* status);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationFeed)]
            [uuid(7FFE3CD2-5B66-4D62-8403-1BC10D910D6B)]
            interface ISyndicationFeed : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT Authors([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationPerson*>** value);
                [propget] HRESULT Categories([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationCategory*>** value);
                [propget] HRESULT Contributors([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationPerson*>** value);
                [propget] HRESULT Generator([out] [retval] Windows.Web.Syndication.SyndicationGenerator** value);
                [propput] HRESULT Generator([in] Windows.Web.Syndication.SyndicationGenerator* value);
                [propget] HRESULT IconUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT IconUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propput] HRESULT Id([in] HSTRING value);
                [propget] HRESULT Items([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationItem*>** value);
                [propget] HRESULT LastUpdatedTime([out] [retval] Windows.Foundation.DateTime* value);
                [propput] HRESULT LastUpdatedTime([in] Windows.Foundation.DateTime value);
                [propget] HRESULT Links([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationLink*>** value);
                [propget] HRESULT ImageUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT ImageUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Rights([out] [retval] Windows.Web.Syndication.ISyndicationText** value);
                [propput] HRESULT Rights([in] Windows.Web.Syndication.ISyndicationText* value);
                [propget] HRESULT Subtitle([out] [retval] Windows.Web.Syndication.ISyndicationText** value);
                [propput] HRESULT Subtitle([in] Windows.Web.Syndication.ISyndicationText* value);
                [propget] HRESULT Title([out] [retval] Windows.Web.Syndication.ISyndicationText** value);
                [propput] HRESULT Title([in] Windows.Web.Syndication.ISyndicationText* value);
                [propget] HRESULT FirstUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT LastUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT NextUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT PreviousUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT SourceFormat([out] [retval] Windows.Web.Syndication.SyndicationFormat* value);
                HRESULT Load([in] HSTRING feed);
                HRESULT LoadFromXml([in] Windows.Data.Xml.Dom.XmlDocument* feedDocument);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationFeed)]
            [uuid(23472232-8BE9-48B7-8934-6205131D9357)]
            interface ISyndicationFeedFactory : IInspectable
            {
                HRESULT CreateSyndicationFeed([in] HSTRING title, [in] HSTRING subtitle, [in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Web.Syndication.SyndicationFeed** feed);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationGenerator)]
            [uuid(9768B379-FB2B-4F6D-B41C-088A5868825C)]
            interface ISyndicationGenerator : IInspectable
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propput] HRESULT Text([in] HSTRING value);
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Uri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT Version([out] [retval] HSTRING* value);
                [propput] HRESULT Version([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationGenerator)]
            [uuid(A34083E3-1E26-4DBC-BA9D-1AB84BEFF97B)]
            interface ISyndicationGeneratorFactory : IInspectable
            {
                HRESULT CreateSyndicationGenerator([in] HSTRING text, [out] [retval] Windows.Web.Syndication.SyndicationGenerator** generator);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationItem)]
            [uuid(548DB883-C384-45C1-8AE8-A378C4EC486C)]
            interface ISyndicationItem : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT Authors([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationPerson*>** value);
                [propget] HRESULT Categories([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationCategory*>** value);
                [propget] HRESULT Contributors([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationPerson*>** value);
                [propget] HRESULT Content([out] [retval] Windows.Web.Syndication.SyndicationContent** value);
                [propput] HRESULT Content([in] Windows.Web.Syndication.SyndicationContent* value);
                [propget] HRESULT Id([out] [retval] HSTRING* value);
                [propput] HRESULT Id([in] HSTRING value);
                [propget] HRESULT LastUpdatedTime([out] [retval] Windows.Foundation.DateTime* value);
                [propput] HRESULT LastUpdatedTime([in] Windows.Foundation.DateTime value);
                [propget] HRESULT Links([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationLink*>** value);
                [propget] HRESULT PublishedDate([out] [retval] Windows.Foundation.DateTime* value);
                [propput] HRESULT PublishedDate([in] Windows.Foundation.DateTime value);
                [propget] HRESULT Rights([out] [retval] Windows.Web.Syndication.ISyndicationText** value);
                [propput] HRESULT Rights([in] Windows.Web.Syndication.ISyndicationText* value);
                [propget] HRESULT Source([out] [retval] Windows.Web.Syndication.SyndicationFeed** value);
                [propput] HRESULT Source([in] Windows.Web.Syndication.SyndicationFeed* value);
                [propget] HRESULT Summary([out] [retval] Windows.Web.Syndication.ISyndicationText** value);
                [propput] HRESULT Summary([in] Windows.Web.Syndication.ISyndicationText* value);
                [propget] HRESULT Title([out] [retval] Windows.Web.Syndication.ISyndicationText** value);
                [propput] HRESULT Title([in] Windows.Web.Syndication.ISyndicationText* value);
                [propget] HRESULT CommentsUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT CommentsUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT EditUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT EditMediaUri([out] [retval] Windows.Foundation.Uri** value);
                [propget] HRESULT ETag([out] [retval] HSTRING* value);
                [propget] HRESULT ItemUri([out] [retval] Windows.Foundation.Uri** value);
                HRESULT Load([in] HSTRING item);
                HRESULT LoadFromXml([in] Windows.Data.Xml.Dom.XmlDocument* itemDocument);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationItem)]
            [uuid(251D434F-7DB8-487A-85E4-10D191E66EBB)]
            interface ISyndicationItemFactory : IInspectable
            {
                HRESULT CreateSyndicationItem([in] HSTRING title, [in] Windows.Web.Syndication.SyndicationContent* content, [in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Web.Syndication.SyndicationItem** item);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationLink)]
            [uuid(27553ABD-A10E-41B5-86BD-9759086EB0C5)]
            interface ISyndicationLink : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT Length([out] [retval] UINT32* value);
                [propput] HRESULT Length([in] UINT32 value);
                [propget] HRESULT MediaType([out] [retval] HSTRING* value);
                [propput] HRESULT MediaType([in] HSTRING value);
                [propget] HRESULT Relationship([out] [retval] HSTRING* value);
                [propput] HRESULT Relationship([in] HSTRING value);
                [propget] HRESULT Title([out] [retval] HSTRING* value);
                [propput] HRESULT Title([in] HSTRING value);
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Uri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT ResourceLanguage([out] [retval] HSTRING* value);
                [propput] HRESULT ResourceLanguage([in] HSTRING value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationLink)]
            [uuid(5ED863D4-5535-48AC-98D4-C190995080B3)]
            interface ISyndicationLinkFactory : IInspectable
            {
                HRESULT CreateSyndicationLink([in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Web.Syndication.SyndicationLink** link);
                HRESULT CreateSyndicationLinkEx([in] Windows.Foundation.Uri* uri, [in] HSTRING relationship, [in] HSTRING title, [in] HSTRING mediaType, [in] UINT32 length, [out] [retval] Windows.Web.Syndication.SyndicationLink** link);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(753CEF78-51F8-45C0-A9F5-F1719DEC3FB2)]
            interface ISyndicationNode : IInspectable
            {
                [propget] HRESULT NodeName([out] [retval] HSTRING* value);
                [propput] HRESULT NodeName([in] HSTRING value);
                [propget] HRESULT NodeNamespace([out] [retval] HSTRING* value);
                [propput] HRESULT NodeNamespace([in] HSTRING value);
                [propget] HRESULT NodeValue([out] [retval] HSTRING* value);
                [propput] HRESULT NodeValue([in] HSTRING value);
                [propget] HRESULT Language([out] [retval] HSTRING* value);
                [propput] HRESULT Language([in] HSTRING value);
                [propget] HRESULT BaseUri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT BaseUri([in] Windows.Foundation.Uri* value);
                [propget] HRESULT AttributeExtensions([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.SyndicationAttribute*>** value);
                [propget] HRESULT ElementExtensions([out] [retval] Windows.Foundation.Collections.IVector<Windows.Web.Syndication.ISyndicationNode*>** value);
                HRESULT GetXmlDocument([in] Windows.Web.Syndication.SyndicationFormat format, [out] [retval] Windows.Data.Xml.Dom.XmlDocument** xmlDocument);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationNode)]
            [uuid(12902188-4ACB-49A8-B777-A5EB92E18A79)]
            interface ISyndicationNodeFactory : IInspectable
            {
                HRESULT CreateSyndicationNode([in] HSTRING nodeName, [in] HSTRING nodeNamespace, [in] HSTRING nodeValue, [out] [retval] Windows.Web.Syndication.SyndicationNode** node);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationPerson)]
            [uuid(FA1EE5DA-A7C6-4517-A096-0143FAF29327)]
            interface ISyndicationPerson : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT Email([out] [retval] HSTRING* value);
                [propput] HRESULT Email([in] HSTRING value);
                [propget] HRESULT Name([out] [retval] HSTRING* value);
                [propput] HRESULT Name([in] HSTRING value);
                [propget] HRESULT Uri([out] [retval] Windows.Foundation.Uri** value);
                [propput] HRESULT Uri([in] Windows.Foundation.Uri* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationPerson)]
            [uuid(DCF4886D-229D-4B58-A49B-F3D2F0F5C99F)]
            interface ISyndicationPersonFactory : IInspectable
            {
                HRESULT CreateSyndicationPerson([in] HSTRING name, [out] [retval] Windows.Web.Syndication.SyndicationPerson** person);
                HRESULT CreateSyndicationPersonEx([in] HSTRING name, [in] HSTRING email, [in] Windows.Foundation.Uri* uri, [out] [retval] Windows.Web.Syndication.SyndicationPerson** person);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [uuid(B9CC5E80-313A-4091-A2A6-243E0EE923F9)]
            interface ISyndicationText : IInspectable
                requires
                    Windows.Web.Syndication.ISyndicationNode
            {
                [propget] HRESULT Text([out] [retval] HSTRING* value);
                [propput] HRESULT Text([in] HSTRING value);
                [propget] HRESULT Type([out] [retval] HSTRING* value);
                [propput] HRESULT Type([in] HSTRING value);
                [propget] HRESULT Xml([out] [retval] Windows.Data.Xml.Dom.XmlDocument** value);
                [propput] HRESULT Xml([in] Windows.Data.Xml.Dom.XmlDocument* value);
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [exclusiveto(Windows.Web.Syndication.SyndicationText)]
            [uuid(EE7342F7-11C6-4B25-AB62-E596BD162946)]
            interface ISyndicationTextFactory : IInspectable
            {
                HRESULT CreateSyndicationText([in] HSTRING text, [out] [retval] Windows.Web.Syndication.SyndicationText** syndicationText);
                HRESULT CreateSyndicationTextEx([in] HSTRING text, [in] Windows.Web.Syndication.SyndicationTextType type, [out] [retval] Windows.Web.Syndication.SyndicationText** syndicationText);
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationAttributeFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationAttribute
            {
                [default] interface Windows.Web.Syndication.ISyndicationAttribute;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationCategoryFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationCategory
            {
                [default] interface Windows.Web.Syndication.ISyndicationCategory;
                interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationClientFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationClient
            {
                [default] interface Windows.Web.Syndication.ISyndicationClient;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationContentFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationContent
            {
                interface Windows.Web.Syndication.ISyndicationText;
                interface Windows.Web.Syndication.ISyndicationNode;
                [default] interface Windows.Web.Syndication.ISyndicationContent;
            }

            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [static(Windows.Web.Syndication.ISyndicationErrorStatics, Windows.Foundation.UniversalApiContract, 1.0)]
            [threading(both)]
            runtimeclass SyndicationError
            {
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationFeedFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationFeed
            {
                [default] interface Windows.Web.Syndication.ISyndicationFeed;
                interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationGeneratorFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationGenerator
            {
                [default] interface Windows.Web.Syndication.ISyndicationGenerator;
                interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationItemFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationItem
            {
                [default] interface Windows.Web.Syndication.ISyndicationItem;
                interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationLinkFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationLink
            {
                [default] interface Windows.Web.Syndication.ISyndicationLink;
                interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationNodeFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationNode
            {
                [default] interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationPersonFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationPerson
            {
                [default] interface Windows.Web.Syndication.ISyndicationPerson;
                interface Windows.Web.Syndication.ISyndicationNode;
            }

            [activatable(Windows.Foundation.UniversalApiContract, 1.0)]
            [activatable(Windows.Web.Syndication.ISyndicationTextFactory, Windows.Foundation.UniversalApiContract, 1.0)]
            [contract(Windows.Foundation.UniversalApiContract, 1.0)]
            [marshaling_behavior(agile)]
            [threading(both)]
            runtimeclass SyndicationText
            {
                [default] interface Windows.Web.Syndication.ISyndicationText;
                interface Windows.Web.Syndication.ISyndicationNode;
            }
        }
    }
}
