|
// (c) R.I.Allen 2002
// You may use this code in anyway that you feel, no guarantees or waranties are implied
// please keep all headers with any source used.
//
#if !defined(AFX_PLUGINMAP_H__59D4EB00_C5CA_11D6_8DCB_9EEEC0B47742__INCLUDED_)
#define AFX_PLUGINMAP_H__59D4EB00_C5CA_11D6_8DCB_9EEEC0B47742__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// PlugInMap.h : header file
//
class CPlugInMap ; // forward declaration
class _PLUGIN_API CPlugInObject : public CObject
{
friend class CPlugInApp ;
public:
CPlugInObject()
{
m_pClass = NULL ;
} ;
CPlugInObject(CPlugInObject& other)
{
m_pClass = other.m_pClass ;
} ;
CPlugInObject(CPlugInMap *pMap) : m_pClass(pMap)
{
} ;
virtual ~CPlugInObject()
{
m_pClass = NULL ;
} ;
CPlugInObject& operator=(CPlugInObject& other)
{
m_pClass = other.m_pClass ;
return *this ;
} ;
private:
CPlugInMap* m_pClass ;
} ;
/////////////////////////////////////////////////////////////////////////////
// CPlugInMap command target
class _PLUGIN_API CPlugInMap : public CCmdTarget
{
friend class CPlugInApp ;
DECLARE_DYNCREATE(CPlugInMap)
CPlugInMap(); // protected constructor used by dynamic creation
private:
static CList<CPlugInObject, CPlugInObject&> m_PlugInMapList ;
protected:
CCmdTarget* m_pPlugInFor ;
bool AddObject() ;
bool m_bPreCall ;
bool m_bPostCall ;
// Attributes
public:
virtual ~CPlugInMap() ;
static POSITION GetHeadPosition() ;
static CPlugInObject& GetAt(POSITION pos) ;
static void MoveNext(POSITION& pos) ;
bool IsPreCall() ;
bool IsPostCall() ;
void SetPreCall() ;
void SetPostCall() ;
// Operations
public:
virtual LPCTSTR GetClass() ;
virtual CPlugInMap* CreateMapObject() ;
void SetPlugInFor(CCmdTarget *pObj);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CPlugInMap)
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CPlugInMap)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_PLUGINMAP_H__59D4EB00_C5CA_11D6_8DCB_9EEEC0B47742__INCLUDED_)
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
A research and development programmer working for a pharmaceutical instrument company for the past 17 years.
I am one of those lucky people who enjoys his work and spends more time than he should either doing work or reseaching new stuff. I can also be found on playing DDO on the Cannith server (Send a tell to "Maetrim" who is my current main)
I am also a keep fit fanatic, doing cross country running and am seriously into [url]http://www.ryushinkan.co.uk/[/url] Karate at this time of my life, training from 4-6 times a week and recently achieved my 1st Dan after 6 years.