PLUGIN.H
// plugin.h : main header file for PLUGIN.DLL 
 
#if !defined( __AFXCTL_H__ ) 
#error include 'afxctl.h' before including this file 
#endif 
 
#include "resource.h"       // main symbols 
#include "mprui.h" 
 
///////////////////////////////////////////////////////////////////////////// 
// CPluginApp : See plugin.cpp for implementation. 
 
class CPluginApp : public COleControlModule 
{ 
public: 
BOOL InitInstance(); 
int ExitInstance(); 
}; 
 
extern const GUID CDECL _tlid; 
extern const WORD _wVerMajor; 
extern const WORD _wVerMinor; 
 
 
///////////////////////////////////////////////////////////////////////////// 
// CPluginObj command target 
 
class CPluginObj : public CCmdTarget 
{ 
DECLARE_DYNCREATE(CPluginObj) 
 
CPluginObj();           // protected constructor used by dynamic creation 
 
// Attributes 
public: 
 
// Operations 
public: 
 
// Overrides 
// ClassWizard generated virtual function overrides 
//{{AFX_VIRTUAL(CPluginObj) 
public: 
virtual void OnFinalRelease(); 
//}}AFX_VIRTUAL 
 
// Implementation 
protected: 
IMprUIHost *m_pIMprUIHost; 
virtual ~CPluginObj(); 
 
// Generated message map functions 
//{{AFX_MSG(CPluginObj) 
// NOTE - the ClassWizard will add and remove member functions here. 
//}}AFX_MSG 
 
DECLARE_MESSAGE_MAP() 
DECLARE_OLECREATE(CPluginObj) 
 
 BEGIN_INTERFACE_PART(MprUIPlugin, IUnknown) 
// Connect to router.  The plugin module should disconnect from the 
//  router when the IMprUIPlugin is released. 
STDMETHOD(ConnectToRouter)(LPCTSTR pRouterName, IMprUIHost *pMprUIHost); 
// Returns the text for the given node. 
//  Use CoTaskMemAlloc to allocate memory for ppszTitle 
STDMETHOD(GetTitle)(PWSTR* ppszTitle); 
// Returns a context menu for the given node. 
//  Menu will be destroyed by host. 
STDMETHOD(GetContextMenu)(HMENU* phMenu); 
// Processes the command returned by the context menu 
STDMETHOD(ProcessCommand)(WPARAM wParam, LPARAM lParam, HWND hWndParent); 
// Returns CLSID for the ole control which displays right hand pane 
//  Use CoTaskMemAlloc to allocate space for CLSID* 
STDMETHOD(GetCLSID)(CLSID** ppClsid); 
END_INTERFACE_PART(MprUIPlugin) 
 
DECLARE_INTERFACE_MAP() 
}; 
 
/////////////////////////////////////////////////////////////////////////////