view src/VisVim/DSAddIn.h @ 19820:49e38e5472e6 v8.2.0466

patch 8.2.0466: not parsing messages recursively breaks the govim plugin Commit: https://github.com/vim/vim/commit/09c569038c42dcbdaa5c9b35fc9d1afbe5072cb4 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Mar 28 18:06:31 2020 +0100 patch 8.2.0466: not parsing messages recursively breaks the govim plugin Problem: Not parsing messages recursively breaks the govim plugin. Solution: When called recursively do handle messages but do not close channels.
author Bram Moolenaar <Bram@vim.org>
date Sat, 28 Mar 2020 18:15:04 +0100
parents 3fc0f57ecb91
children
line wrap: on
line source

// DSAddIn.h : header file
//

#if !defined(AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED_)
#define AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED_

#include "commands.h"

// {4F9E01C0-406B-11d2-8006-00001C405077}
DEFINE_GUID (CLSID_DSAddIn,
	0x4f9e01c0, 0x406b, 0x11d2, 0x80, 0x6, 0x0, 0x0, 0x1c, 0x40, 0x50, 0x77);

/////////////////////////////////////////////////////////////////////////////
// CDSAddIn

class CDSAddIn :
	public   IDSAddIn,
	public   CComObjectRoot,
	public   CComCoClass < CDSAddIn,
		 &CLSID_DSAddIn >
{
    public:
	DECLARE_REGISTRY (CDSAddIn, "VisVim.DSAddIn.1",
			  "VisVim Developer Studio Add-in", IDS_VISVIM_LONGNAME,
			  THREADFLAGS_BOTH)

	CDSAddIn ()
	{
	}

	BEGIN_COM_MAP (CDSAddIn)
	COM_INTERFACE_ENTRY (IDSAddIn)
	END_COM_MAP ()
	DECLARE_NOT_AGGREGATABLE (CDSAddIn)

	// IDSAddIns
    public:
	STDMETHOD (OnConnection) (THIS_ IApplication * pApp, VARIANT_BOOL bFirstTime,
				  long dwCookie, VARIANT_BOOL * OnConnection);
	STDMETHOD (OnDisconnection) (THIS_ VARIANT_BOOL bLastTime);

    protected:
	bool AddCommand (IApplication* pApp, char* MethodName, char* CmdName,
			 UINT StrResId, UINT GlyphIndex, VARIANT_BOOL bFirstTime);

    protected:
	CCommandsObj * m_pCommands;
	DWORD m_dwCookie;
};

//{{AFX_INSERT_LOCATION}}

#endif // !defined(AFX_DSADDIN_H__AC726715_2977_11D1_B2F3_006008040780__INCLUDED)