From 7f642e51670bc38a4ef782a363936850bc2b0ba9 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Thu, 22 Apr 2021 06:38:23 -0700 Subject: Move dutil into libs/dutil --- src/libs/dutil/WixToolset.DUtil/inc/rssutil.h | 89 +++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/libs/dutil/WixToolset.DUtil/inc/rssutil.h (limited to 'src/libs/dutil/WixToolset.DUtil/inc/rssutil.h') diff --git a/src/libs/dutil/WixToolset.DUtil/inc/rssutil.h b/src/libs/dutil/WixToolset.DUtil/inc/rssutil.h new file mode 100644 index 00000000..064ab147 --- /dev/null +++ b/src/libs/dutil/WixToolset.DUtil/inc/rssutil.h @@ -0,0 +1,89 @@ +#pragma once +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + + +#ifdef __cplusplus +extern "C" { +#endif + +#define ReleaseRssChannel(p) if (p) { RssFreeChannel(p); } +#define ReleaseNullRssChannel(p) if (p) { RssFreeChannel(p); p = NULL; } + + +struct RSS_UNKNOWN_ATTRIBUTE +{ + LPWSTR wzNamespace; + LPWSTR wzAttribute; + LPWSTR wzValue; + + RSS_UNKNOWN_ATTRIBUTE* pNext; +}; + +struct RSS_UNKNOWN_ELEMENT +{ + LPWSTR wzNamespace; + LPWSTR wzElement; + LPWSTR wzValue; + + RSS_UNKNOWN_ATTRIBUTE* pAttributes; + RSS_UNKNOWN_ELEMENT* pNext; +}; + +struct RSS_ITEM +{ + LPWSTR wzTitle; + LPWSTR wzLink; + LPWSTR wzDescription; + + LPWSTR wzGuid; + FILETIME ftPublished; + + LPWSTR wzEnclosureUrl; + DWORD dwEnclosureSize; + LPWSTR wzEnclosureType; + + RSS_UNKNOWN_ELEMENT* pUnknownElements; +}; + +struct RSS_CHANNEL +{ + LPWSTR wzTitle; + LPWSTR wzLink; + LPWSTR wzDescription; + DWORD dwTimeToLive; + + RSS_UNKNOWN_ELEMENT* pUnknownElements; + + DWORD cItems; + RSS_ITEM rgItems[1]; +}; + +HRESULT DAPI RssInitialize( + ); + +void DAPI RssUninitialize( + ); + +HRESULT DAPI RssParseFromString( + __in_z LPCWSTR wzRssString, + __out RSS_CHANNEL **ppChannel + ); + +HRESULT DAPI RssParseFromFile( + __in_z LPCWSTR wzRssFile, + __out RSS_CHANNEL **ppChannel + ); + +// Adding this until we have the updated specstrings.h +#ifndef __in_xcount +#define __in_xcount(size) +#endif + +void DAPI RssFreeChannel( + __in_xcount(pChannel->cItems) RSS_CHANNEL *pChannel + ); + +#ifdef __cplusplus +} +#endif + -- cgit v1.2.3-55-g6feb