mirror of https://github.com/UMSKT/xpmgr.git
998 lines
41 KiB
Plaintext
998 lines
41 KiB
Plaintext
//+------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// File: msfeeds.idl
|
|
//
|
|
// Contents: RSS Platform Interfaces
|
|
//
|
|
//-------------------------------------------------------------------------
|
|
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// msfeeds.h")
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// (C) Copyright Microsoft Corporation. All Rights Reserved.")
|
|
cpp_quote("//")
|
|
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
|
|
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
|
|
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
|
|
cpp_quote("// PARTICULAR PURPOSE.")
|
|
cpp_quote("//=--------------------------------------------------------------------------=")
|
|
cpp_quote("// RSS Platform Interfaces.")
|
|
cpp_quote("")
|
|
|
|
|
|
import "oaidl.idl";
|
|
|
|
|
|
//
|
|
// Types
|
|
//
|
|
|
|
|
|
cpp_quote("// {FE6B11C3-C72E-4061-86C6-9D163121F229}")
|
|
cpp_quote("DEFINE_GUID(CLSID_XFeedsManager, 0xfe6b11c3, 0xc72e, 0x4061, 0x86, 0xc6, 0x9d, 0x16, 0x31, 0x21, 0xf2, 0x29);")
|
|
|
|
typedef [v1_enum] enum FEEDS_BACKGROUNDSYNC_ACTION
|
|
{
|
|
FBSA_DISABLE = 0,
|
|
FBSA_ENABLE = 1,
|
|
FBSA_RUNNOW = 2,
|
|
} FEEDS_BACKGROUNDSYNC_ACTION;
|
|
|
|
typedef [v1_enum] enum FEEDS_BACKGROUNDSYNC_STATUS
|
|
{
|
|
FBSS_DISABLED = 0,
|
|
FBSS_ENABLED = 1,
|
|
} FEEDS_BACKGROUNDSYNC_STATUS;
|
|
|
|
typedef [v1_enum] enum FEEDS_EVENTS_SCOPE
|
|
{
|
|
FES_ALL = 0,
|
|
FES_SELF_ONLY = 1,
|
|
FES_SELF_AND_CHILDREN_ONLY = 2,
|
|
} FEEDS_EVENTS_SCOPE;
|
|
|
|
typedef [v1_enum] enum FEEDS_EVENTS_MASK
|
|
{
|
|
FEM_FOLDEREVENTS = 0x00000001,
|
|
FEM_FEEDEVENTS = 0x00000002,
|
|
} FEEDS_EVENTS_MASK;
|
|
|
|
cpp_quote("")
|
|
cpp_quote("#define FEEDS_XML_COUNT_MAX ((UINT)-1)")
|
|
cpp_quote("")
|
|
|
|
typedef [v1_enum] enum FEEDS_XML_SORT_PROPERTY
|
|
{
|
|
FXSP_NONE = 0,
|
|
FXSP_PUBDATE = 1,
|
|
FXSP_DOWNLOADTIME = 2,
|
|
} FEEDS_XML_SORT_PROPERTY;
|
|
|
|
typedef [v1_enum] enum FEEDS_XML_SORT_ORDER
|
|
{
|
|
FXSO_NONE = 0,
|
|
FXSO_ASCENDING = 1,
|
|
FXSO_DESCENDING = 2,
|
|
} FEEDS_XML_SORT_ORDER;
|
|
|
|
typedef [v1_enum] enum FEEDS_XML_FILTER_FLAGS
|
|
{
|
|
FXFF_ALL = 0x00000000,
|
|
FXFF_UNREAD = 0x00000001,
|
|
FXFF_READ = 0x00000002,
|
|
} FEEDS_XML_FILTER_FLAGS;
|
|
|
|
typedef [v1_enum] enum FEEDS_XML_INCLUDE_FLAGS
|
|
{
|
|
FXIF_NONE = 0x00000000,
|
|
FXIF_CF_EXTENSIONS = 0x00000001,
|
|
} FEEDS_XML_INCLUDE_FLAGS;
|
|
|
|
typedef [v1_enum] enum FEEDS_DOWNLOAD_STATUS
|
|
{
|
|
FDS_NONE = 0,
|
|
FDS_PENDING = 1,
|
|
FDS_DOWNLOADING = 2,
|
|
FDS_DOWNLOADED = 3,
|
|
FDS_DOWNLOAD_FAILED = 4,
|
|
} FEEDS_DOWNLOAD_STATUS;
|
|
|
|
typedef [v1_enum] enum FEEDS_SYNC_SETTING
|
|
{
|
|
FSS_DEFAULT = 0,
|
|
FSS_INTERVAL = 1,
|
|
FSS_MANUAL = 2,
|
|
FSS_SUGGESTED = 3,
|
|
} FEEDS_SYNC_SETTING;
|
|
|
|
typedef [v1_enum] enum FEEDS_DOWNLOAD_ERROR
|
|
{
|
|
FDE_NONE = 0,
|
|
FDE_DOWNLOAD_FAILED = 1,
|
|
FDE_INVALID_FEED_FORMAT = 2,
|
|
FDE_NORMALIZATION_FAILED = 3,
|
|
FDE_PERSISTENCE_FAILED = 4,
|
|
FDE_DOWNLOAD_BLOCKED = 5,
|
|
FDE_CANCELED = 6,
|
|
FDE_UNSUPPORTED_AUTH = 7,
|
|
FDE_BACKGROUND_DOWNLOAD_DISABLED = 8,
|
|
FDE_NOT_EXIST = 9,
|
|
FDE_UNSUPPORTED_MSXML = 10,
|
|
FDE_UNSUPPORTED_DTD = 11,
|
|
FDE_DOWNLOAD_SIZE_LIMIT_EXCEEDED = 12,
|
|
FDE_ACCESS_DENIED = 13,
|
|
FDE_AUTH_FAILED = 14,
|
|
FDE_INVALID_AUTH = 15,
|
|
} FEEDS_DOWNLOAD_ERROR;
|
|
|
|
typedef [v1_enum] enum FEEDS_EVENTS_ITEM_COUNT_FLAGS
|
|
{
|
|
FEICF_READ_ITEM_COUNT_CHANGED = 0x00000001,
|
|
FEICF_UNREAD_ITEM_COUNT_CHANGED = 0x00000002,
|
|
} FEEDS_EVENTS_ITEM_COUNT_FLAGS;
|
|
|
|
typedef int FEICF;
|
|
|
|
|
|
//
|
|
// Platform custom HRESULT error codes (FACILITY_ITF)
|
|
//
|
|
typedef enum FEEDS_ERROR_CODE
|
|
{
|
|
FEC_E_ERRORBASE = 0xC0040200L,
|
|
FEC_E_INVALIDMSXMLPROPERTY = FEC_E_ERRORBASE, // 0
|
|
FEC_E_DOWNLOADSIZELIMITEXCEEDED, // 1
|
|
} FEEDS_ERROR_CODE;
|
|
|
|
|
|
|
|
//
|
|
// C++ Interfaces
|
|
//
|
|
|
|
|
|
[
|
|
uuid(5357e238-fb12-4aca-a930-cab7832b84bf) // IID_IXFeedsManager
|
|
]
|
|
interface IXFeedsManager : IUnknown
|
|
{
|
|
// Core methods
|
|
|
|
HRESULT RootFolder([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT IsSubscribed([in] LPCWSTR pszUrl, [out] BOOL* pbSubscribed);
|
|
|
|
// Helper methods
|
|
|
|
HRESULT ExistsFeed([in] LPCWSTR pszPath, [out] BOOL* pbFeedExists);
|
|
HRESULT GetFeed([in] LPCWSTR pszPath, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT GetFeedByUrl([in] LPCWSTR pszUrl, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT ExistsFolder([in] LPCWSTR pszPath, [out] BOOL* pbFolderExists);
|
|
HRESULT GetFolder([in] LPCWSTR pszPath, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT DeleteFeed([in] LPCWSTR pszPath);
|
|
HRESULT DeleteFolder([in] LPCWSTR pszPath);
|
|
|
|
// Background sync engine methods
|
|
|
|
HRESULT BackgroundSync([in] FEEDS_BACKGROUNDSYNC_ACTION fbsa);
|
|
HRESULT BackgroundSyncStatus([out] FEEDS_BACKGROUNDSYNC_STATUS* pfbss);
|
|
HRESULT DefaultInterval([out] UINT* puiInterval);
|
|
HRESULT SetDefaultInterval([in] UINT uiInterval);
|
|
HRESULT AsyncSyncAll();
|
|
|
|
// Feed Operations
|
|
|
|
HRESULT Normalize([in] IStream* pStreamIn, [out] IStream** ppStreamOut);
|
|
HRESULT ItemCountLimit([out] UINT* puiItemCountLimit);
|
|
};
|
|
|
|
[
|
|
uuid(dc43a9d5-5015-4301-8c96-a47434b4d658) // IID_IXFeedsEnum
|
|
]
|
|
interface IXFeedsEnum : IUnknown
|
|
{
|
|
HRESULT Count([out] UINT* puiCount);
|
|
HRESULT Item([in] UINT uiIndex, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
};
|
|
|
|
[
|
|
uuid(4c963678-3a51-4b88-8531-98b90b6508f2) // IID_IXFeedFolder
|
|
]
|
|
interface IXFeedFolder : IUnknown
|
|
{
|
|
// Folder methods
|
|
|
|
HRESULT Feeds([out] IXFeedsEnum** ppfe);
|
|
HRESULT Subfolders([out] IXFeedsEnum** ppfe);
|
|
HRESULT CreateFeed([in] LPCWSTR pszName, [in] LPCWSTR pszUrl, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT CreateSubfolder([in] LPCWSTR pszName, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT ExistsFeed(LPCWSTR pszName, BOOL* pbFeedExists);
|
|
HRESULT ExistsSubfolder(LPCWSTR pszName, BOOL* pbSubfolderExists);
|
|
HRESULT GetFeed([in] LPCWSTR pszName, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT GetSubfolder([in] LPCWSTR pszName, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT Delete();
|
|
HRESULT Name([out] LPWSTR* ppszName);
|
|
HRESULT Rename([in] LPCWSTR pszName);
|
|
HRESULT Path([out] LPWSTR* ppszPath);
|
|
HRESULT Move([in] LPCWSTR pszPath);
|
|
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT IsRoot([out] BOOL* pbIsRootFeedFolder);
|
|
|
|
// Folder Eventing methods
|
|
|
|
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
|
|
// Folder Aggregate Property methods
|
|
|
|
HRESULT TotalUnreadItemCount([out] UINT* puiTotalUnreadItemCount);
|
|
HRESULT TotalItemCount([out] UINT* puiTotalItemCount);
|
|
};
|
|
|
|
[
|
|
uuid(7964b769-234a-4bb1-a5f4-90454c8ad07e) // IID_IXFeedFolderEvents
|
|
]
|
|
interface IXFeedFolderEvents : IUnknown
|
|
{
|
|
// Generic error
|
|
|
|
HRESULT Error();
|
|
|
|
// Folder
|
|
|
|
HRESULT FolderAdded([in] LPCWSTR pszPath);
|
|
HRESULT FolderDeleted([in] LPCWSTR pszPath);
|
|
HRESULT FolderRenamed([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FolderMovedFrom([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FolderMovedTo([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FolderItemCountChanged([in] LPCWSTR pszPath, [in] FEICF feicfFlags);
|
|
|
|
// Feed
|
|
|
|
HRESULT FeedAdded([in] LPCWSTR pszPath);
|
|
HRESULT FeedDeleted([in] LPCWSTR pszPath);
|
|
HRESULT FeedRenamed([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FeedUrlChanged([in] LPCWSTR pszPath);
|
|
HRESULT FeedMovedFrom([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FeedMovedTo([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FeedDownloading([in] LPCWSTR pszPath);
|
|
HRESULT FeedDownloadCompleted([in] LPCWSTR pszPath, [in] FEEDS_DOWNLOAD_ERROR fde);
|
|
HRESULT FeedItemCountChanged([in] LPCWSTR pszPath, [in] FEICF feicfFlags);
|
|
};
|
|
|
|
[
|
|
uuid(a44179a4-e0f6-403b-af8d-d080f425a451) // IID_IXFeed
|
|
]
|
|
interface IXFeed : IUnknown
|
|
{
|
|
// Feed methods
|
|
|
|
HRESULT Xml([in] UINT uiItemCount, [in] FEEDS_XML_SORT_PROPERTY sortProperty, [in] FEEDS_XML_SORT_ORDER sortOrder, [in] FEEDS_XML_FILTER_FLAGS filterFlags, [in] FEEDS_XML_INCLUDE_FLAGS includeFlags, [out] IStream** pps);
|
|
HRESULT Name([out] LPWSTR* ppszName);
|
|
HRESULT Rename([in] LPCWSTR pszName);
|
|
HRESULT Url([out] LPWSTR* ppszUrl);
|
|
HRESULT SetUrl([in] LPCWSTR pszUrl);
|
|
HRESULT LocalId([out] GUID* pguid);
|
|
HRESULT Path([out] LPWSTR* ppszPath);
|
|
HRESULT Move([in] LPCWSTR pszPath);
|
|
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT LastWriteTime([out] SYSTEMTIME* pstLastWriteTime);
|
|
HRESULT Delete();
|
|
HRESULT Download();
|
|
HRESULT AsyncDownload();
|
|
HRESULT CancelAsyncDownload();
|
|
HRESULT SyncSetting([out] FEEDS_SYNC_SETTING* pfss);
|
|
HRESULT SetSyncSetting([in] FEEDS_SYNC_SETTING fss);
|
|
HRESULT Interval([out] UINT* puiInterval);
|
|
HRESULT SetInterval([in] UINT uiInterval);
|
|
HRESULT LastDownloadTime([out] SYSTEMTIME* pstLastDownloadTime);
|
|
HRESULT LocalEnclosurePath([out] LPWSTR* ppszPath);
|
|
HRESULT Items([out] IXFeedsEnum** ppfe);
|
|
HRESULT GetItem([in] UINT uiId, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT MarkAllItemsRead();
|
|
HRESULT MaxItemCount([out] UINT* puiMaxItemCount);
|
|
HRESULT SetMaxItemCount([in] UINT uiMaxItemCount);
|
|
HRESULT DownloadEnclosuresAutomatically([out] BOOL* pbDownloadEnclosuresAutomatically);
|
|
HRESULT SetDownloadEnclosuresAutomatically([in] BOOL bDownloadEnclosuresAutomatically);
|
|
HRESULT DownloadStatus([out] FEEDS_DOWNLOAD_STATUS* pfds);
|
|
HRESULT LastDownloadError([out] FEEDS_DOWNLOAD_ERROR* pfde);
|
|
HRESULT Merge([in] IStream* pStream, [in] LPCWSTR pszUrl);
|
|
HRESULT DownloadUrl([out] LPWSTR* ppszUrl);
|
|
|
|
// Feed Property methods
|
|
|
|
HRESULT Title([out] LPWSTR* ppszTitle);
|
|
HRESULT Description([out] LPWSTR* ppszDescription);
|
|
HRESULT Link([out] LPWSTR* ppszHomePage);
|
|
HRESULT Image([out] LPWSTR* ppszImageUrl);
|
|
HRESULT LastBuildDate([out] SYSTEMTIME* pstLastBuildDate);
|
|
HRESULT PubDate([out] SYSTEMTIME* pstPubDate);
|
|
HRESULT Ttl([out] UINT* puiTtl);
|
|
HRESULT Language([out] LPWSTR* ppszLanguage);
|
|
HRESULT Copyright([out] LPWSTR* ppszCopyright);
|
|
HRESULT IsList([out] BOOL* pbIsList);
|
|
|
|
// Feed Eventing methods
|
|
|
|
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
|
|
// Feed Aggregate Property methods
|
|
|
|
HRESULT UnreadItemCount([out] UINT* puiUnreadItemCount);
|
|
HRESULT ItemCount([out] UINT* puiItemCount);
|
|
};
|
|
|
|
[
|
|
uuid(ce528e77-3716-4eb7-956d-f5e37502e12a) // IID_IXFeed2
|
|
]
|
|
interface IXFeed2 : IXFeed
|
|
{
|
|
HRESULT GetItemByEffectiveId([in] UINT uiEffectiveId, [in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT LastItemDownloadTime([out] SYSTEMTIME* pstLastItemDownloadTime);
|
|
HRESULT Username([out] LPWSTR* ppszUsername);
|
|
HRESULT Password([out] LPWSTR* ppszPassword);
|
|
HRESULT SetCredentials([in] LPCWSTR pszUsername, [in] LPCWSTR pszPassword);
|
|
HRESULT ClearCredentials();
|
|
};
|
|
|
|
[
|
|
uuid(1630852e-1263-465b-98e5-fe60ffec4ac2) // IID_IXFeedEvents
|
|
]
|
|
interface IXFeedEvents : IUnknown
|
|
{
|
|
// Generic error
|
|
|
|
HRESULT Error();
|
|
|
|
// Feed
|
|
|
|
HRESULT FeedDeleted([in] LPCWSTR pszPath);
|
|
HRESULT FeedRenamed([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FeedUrlChanged([in] LPCWSTR pszPath);
|
|
HRESULT FeedMoved([in] LPCWSTR pszPath, [in] LPCWSTR pszOldPath);
|
|
HRESULT FeedDownloading([in] LPCWSTR pszPath);
|
|
HRESULT FeedDownloadCompleted([in] LPCWSTR pszPath, [in] FEEDS_DOWNLOAD_ERROR fde);
|
|
HRESULT FeedItemCountChanged([in] LPCWSTR pszPath, [in] FEICF feicfFlags);
|
|
};
|
|
|
|
[
|
|
uuid(e757b2f5-e73e-434e-a1bf-2bd7c3e60fcb) // IID_IXFeedItem
|
|
]
|
|
interface IXFeedItem : IUnknown
|
|
{
|
|
HRESULT Xml([in] FEEDS_XML_INCLUDE_FLAGS fxif, [out] IStream** pps);
|
|
HRESULT Title([out] LPWSTR* ppszTitle);
|
|
HRESULT Link([out] LPWSTR* ppszUrl);
|
|
HRESULT Guid([out] LPWSTR* ppszGuid);
|
|
HRESULT Description([out] LPWSTR* ppszDescription);
|
|
HRESULT PubDate([out] SYSTEMTIME* pstPubDate);
|
|
HRESULT Comments([out] LPWSTR* ppszUrl);
|
|
HRESULT Author([out] LPWSTR* ppszAuthor);
|
|
HRESULT Enclosure([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT IsRead([out] BOOL* pbIsRead);
|
|
HRESULT SetIsRead([in] BOOL bIsRead);
|
|
HRESULT LocalId([out] UINT* puiId);
|
|
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT Delete();
|
|
HRESULT DownloadUrl([out] LPWSTR* ppszUrl);
|
|
HRESULT LastDownloadTime([out] SYSTEMTIME* pstLastDownloadTime);
|
|
HRESULT Modified([out] SYSTEMTIME* pstModifiedTime);
|
|
};
|
|
|
|
[
|
|
uuid(6cda2dc7-9013-4522-9970-2a9dd9ead5a3) // IID_IXFeedItem2
|
|
]
|
|
interface IXFeedItem2 : IXFeedItem
|
|
{
|
|
HRESULT EffectiveId([out] UINT* puiEffectiveId);
|
|
};
|
|
|
|
[
|
|
uuid(BFBFB953-644F-4792-B69C-DFACA4CBF89A) // IID_IXFeedEnclosure
|
|
]
|
|
interface IXFeedEnclosure : IUnknown
|
|
{
|
|
HRESULT Url([out] LPWSTR* ppszUrl);
|
|
HRESULT Type([out] LPWSTR* ppszMimeType);
|
|
HRESULT Length([out] UINT* puiLength);
|
|
HRESULT AsyncDownload();
|
|
HRESULT CancelAsyncDownload();
|
|
HRESULT DownloadStatus([out] FEEDS_DOWNLOAD_STATUS* pfds);
|
|
HRESULT LastDownloadError([out] FEEDS_DOWNLOAD_ERROR* pfde);
|
|
HRESULT LocalPath([out] LPWSTR* ppszPath);
|
|
HRESULT Parent([in] REFIID riid, [out, iid_is(riid)] void** ppv);
|
|
HRESULT DownloadUrl([out] LPWSTR* ppszUrl);
|
|
HRESULT DownloadMimeType([out] LPWSTR* ppszMimeType);
|
|
HRESULT RemoveFile();
|
|
HRESULT SetFile([in] LPCWSTR pszDownloadUrl, [in] LPCWSTR pszDownloadFilePath, [in] LPCWSTR pszDownloadMimeType, [in] LPCWSTR pszEnclosureFilename);
|
|
};
|
|
|
|
|
|
|
|
#ifndef FEEDS_NOAUTOMATIONLIB
|
|
|
|
//
|
|
// Automation Library
|
|
//
|
|
|
|
|
|
[
|
|
uuid(9cdcd9c9-bc40-41c6-89c5-230466db0bd0), // LIB_Feeds
|
|
|
|
helpstring("Microsoft Feeds"),
|
|
lcid(0x0000),
|
|
version(2.0),
|
|
custom(0F21F359-AB84-41E8-9A78-36D110E6D2F9, "Microsoft.Feeds.Interop")
|
|
]
|
|
library Feeds
|
|
{
|
|
importlib ("stdole2.tlb");
|
|
#include "msfeedsid.h"
|
|
|
|
|
|
//
|
|
// Dual interfaces
|
|
//
|
|
|
|
|
|
[
|
|
uuid(a74029cc-1f1a-4906-88f0-810638d86591), // IID_IFeedsManager
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedsManager : IDispatch
|
|
{
|
|
[id(DISPID_FEEDS_RootFolder), propget, helpstring("Retrieves the root subscription folder.")]
|
|
HRESULT RootFolder([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDS_IsSubscribed), helpstring("Determines if the URL is in the system subscription store.")]
|
|
HRESULT IsSubscribed([in] BSTR feedUrl, [out, retval] VARIANT_BOOL* subscribed);
|
|
|
|
[id(DISPID_FEEDS_ExistsFeed), helpstring("Checks if a feed exists.")]
|
|
HRESULT ExistsFeed([in] BSTR feedPath, [out, retval] VARIANT_BOOL* exists);
|
|
|
|
[id(DISPID_FEEDS_GetFeed), helpstring("Retrieves a feed from its path.")]
|
|
HRESULT GetFeed([in] BSTR feedPath, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDS_GetFeedByUrl), helpstring("Retrieves a feed by its URL.")]
|
|
HRESULT GetFeedByUrl([in] BSTR feedUrl, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDS_ExistsFolder), helpstring("Checks if a feed folder exists.")]
|
|
HRESULT ExistsFolder([in] BSTR folderPath, [out, retval] VARIANT_BOOL* exists);
|
|
|
|
[id(DISPID_FEEDS_GetFolder), helpstring("Retrieves a folder from its path.")]
|
|
HRESULT GetFolder([in] BSTR folderPath, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDS_DeleteFeed), helpstring("Deletes a feed.")]
|
|
HRESULT DeleteFeed([in] BSTR feedPath);
|
|
|
|
[id(DISPID_FEEDS_DeleteFolder), helpstring("Deletes a feed folder.")]
|
|
HRESULT DeleteFolder([in] BSTR folderPath);
|
|
|
|
[id(DISPID_FEEDS_BackgroundSync), helpstring("Controls the behavior of background synchronization engine.")]
|
|
HRESULT BackgroundSync([in] FEEDS_BACKGROUNDSYNC_ACTION action);
|
|
|
|
[id(DISPID_FEEDS_BackgroundSyncStatus), propget, helpstring("Retrieves the background sync status.")]
|
|
HRESULT BackgroundSyncStatus([out, retval] FEEDS_BACKGROUNDSYNC_STATUS *status);
|
|
|
|
[id(DISPID_FEEDS_DefaultInterval), propget, helpstring("Retrieves the default update interval for feeds.")]
|
|
HRESULT DefaultInterval([out, retval] LONG* minutes);
|
|
|
|
[id(DISPID_FEEDS_DefaultInterval), propput, helpstring("Sets the default update interval for feeds.")]
|
|
HRESULT DefaultInterval([in] LONG minutes);
|
|
|
|
[id(DISPID_FEEDS_AsyncSyncAll), helpstring("Starts the background synchronization engine.")]
|
|
HRESULT AsyncSyncAll();
|
|
|
|
[id(DISPID_FEEDS_Normalize), helpstring("Converts a feed to the normalized form.")]
|
|
HRESULT Normalize([in] BSTR feedXmlIn, [out, retval] BSTR* feedXmlOut);
|
|
|
|
[id(DISPID_FEEDS_ItemCountLimit), propget, helpstring("Retrieves the maximum number of items retained for feeds.")]
|
|
HRESULT ItemCountLimit([out, retval] LONG* itemCountLimit);
|
|
};
|
|
|
|
[
|
|
uuid(e3cd0028-2eed-4c60-8fae-a3225309a836), // IID_IFeedsEnum
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedsEnum : IDispatch
|
|
{
|
|
[id(DISPID_FEEDSENUM_Count), propget, helpstring("Retrieves the number of objects in this collection.")]
|
|
HRESULT Count([out, retval] LONG* count);
|
|
|
|
[id(DISPID_FEEDSENUM_Item), helpstring("Returns an object by index.")]
|
|
HRESULT Item([in] LONG index, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_NEWENUM), propget, hidden, restricted]
|
|
HRESULT _NewEnum([out, retval] IEnumVARIANT** enumVar);
|
|
};
|
|
|
|
[
|
|
uuid(81f04ad1-4194-4d7d-86d6-11813cec163c), // IID_IFeedFolder
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedFolder : IDispatch
|
|
{
|
|
[id(DISPID_FEEDFOLDER_Feeds), propget, helpstring("Retrieves the collection of feeds in this folder.")]
|
|
HRESULT Feeds([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_Subfolders), propget, helpstring("Retrieves the collection of subfolders in this folder.")]
|
|
HRESULT Subfolders([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_CreateFeed), helpstring("Creates a new feed, and subscribes to it.")]
|
|
HRESULT CreateFeed([in] BSTR feedName, [in] BSTR feedUrl, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_CreateSubfolder), helpstring("Creates a new subfolder in the folder.")]
|
|
HRESULT CreateSubfolder([in] BSTR folderName, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_ExistsFeed), helpstring("Checks if a feed exists.")]
|
|
HRESULT ExistsFeed([in] BSTR feedName, [out, retval] VARIANT_BOOL* exists);
|
|
|
|
[id(DISPID_FEEDFOLDER_GetFeed), helpstring("Retrieves a feed by its name.")]
|
|
HRESULT GetFeed([in] BSTR feedName, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_ExistsSubfolder), helpstring("Checks if a subfolder exists.")]
|
|
HRESULT ExistsSubfolder([in] BSTR folderName, [out, retval] VARIANT_BOOL* exists);
|
|
|
|
[id(DISPID_FEEDFOLDER_GetSubfolder), helpstring("Retrieves a subfolder by its name.")]
|
|
HRESULT GetSubfolder([in] BSTR folderName, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_Delete), helpstring("Deletes this folder and all of its contents.")]
|
|
HRESULT Delete();
|
|
|
|
[id(DISPID_FEEDFOLDER_Name), propget, helpstring("Retrieves the name of the current folder.")]
|
|
HRESULT Name([out, retval] BSTR* folderName);
|
|
|
|
[id(DISPID_FEEDFOLDER_Rename), helpstring("Renames the folder.")]
|
|
HRESULT Rename([in] BSTR folderName);
|
|
|
|
[id(DISPID_FEEDFOLDER_Path), propget, helpstring("Retrieves the path of the current folder.")]
|
|
HRESULT Path([out, retval] BSTR* folderPath);
|
|
|
|
[id(DISPID_FEEDFOLDER_Move), helpstring("Moves the feed folder to a new location.")]
|
|
HRESULT Move([in] BSTR newParentPath);
|
|
|
|
[id(DISPID_FEEDFOLDER_Parent), propget, helpstring("Retrieves the parent of the current feed folder.")]
|
|
HRESULT Parent([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDFOLDER_IsRoot), propget, helpstring("Checks to see whether the current folder is the root folder.")]
|
|
HRESULT IsRoot([out, retval] VARIANT_BOOL* isRoot);
|
|
|
|
[id(DISPID_FEEDFOLDER_TotalUnreadItemCount), propget, helpstring("Retrieves the total (aggregated) number of unread items.")]
|
|
HRESULT TotalUnreadItemCount([out, retval] LONG* count);
|
|
|
|
[id(DISPID_FEEDFOLDER_TotalItemCount), propget, helpstring("Retrieves the total (aggregated) number of items.")]
|
|
HRESULT TotalItemCount([out, retval] LONG* count);
|
|
|
|
[id(DISPID_FEEDFOLDER_GetWatcher), helpstring("Retrieves the appropriate interface for events.")]
|
|
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [out, retval] IDispatch** disp);
|
|
};
|
|
|
|
[
|
|
uuid(20a59fa6-a844-4630-9e98-175f70b4d55b), // IID_IFeedFolderEvents
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedFolderEvents : IDispatch
|
|
{
|
|
// Generic error
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_Error), helpstring("Occurs when a feed folder event error occurs.")]
|
|
HRESULT Error();
|
|
|
|
// Folder
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FolderAdded), helpstring("Occurs when a folder or subfolder is added.")]
|
|
HRESULT FolderAdded([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FolderDeleted), helpstring("Occurs when a folder or subfolder is removed.")]
|
|
HRESULT FolderDeleted([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FolderRenamed), helpstring("Occurs when a folder or subfolder is renamed.")]
|
|
HRESULT FolderRenamed([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FolderMovedFrom), helpstring("Occurs when a folder or subfolder is moved from this folder.")]
|
|
HRESULT FolderMovedFrom([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FolderMovedTo), helpstring("Occurs when a folder or subfolder is moved to this folder.")]
|
|
HRESULT FolderMovedTo([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FolderItemCountChanged), helpstring("Occurs when the aggregated item count of a feed folder changes.")]
|
|
HRESULT FolderItemCountChanged([in] const BSTR path, [in] LONG itemCountType);
|
|
|
|
// Feed
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedAdded), helpstring("Occurs when a feed is added to the folder.")]
|
|
HRESULT FeedAdded([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedDeleted), helpstring("Occurs when a feed is deleted from the folder.")]
|
|
HRESULT FeedDeleted([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedRenamed), helpstring("Occurs when a feed is renamed.")]
|
|
HRESULT FeedRenamed([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedUrlChanged), helpstring("Occurs when the URL of a feed is changed.")]
|
|
HRESULT FeedUrlChanged([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedMovedFrom), helpstring("Occurs when a feed is moved from this folder.")]
|
|
HRESULT FeedMovedFrom([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedMovedTo), helpstring("Occurs when a feed is moved to this folder.")]
|
|
HRESULT FeedMovedTo([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedDownloading), helpstring("Occurs when a feed starts to download.")]
|
|
HRESULT FeedDownloading([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedDownloadCompleted), helpstring("Occurs when a feed has finished or failed downloading.")]
|
|
HRESULT FeedDownloadCompleted([in] const BSTR path, [in] FEEDS_DOWNLOAD_ERROR error);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedItemCountChanged), helpstring("Occurs when the item count of a feed changed.")]
|
|
HRESULT FeedItemCountChanged([in] const BSTR path, [in] LONG itemCountType);
|
|
};
|
|
|
|
[
|
|
uuid(f7f915d8-2ede-42bc-98e7-a5d05063a757), // IID_IFeed
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeed : IDispatch
|
|
{
|
|
[id(DISPID_FEED_Xml), helpstring("Returns the Extensible Markup Language (XML) for the feed.")]
|
|
HRESULT Xml([in] LONG count, [in] FEEDS_XML_SORT_PROPERTY sortProperty, [in] FEEDS_XML_SORT_ORDER sortOrder, [in] FEEDS_XML_FILTER_FLAGS filterFlags, [in] FEEDS_XML_INCLUDE_FLAGS includeFlags, [out, retval] BSTR* xml);
|
|
|
|
[id(DISPID_FEED_Name), propget, helpstring("Retrieves the display name of the feed.")]
|
|
HRESULT Name([out, retval] BSTR* name);
|
|
|
|
[id(DISPID_FEED_Rename), helpstring("Renames the feed.")]
|
|
HRESULT Rename([in] BSTR name);
|
|
|
|
[id(DISPID_FEED_Url), propget, helpstring("Retrieves the URL of the feed.")]
|
|
HRESULT Url([out, retval] BSTR* feedUrl);
|
|
|
|
[id(DISPID_FEED_Url), propput, helpstring("Sets the URL of the feed.")]
|
|
HRESULT Url([in] BSTR feedUrl);
|
|
|
|
[id(DISPID_FEED_LocalId), propget, helpstring("Retrieves the guid associated with this feed.")]
|
|
HRESULT LocalId([out, retval] BSTR* feedGuid);
|
|
|
|
[id(DISPID_FEED_Path), propget, helpstring("Retrieves the path for the current feed.")]
|
|
HRESULT Path([out, retval] BSTR* path);
|
|
|
|
[id(DISPID_FEED_Move), helpstring("Moves the feed to a new location.")]
|
|
HRESULT Move([in] BSTR newParentPath);
|
|
|
|
[id(DISPID_FEED_Parent), propget, helpstring("Retrieves the parent folder of the feed.")]
|
|
HRESULT Parent([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEED_LastWriteTime), propget, helpstring("Retrieves the last time the feed changed.")]
|
|
HRESULT LastWriteTime([out, retval] DATE* lastWrite);
|
|
|
|
[id(DISPID_FEED_Delete), helpstring("Deletes the feed.")]
|
|
HRESULT Delete();
|
|
|
|
[id(DISPID_FEED_Download), helpstring("Downloads content for the feed.")]
|
|
HRESULT Download();
|
|
|
|
[id(DISPID_FEED_AsyncDownload), helpstring("Downloads content for the feed asynchronously.")]
|
|
HRESULT AsyncDownload();
|
|
|
|
[id(DISPID_FEED_CancelAsyncDownload), helpstring("Cancels asynchronous download of the feed.")]
|
|
HRESULT CancelAsyncDownload();
|
|
|
|
[id(DISPID_FEED_SyncSetting), propget, helpstring("Retrieves the update setting for the feed.")]
|
|
HRESULT SyncSetting([out, retval] FEEDS_SYNC_SETTING* syncSetting);
|
|
|
|
[id(DISPID_FEED_SyncSetting), propput, helpstring("Sets the update setting for the feed.")]
|
|
HRESULT SyncSetting([in] FEEDS_SYNC_SETTING syncSetting);
|
|
|
|
[id(DISPID_FEED_Interval), propget, helpstring("Retrieves the update interval for the feed.")]
|
|
HRESULT Interval([out, retval] LONG* minutes);
|
|
|
|
[id(DISPID_FEED_Interval), propput, helpstring("Sets the update interval for the feed.")]
|
|
HRESULT Interval([in] LONG minutes);
|
|
|
|
[id(DISPID_FEED_LastDownloadTime), propget, helpstring("Retrieves the date and time of the last successful download for the feed.")]
|
|
HRESULT LastDownloadTime([out, retval] DATE* lastDownload);
|
|
|
|
[id(DISPID_FEED_LocalEnclosurePath), propget, helpstring("Retrieves the file system path where enclosures for the feed are downloaded.")]
|
|
HRESULT LocalEnclosurePath([out, retval] BSTR* path);
|
|
|
|
[id(DISPID_FEED_Items), propget, helpstring("Retrieves an enumerator for items from the feed.")]
|
|
HRESULT Items([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEED_GetItem), helpstring("Returns a IFeedItem object by identifier (ID).")]
|
|
HRESULT GetItem([in] LONG itemId, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEED_Title), propget, helpstring("Retrieves the title from the feed.")]
|
|
HRESULT Title([out, retval] BSTR* title);
|
|
|
|
[id(DISPID_FEED_Description), propget, helpstring("Retrieves a phrase or sentence that describes the feed.")]
|
|
HRESULT Description([out, retval] BSTR* description);
|
|
|
|
[id(DISPID_FEED_Link), propget, helpstring("Retrieves the home page URL from the feed.")]
|
|
HRESULT Link([out, retval] BSTR* homePage);
|
|
|
|
[id(DISPID_FEED_Image), propget, helpstring("Retrieves the image URL from the feed.")]
|
|
HRESULT Image([out, retval] BSTR* imageUrl);
|
|
|
|
[id(DISPID_FEED_LastBuildDate), propget, helpstring("Retrieves the last build date from the feed.")]
|
|
HRESULT LastBuildDate([out, retval] DATE* lastBuildDate);
|
|
|
|
[id(DISPID_FEED_PubDate), propget, helpstring("Retrieves the publication date and time of the feed.")]
|
|
HRESULT PubDate([out, retval] DATE* lastPopulateDate);
|
|
|
|
[id(DISPID_FEED_Ttl), propget, helpstring("Retrieves the time to live (TTL) from the feed.")]
|
|
HRESULT Ttl([out, retval] LONG* ttl);
|
|
|
|
[id(DISPID_FEED_Language), propget, helpstring("Retrieves the language code from the feed.")]
|
|
HRESULT Language([out, retval] BSTR* language);
|
|
|
|
[id(DISPID_FEED_Copyright), propget, helpstring("Retrieves the copyright from the feed.")]
|
|
HRESULT Copyright([out, retval] BSTR* copyright);
|
|
|
|
[id(DISPID_FEED_MaxItemCount), propget, helpstring("Maximum number of items to keep, excess items will be deleted")]
|
|
HRESULT MaxItemCount([out, retval] LONG* count);
|
|
|
|
[id(DISPID_FEED_MaxItemCount), propput, helpstring("Maximum number of items to keep, excess items will be deleted")]
|
|
HRESULT MaxItemCount([in] LONG count);
|
|
|
|
[id(DISPID_FEED_DownloadEnclosuresAutomatically), propget, helpstring("Retrieves a VARIANT_BOOL value that determines whether enclosures are downloaded automatically.")]
|
|
HRESULT DownloadEnclosuresAutomatically([out, retval] VARIANT_BOOL* downloadEnclosuresAutomatically);
|
|
|
|
[id(DISPID_FEED_DownloadEnclosuresAutomatically), propput, helpstring("Sets a VARIANT_BOOL value that determines whether enclosures are downloaded automatically.")]
|
|
HRESULT DownloadEnclosuresAutomatically([in] VARIANT_BOOL downloadEnclosuresAutomatically);
|
|
|
|
[id(DISPID_FEED_DownloadStatus), propget, helpstring("Retrieves the current download status of the feed.")]
|
|
HRESULT DownloadStatus([out, retval] FEEDS_DOWNLOAD_STATUS* status);
|
|
|
|
[id(DISPID_FEED_LastDownloadError), propget, helpstring("Retrieves the last download error of the feed.")]
|
|
HRESULT LastDownloadError([out, retval] FEEDS_DOWNLOAD_ERROR* error);
|
|
|
|
[id(DISPID_FEED_Merge), helpstring("Merges feed XML into an existing feed.")]
|
|
HRESULT Merge([in] BSTR feedXml, [in] BSTR feedUrl);
|
|
|
|
[id(DISPID_FEED_DownloadUrl), propget, helpstring("Retrieves the URL that was used to download the feed.")]
|
|
HRESULT DownloadUrl([out, retval] BSTR* feedUrl);
|
|
|
|
[id(DISPID_FEED_IsList), propget, helpstring("Determines if the feed is a list.")]
|
|
HRESULT IsList([out, retval] VARIANT_BOOL* isList);
|
|
|
|
[id(DISPID_FEED_MarkAllItemsRead), helpstring("Sets the IFeedItem::IsRead property to VARIANT_TRUE for all feed items.")]
|
|
HRESULT MarkAllItemsRead();
|
|
|
|
[id(DISPID_FEED_GetWatcher), helpstring("Retrieves the appropriate interface for events.")]
|
|
HRESULT GetWatcher([in] FEEDS_EVENTS_SCOPE scope, [in] FEEDS_EVENTS_MASK mask, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEED_UnreadItemCount), propget, helpstring("Retrieves the count of unread feed items.")]
|
|
HRESULT UnreadItemCount([out, retval] LONG* count);
|
|
|
|
[id(DISPID_FEED_ItemCount), propget, helpstring("Retrieves the count of items in this feed.")]
|
|
HRESULT ItemCount([out, retval] LONG* count);
|
|
};
|
|
|
|
[
|
|
uuid(33f2ea09-1398-4ab9-b6a4-f94b49d0a42e), // IID_IFeed2
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeed2 : IFeed
|
|
{
|
|
[id(DISPID_FEED_GetItemByEffectiveId), helpstring("Retrieves the item that contains the effective ID.")]
|
|
HRESULT GetItemByEffectiveId([in] LONG itemEffectiveId, [out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEED_LastItemDownloadTime), propget, helpstring("Retrieves the most recent download time for all feed items.")]
|
|
HRESULT LastItemDownloadTime([out, retval] DATE* lastItemDownloadTime);
|
|
|
|
[id(DISPID_FEED_Username), propget, helpstring("Retrieves the username used to authenticate the feed, if present.")]
|
|
HRESULT Username([out, retval] BSTR* username);
|
|
|
|
[id(DISPID_FEED_Password), propget, helpstring("Retrieves the password used to authenticate the feed, if present.")]
|
|
HRESULT Password([out, retval] BSTR* password);
|
|
|
|
[id(DISPID_FEED_SetCredentials), helpstring("Sets the username and password used to authenticate the feed.")]
|
|
HRESULT SetCredentials([in] BSTR username, [in] BSTR password);
|
|
|
|
[id(DISPID_FEED_ClearCredentials), helpstring("Clears the username and password used to authenticate the feed.")]
|
|
HRESULT ClearCredentials();
|
|
};
|
|
|
|
[
|
|
uuid(abf35c99-0681-47ea-9a8c-1436a375a99e), // IID_IFeedEvents
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedEvents : IDispatch
|
|
{
|
|
// Generic error
|
|
|
|
[id(DISPID_FEEDEVENTS_Error), helpstring("Occurs when a feed event error occurs.")]
|
|
HRESULT Error();
|
|
|
|
// Feed
|
|
|
|
[id(DISPID_FEEDEVENTS_FeedDeleted), helpstring("Occurs when a feed is deleted.")]
|
|
HRESULT FeedDeleted([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDEVENTS_FeedRenamed), helpstring("Occurs when a feed is renamed.")]
|
|
HRESULT FeedRenamed([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDEVENTS_FeedUrlChanged), helpstring("Occurs when the URL of a feed is changed.")]
|
|
HRESULT FeedUrlChanged([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDEVENTS_FeedMoved), helpstring("Occurs when a feed is moved.")]
|
|
HRESULT FeedMoved([in] const BSTR path, [in] const BSTR oldPath);
|
|
|
|
[id(DISPID_FEEDEVENTS_FeedDownloading), helpstring("Occurs when a feed starts to download.")]
|
|
HRESULT FeedDownloading([in] const BSTR path);
|
|
|
|
[id(DISPID_FEEDEVENTS_FeedDownloadCompleted), helpstring("Occurs when a feed has finished or failed downloading.")]
|
|
HRESULT FeedDownloadCompleted([in] const BSTR path, [in] FEEDS_DOWNLOAD_ERROR error);
|
|
|
|
[id(DISPID_FEEDFOLDEREVENTS_FeedItemCountChanged), helpstring("Occurs when the item count of a feed changed.")]
|
|
HRESULT FeedItemCountChanged([in] const BSTR path, [in] LONG itemCountType);
|
|
};
|
|
|
|
[
|
|
uuid(0a1e6cad-0a47-4da2-a13d-5baaa5c8bd4f), // IID_IFeedItem
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedItem : IDispatch
|
|
{
|
|
[id(DISPID_FEEDITEM_Xml), helpstring("Returns the Extensible Markup Language (XML) fragment for the feed item.")]
|
|
HRESULT Xml([in] FEEDS_XML_INCLUDE_FLAGS includeFlags, [out, retval] BSTR* xml);
|
|
|
|
[id(DISPID_FEEDITEM_Title), propget, helpstring("Retrieves the title from the feed item.")]
|
|
HRESULT Title([out, retval] BSTR* title);
|
|
|
|
[id(DISPID_FEEDITEM_Link), propget, helpstring("Retrieves the URL from the feed item.")]
|
|
HRESULT Link([out, retval] BSTR* linkUrl);
|
|
|
|
[id(DISPID_FEEDITEM_Guid), propget, helpstring("Retrieves the guid from the feed item.")]
|
|
HRESULT Guid([out, retval] BSTR* itemGuid);
|
|
|
|
[id(DISPID_FEEDITEM_Description), propget, helpstring("Retrieves the description from the feed item.")]
|
|
HRESULT Description([out, retval] BSTR* description);
|
|
|
|
[id(DISPID_FEEDITEM_PubDate), propget, helpstring("Retrieves the publication date of the feed item.")]
|
|
HRESULT PubDate([out, retval] DATE* pubDate);
|
|
|
|
[id(DISPID_FEEDITEM_Comments), propget, helpstring("Retrieves the URL of the comments page from the feed item.")]
|
|
HRESULT Comments([out, retval] BSTR* comments);
|
|
|
|
[id(DISPID_FEEDITEM_Author), propget, helpstring("Retrieves the author from the feed item.")]
|
|
HRESULT Author([out, retval] BSTR* author);
|
|
|
|
[id(DISPID_FEEDITEM_Enclosure), propget, helpstring("Retrieves the IFeedEnclosure object associated with the the feed item.")]
|
|
HRESULT Enclosure([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDITEM_IsRead), propget, helpstring("Retrieves the read status of the feed item.")]
|
|
HRESULT IsRead([out, retval] VARIANT_BOOL* isRead);
|
|
|
|
[id(DISPID_FEEDITEM_IsRead), propput, helpstring("Sets the read status of the feed item.")]
|
|
HRESULT IsRead([in] VARIANT_BOOL isRead);
|
|
|
|
[id(DISPID_FEEDITEM_LocalId), propget, helpstring("Retrieves the assigned identifier (ID) of the feed item.")]
|
|
HRESULT LocalId([out, retval] LONG* itemId);
|
|
|
|
[id(DISPID_FEEDITEM_Parent), propget, helpstring("Retrieves the parent feed of the feed item.")]
|
|
HRESULT Parent([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDITEM_Delete), helpstring("Deletes the feed item.")]
|
|
HRESULT Delete();
|
|
|
|
[id(DISPID_FEEDITEM_DownloadUrl), propget, helpstring("Retrieves the URL that was used to download this item.")]
|
|
HRESULT DownloadUrl([out, retval] BSTR* itemUrl);
|
|
|
|
[id(DISPID_FEEDITEM_LastDownloadTime), propget, helpstring("Retrieves the date and time of the last download for this item.")]
|
|
HRESULT LastDownloadTime([out, retval] DATE* lastDownload);
|
|
|
|
[id(DISPID_FEEDITEM_Modified), propget, helpstring("Retrieves the date and time of the last modification for this item.")]
|
|
HRESULT Modified([out, retval] DATE* modified);
|
|
};
|
|
|
|
[
|
|
uuid(79ac9ef4-f9c1-4d2b-a50b-a7ffba4dcf37), // IID_IFeedItem2
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedItem2 : IFeedItem
|
|
{
|
|
[id(DISPID_FEEDITEM_EffectiveId), propget, helpstring("Retrieves the effective ID for this item.")]
|
|
HRESULT EffectiveId([out, retval] LONG* effectiveId);
|
|
};
|
|
|
|
[
|
|
uuid(361C26F7-90A4-4e67-AE09-3A36A546436A), // IID_IFeedEnclosure
|
|
dual,
|
|
oleautomation
|
|
]
|
|
interface IFeedEnclosure : IDispatch
|
|
{
|
|
[id(DISPID_FEEDENCLOSURE_Url), propget, helpstring("Retrieves the URL from the enclosure.")]
|
|
HRESULT Url([out, retval] BSTR* enclosureUrl);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_Type), propget, helpstring("Retrieves the Multipurpose Internet Mail Extensions (MIME) type from the enclosure.")]
|
|
HRESULT Type([out, retval] BSTR* mimeType);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_Length), propget, helpstring("Retrieves the length value from the enclosure.")]
|
|
HRESULT Length([out, retval] LONG* length);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_AsyncDownload), helpstring("Downloads the enclosure asynchronously.")]
|
|
HRESULT AsyncDownload();
|
|
|
|
[id(DISPID_FEEDENCLOSURE_CancelAsyncDownload), helpstring("Cancels asynchronous download of the enclosure.")]
|
|
HRESULT CancelAsyncDownload();
|
|
|
|
[id(DISPID_FEEDENCLOSURE_DownloadStatus), propget, helpstring("Retrieves the current download status of the enclosure.")]
|
|
HRESULT DownloadStatus([out, retval] FEEDS_DOWNLOAD_STATUS* status);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_LastDownloadError), propget, helpstring("Retrieves the last download error of the enclosure.")]
|
|
HRESULT LastDownloadError([out, retval] FEEDS_DOWNLOAD_ERROR* error);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_LocalPath), propget, helpstring("Retrieves the local system path where the enclosure is stored.")]
|
|
HRESULT LocalPath([out, retval] BSTR* localPath);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_Parent), propget, helpstring("Retrieves the parent feed item of the enclosure.")]
|
|
HRESULT Parent([out, retval] IDispatch** disp);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_DownloadUrl), propget, helpstring("Retrieves the URL that was used to download the enclosure.")]
|
|
HRESULT DownloadUrl([out, retval] BSTR* enclosureUrl);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_DownloadMimeType), propget, helpstring("Retrieves the final Multipurpose Internet Mail Extensions (MIME) type for the downloaded enclosure.")]
|
|
HRESULT DownloadMimeType([out, retval] BSTR* mimeType);
|
|
|
|
[id(DISPID_FEEDENCLOSURE_RemoveFile), helpstring("Deletes the enclosure file or cancels any pending or in-progress downloads.")]
|
|
HRESULT RemoveFile();
|
|
|
|
[id(DISPID_FEEDENCLOSURE_SetFile), helpstring("Adds the downloaded enclosure file to the RSS platform.")]
|
|
HRESULT SetFile([in] BSTR downloadUrl, [in] BSTR downloadFilePath, [in] BSTR downloadMimeType, [in] BSTR enclosureFilename);
|
|
};
|
|
|
|
|
|
|
|
|
|
//
|
|
// Coclasses
|
|
//
|
|
|
|
|
|
[
|
|
uuid(faeb54c4-f66f-4806-83a0-805299f5e3ad), // CLSID_FeedsManager
|
|
helpstring("Exposes methods to access the System Feed List.")
|
|
]
|
|
coclass FeedsManager
|
|
{
|
|
interface IFeedsManager;
|
|
};
|
|
|
|
[
|
|
uuid(281001ed-7765-4cb0-84af-e9b387af01ff), // CLSID_FeedFolderWatcher
|
|
helpstring("Exposes event handlers for System Feed List folder events."),
|
|
hidden,
|
|
noncreatable
|
|
]
|
|
coclass FeedFolderWatcher
|
|
{
|
|
[default, source] dispinterface IFeedFolderEvents;
|
|
};
|
|
|
|
[
|
|
uuid(18a6737b-f433-4687-89bc-a1b4dfb9f123), // CLSID_FeedWatcher
|
|
helpstring("Exposes event handlers for feed events."),
|
|
hidden,
|
|
noncreatable
|
|
]
|
|
coclass FeedWatcher
|
|
{
|
|
[default, source] dispinterface IFeedEvents;
|
|
};
|
|
|
|
};
|
|
|
|
#endif // FEEDS_NOAUTOMATIONLIB
|
|
|