1// DSAddIn.h : header file
2//
3
4#if !defined(AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED_)
5#define AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED_
6
7#include "commands.h"
8
9// {4F9E01C0-406B-11d2-8006-00001C405077}
10DEFINE_GUID (CLSID_DSAddIn,
11	0x4f9e01c0, 0x406b, 0x11d2, 0x80, 0x6, 0x0, 0x0, 0x1c, 0x40, 0x50, 0x77);
12
13/////////////////////////////////////////////////////////////////////////////
14// CDSAddIn
15
16class CDSAddIn :
17	public   IDSAddIn,
18	public   CComObjectRoot,
19	public   CComCoClass < CDSAddIn,
20		 &CLSID_DSAddIn >
21{
22    public:
23	DECLARE_REGISTRY (CDSAddIn, "VisVim.DSAddIn.1",
24			  "VisVim Developer Studio Add-in", IDS_VISVIM_LONGNAME,
25			  THREADFLAGS_BOTH)
26
27	CDSAddIn ()
28	{
29	}
30
31	BEGIN_COM_MAP (CDSAddIn)
32	COM_INTERFACE_ENTRY (IDSAddIn)
33	END_COM_MAP ()
34	DECLARE_NOT_AGGREGATABLE (CDSAddIn)
35
36	// IDSAddIns
37    public:
38	STDMETHOD (OnConnection) (THIS_ IApplication * pApp, VARIANT_BOOL bFirstTime,
39				  long dwCookie, VARIANT_BOOL * OnConnection);
40	STDMETHOD (OnDisconnection) (THIS_ VARIANT_BOOL bLastTime);
41
42    protected:
43	bool AddCommand (IApplication* pApp, char* MethodName, char* CmdName,
44			 UINT StrResId, UINT GlyphIndex, VARIANT_BOOL bFirstTime);
45
46    protected:
47	CCommandsObj * m_pCommands;
48	DWORD m_dwCookie;
49};
50
51//{{AFX_INSERT_LOCATION}}
52
53#endif // !defined(AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED)
54