|
// (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.
//
// PlugInMap.cpp : implementation file
//
#include "stdafx.h"
#include "PlugInMap.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CPlugInMap
IMPLEMENT_DYNCREATE(CPlugInMap, CCmdTarget)
CList<CPlugInObject, CPlugInObject&> CPlugInMap::m_PlugInMapList;
CPlugInMap::CPlugInMap()
{
m_pPlugInFor = NULL;
m_bPreCall = true;
m_bPostCall = false;
}
CPlugInMap::~CPlugInMap()
{
}
BEGIN_MESSAGE_MAP(CPlugInMap, CCmdTarget)
//{{AFX_MSG_MAP(CPlugInMap)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CPlugInMap message handlers
bool CPlugInMap::AddObject()
{
CPlugInObject entry(this);
CPlugInMap::m_PlugInMapList.AddTail(entry);
return true;
}
POSITION CPlugInMap::GetHeadPosition()
{
return m_PlugInMapList.GetHeadPosition();
}
CPlugInObject& CPlugInMap::GetAt(POSITION pos)
{
return m_PlugInMapList.GetAt(pos);
}
void CPlugInMap::MoveNext(POSITION& pos)
{
m_PlugInMapList.GetNext(pos);
}
CPlugInMap* CPlugInMap::CreateMapObject()
{
ASSERT(FALSE); // you must override this in your inherited class
// it should do a:
//return new CMyClassName;
return NULL;
}
void CPlugInMap::SetPlugInFor(CCmdTarget *pObj)
{
ASSERT(pObj != NULL);
m_pPlugInFor = pObj;
}
bool CPlugInMap::IsPreCall() const
{
return m_bPreCall;
}
bool CPlugInMap::IsPostCall() const
{
return m_bPostCall;
}
void CPlugInMap::SetPreCall()
{
m_bPreCall = true;
m_bPostCall = false;
m_bSuppressThisMessage.push_back(false);
}
void CPlugInMap::SetPostCall()
{
m_bPreCall = false;
m_bPostCall = true;
m_bSuppressThisMessage.push_back(false);
}
bool CPlugInMap::IsPlugInFor(CRuntimeClass *pClass)
{
UNREFERENCED_PARAMETER(pClass);
// override this in your derived class and return true if you are a
// plug in for the class name being passed in.
ASSERT(FALSE);
return false;
}
void CPlugInMap::SuppressThisMessage()
{
m_bSuppressThisMessage[m_bSuppressThisMessage.size() - 1] = true;
}
bool CPlugInMap::IsSuppressed()
{
bool bSuppressed = m_bSuppressThisMessage[m_bSuppressThisMessage.size() - 1];
m_bSuppressThisMessage.pop_back();
return bSuppressed;
}
bool CPlugInMap::GetSuppressedState() const
{
bool bSuppressed = m_bSuppressThisMessage[m_bSuppressThisMessage.size() - 1];
return bSuppressed;
}
|
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.