//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\ // chanmenu.h // Conext menu interface for items. // History: // 3/26/97 edwardp Created. // Check for previous includes of this file. #ifndef _CHANMENU_H_ #define _CHANMENU_H_ // Class definition for the item context menu class. class CChannelMenu : public IContextMenu, public IShellExtInit { // Methods public: // Constructor CChannelMenu(void); // IUnknown STDMETHODIMP QueryInterface(REFIID, void **); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void); // IContextMenu methods. STDMETHODIMP QueryContextMenu(HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags); STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici); STDMETHODIMP GetCommandString(UINT_PTR idCommand, UINT uFLags, UINT *pwReserved, LPSTR pszName, UINT cchMax); // ISHelExtInit STDMETHODIMP Initialize(LPCITEMIDLIST pidl, LPDATAOBJECT pdobj, HKEY hkey); private: // Destructor. ~CChannelMenu(void); // Helper functions. void RemoveMenuItems(HMENU hmenu); void Refresh(HWND hwnd); void ViewSource(HWND hwnd); HRESULT Subscribe(HWND hwnd); // Member variables. private: ULONG m_cRef; ISubscriptionMgr* m_pSubscriptionMgr; BSTR m_bstrURL; BSTR m_bstrName; TCHAR m_szPath[MAX_PATH]; TASK_TRIGGER m_tt; SUBSCRIPTIONINFO m_si; }; #endif // _CHANMENU_H_