///////////////////////////////////////////////////////////////////////////// // // Copyright (c) 1996 Microsoft Corporation // // Module Name: // BaseCmdT.h // // Abstract: // Definition of the CBaseCmdTarget class. // // Implementation File: // BaseCmdT.cpp // // Author: // David Potter (davidp) December 11, 1996 // // Revision History: // // Notes: // ///////////////////////////////////////////////////////////////////////////// #ifndef _BASECMDT_H_ #define _BASECMDT_H_ ///////////////////////////////////////////////////////////////////////////// // Include Files ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // Forward Class Declarations ///////////////////////////////////////////////////////////////////////////// class CBaseCmdTarget; ///////////////////////////////////////////////////////////////////////////// // External Class Declarations ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // CBaseCmdTarget command target ///////////////////////////////////////////////////////////////////////////// class CBaseCmdTarget : public CCmdTarget { DECLARE_DYNCREATE(CBaseCmdTarget) // Construction public: CBaseCmdTarget(void) { m_nReferenceCount = 0; } // protected constructor used by dynamic creation // Attributes protected: ULONG m_nReferenceCount; public: ULONG NReferenceCount(void) const { return m_nReferenceCount; } // Operations public: ULONG AddRef(void) { return ++m_nReferenceCount; } ULONG Release(void) { ULONG nReferenceCount; ASSERT(m_nReferenceCount != 0); nReferenceCount = --m_nReferenceCount; if (m_nReferenceCount == 0) delete this; return nReferenceCount; } // Overrides public: // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CBaseCmdTarget) //}}AFX_VIRTUAL // Implementation protected: // Generated message map functions //{{AFX_MSG(CBaseCmdTarget) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; //*** class CBaseCmdTarget ///////////////////////////////////////////////////////////////////////////// // Global Functions ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// // Global Variables ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// #endif // _BASECMDT_H_