windows-nt/Source/XPSP1/NT/shell/ext/cdfview/chanmgri.h
2020-09-26 16:20:57 +08:00

140 lines
3.9 KiB
C++

////////////////////////////////////////////////////////////////////////////////
//
// chanmgri.h
//
// The class definition for the CChannelMgr
//
// History:
//
// 4/30/97 julianj Created.
//
////////////////////////////////////////////////////////////////////////////////
//
// Check for previous includes of this file.
//
#ifndef _CHANMGRI_H_
#define _CHANMGRI_H_
//
// The class definition for the Channel Manager
//
class CChannelMgr : public IChannelMgr,
public IChannelMgrPriv2,
#ifdef UNICODE
public ICopyHookA,
#endif
public ICopyHook
{
//
// Methods
//
public:
//
// Constructor
//
CChannelMgr(void);
//
// IUnknown
//
STDMETHODIMP QueryInterface(REFIID, void **);
STDMETHODIMP_(ULONG) AddRef(void);
STDMETHODIMP_(ULONG) Release(void);
//
// IChannelMgr methods
//
STDMETHODIMP AddChannelShortcut(CHANNELSHORTCUTINFO *pChannelInfo);
STDMETHODIMP DeleteChannelShortcut(BSTR strTitle);
STDMETHODIMP AddCategory(CHANNELCATEGORYINFO *pCategoryInfo);
STDMETHODIMP DeleteCategory(BSTR strTitle);
STDMETHODIMP EnumChannels(DWORD dwEnumFlags, LPCWSTR pszURL,
IEnumChannels** pIEnumChannels);
//
// IChannelMgrPrive methods.
//
STDMETHODIMP GetBaseChannelPath(LPSTR pszPath, int cch);
STDMETHODIMP InvalidateCdfCache(void);
STDMETHODIMP PreUpdateChannelImage(LPCSTR pszPath,
LPSTR pszHashItem,
int* piIndex,
UINT* puFlags,
int* piImageIndex);
STDMETHODIMP UpdateChannelImage(LPCWSTR pszHashItem,
int iIndex,
UINT uFlags,
int iImageIndex);
STDMETHODIMP GetChannelFolderPath (LPSTR pszPath, int cch,
enum _tagCHANNELFOLDERLOCATION chLoc);
STDMETHODIMP GetChannelFolder (LPITEMIDLIST* ppidl,
enum _tagCHANNELFOLDERLOCATION chLoc);
STDMETHODIMP DownloadMinCDF(HWND hwnd, LPCWSTR pwszURL, LPWSTR pwszTitle,
DWORD cchTitle, SUBSCRIPTIONINFO *pSubInfo,
BOOL *pfIsSoftware);
STDMETHODIMP ShowChannel(IWebBrowser2 *pWebBrowser2, LPWSTR pwszURL, HWND hwnd);
STDMETHODIMP IsChannelInstalled(LPCWSTR pwszURL);
STDMETHODIMP IsChannelPreinstalled(LPCWSTR pwszURL, BSTR * bstrFile);
STDMETHODIMP RemovePreinstalledMapping(LPCWSTR pwszURL);
STDMETHODIMP SetupPreinstalledMapping(LPCWSTR pwszURL, LPCWSTR pwszFile);
STDMETHODIMP AddAndSubscribe(HWND hwnd, LPCWSTR pwszURL,
ISubscriptionMgr *pSubscriptionMgr);
STDMETHODIMP WriteScreenSaverURL(LPCWSTR pwszURL, LPCWSTR pwszScreenSaverURL);
STDMETHODIMP RefreshScreenSaverURLs();
//
// ICopyHook method
//
STDMETHODIMP_(UINT) CopyCallback(
HWND hwnd,
UINT wFunc,
UINT wFlags,
LPCTSTR pszSrcFile,
DWORD dwSrcAttribs,
LPCTSTR pszDestFile,
DWORD dwDestAttribs
);
#ifdef UNICODE
STDMETHODIMP_(UINT) CopyCallback(
HWND hwnd,
UINT wFunc,
UINT wFlags,
LPCSTR pszSrcFile,
DWORD dwSrcAttribs,
LPCSTR pszDestFile,
DWORD dwDestAttribs
);
#endif
// Helpers
STDMETHODIMP AddAndSubscribeEx2(HWND hwnd, LPCWSTR pwszURL,
ISubscriptionMgr *pSubscriptionMgr,
BOOL bAlwaysSubscribe);
private:
//
// Destructor
//
~CChannelMgr(void);
//
// Member variables.
//
private:
ULONG m_cRef;
};
#endif // _CHANMGRI_H_