Mercurial > vim
view src/VisVim/Commands.h @ 29167:420f84328526 v8.2.5103
patch 8.2.5103: build fails with small features
Commit: https://github.com/vim/vim/commit/34f99584c73f91bcc8ca5236557a2a09335e1e43
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jun 15 21:08:09 2022 +0100
patch 8.2.5103: build fails with small features
Problem: Build fails with small features.
Solution: Add #ifdef. Skip test on MS-Windows.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 15 Jun 2022 22:15:03 +0200 |
parents | 3fc0f57ecb91 |
children |
line wrap: on
line source
// Commands.h : header file // #if !defined(AFX_COMMANDS_H__AC726717_2977_11D1_B2F3_006008040780__INCLUDED_) #define AFX_COMMANDS_H__AC726717_2977_11D1_B2F3_006008040780__INCLUDED_ #include "vsvtypes.h" class CCommands : public CComDualImpl < ICommands, &IID_ICommands, &LIBID_VisVim >, public CComObjectRoot, public CComCoClass < CCommands, &CLSID_Commands > { protected: IApplication * m_pApplication; public: CCommands (); ~CCommands (); void SetApplicationObject (IApplication * m_pApplication); IApplication *GetApplicationObject () { return m_pApplication; } void UnadviseFromEvents (); BEGIN_COM_MAP (CCommands) COM_INTERFACE_ENTRY (IDispatch) COM_INTERFACE_ENTRY (ICommands) END_COM_MAP () DECLARE_NOT_AGGREGATABLE (CCommands) protected: // This class template is used as the base class for the Application // event handler object and the Debugger event handler object, // which are declared below. template < class IEvents, const IID * piidEvents, const GUID * plibid, class XEvents, const CLSID * pClsidEvents > class XEventHandler : public CComDualImpl < IEvents, piidEvents, plibid >, public CComObjectRoot, public CComCoClass < XEvents, pClsidEvents > { public: BEGIN_COM_MAP (XEvents) COM_INTERFACE_ENTRY (IDispatch) COM_INTERFACE_ENTRY_IID (*piidEvents, IEvents) END_COM_MAP () DECLARE_NOT_AGGREGATABLE (XEvents) void Connect (IUnknown * pUnk) { VERIFY (SUCCEEDED (AtlAdvise (pUnk, this, *piidEvents, &m_dwAdvise))); } void Disconnect (IUnknown * pUnk) { AtlUnadvise (pUnk, *piidEvents, m_dwAdvise); } CCommands *m_pCommands; protected: DWORD m_dwAdvise; }; // This object handles events fired by the Application object class XApplicationEvents : public XEventHandler < IApplicationEvents, &IID_IApplicationEvents, &LIBID_VisVim, XApplicationEvents, &CLSID_ApplicationEvents > { public: // IApplicationEvents methods STDMETHOD (BeforeBuildStart) (THIS); STDMETHOD (BuildFinish) (THIS_ long nNumErrors, long nNumWarnings); STDMETHOD (BeforeApplicationShutDown) (THIS); STDMETHOD (DocumentOpen) (THIS_ IDispatch * theDocument); STDMETHOD (BeforeDocumentClose) (THIS_ IDispatch * theDocument); STDMETHOD (DocumentSave) (THIS_ IDispatch * theDocument); STDMETHOD (NewDocument) (THIS_ IDispatch * theDocument); STDMETHOD (WindowActivate) (THIS_ IDispatch * theWindow); STDMETHOD (WindowDeactivate) (THIS_ IDispatch * theWindow); STDMETHOD (WorkspaceOpen) (THIS); STDMETHOD (WorkspaceClose) (THIS); STDMETHOD (NewWorkspace) (THIS); }; typedef CComObject < XApplicationEvents > XApplicationEventsObj; XApplicationEventsObj *m_pApplicationEventsObj; // This object handles events fired by the Application object class XDebuggerEvents : public XEventHandler < IDebuggerEvents, &IID_IDebuggerEvents, &LIBID_VisVim, XDebuggerEvents, &CLSID_DebuggerEvents > { public: // IDebuggerEvents method STDMETHOD (BreakpointHit) (THIS_ IDispatch * pBreakpoint); }; typedef CComObject < XDebuggerEvents > XDebuggerEventsObj; XDebuggerEventsObj *m_pDebuggerEventsObj; public: // ICommands methods STDMETHOD (VisVimDialog) (THIS); STDMETHOD (VisVimEnable) (THIS); STDMETHOD (VisVimDisable) (THIS); STDMETHOD (VisVimToggle) (THIS); STDMETHOD (VisVimLoad) (THIS); }; typedef CComObject < CCommands > CCommandsObj; //{{AFX_INSERT_LOCATION}} #endif // !defined(AFX_COMMANDS_H__AC726717_2977_11D1_B2F3_006008040780__INCLUDED)