mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
139 lines
3.9 KiB
139 lines
3.9 KiB
////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// 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_
|