home *** CD-ROM | disk | FTP | other *** search
- // Commands.h : header file
- //
-
- // Copyright (C) 1992-1998 Microsoft Corporation
- // All rights reserved.
-
- #if !defined(AFX_COMMANDS_H__D93F3A18_3DA9_11D0_B889_00C04FD7A0F0__INCLUDED_)
- #define AFX_COMMANDS_H__D93F3A18_3DA9_11D0_B889_00C04FD7A0F0__INCLUDED_
-
- #include "AutoBldTypes.h"
-
- class CCommands :
- public CComDualImpl<ICommands, &IID_ICommands, &LIBID_AutoBld>,
- 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)
-
- BOOL m_bTesting;
- int m_nTotalWarnings;
- int m_nTotalErrors;
- CString m_strFileToSend;
- CString m_strStatusLine;
- CString m_strSendTo;
- BOOL m_bCloseWhenDone;
- BOOL m_bMailOnEach;
- BOOL m_bSendFile;
- BOOL m_bIncBuildResults;
- BOOL m_bSendMail;
- CString m_strBuildingConfigurationName;
- BOOL m_bAutoBuilding;
- BOOL m_bBuildInProgres;
-
- 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_AutoBld,
- 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_AutoBld,
- XDebuggerEvents, &CLSID_DebuggerEvents>
- {
- public:
- // IDebuggerEvents method
- STDMETHOD(BreakpointHit)(THIS_ IDispatch * pBreakpoint);
- };
- typedef CComObject<XDebuggerEvents> XDebuggerEventsObj;
- XDebuggerEventsObj* m_pDebuggerEventsObj;
-
- public:
- // ICommands methods
- STDMETHOD(AutoBuildTest)(THIS);
- STDMETHOD(AutoBuild)(THIS);
- STDMETHOD(AutoBuildConfigure)(THIS);
- };
-
- typedef CComObject<CCommands> CCommandsObj;
-
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
-
- #endif // !defined(AFX_COMMANDS_H__D93F3A18_3DA9_11D0_B889_00C04FD7A0F0__INCLUDED)
-