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()
};

/////////////////////////////////////////////////////////////////////////////