reman3/Rayman_X/cpa/tempgrp/TIA/Src/EdIRMacL.cpp

68 lines
1.5 KiB
C++

// EdIRMacL.cpp : implementation file
//
#include "stdafx.h"
#include "Defines.hpp"
#ifdef D_ED_IR_ACTIVE
#include "EdIRMacL.hpp"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
//////////////////////////////////////////////////////////////////
// class CPA_EdIR_MacroList
//////////////////////////////////////////////////////////////////
/****************************************************************************/
CPA_EdIR_MacroList::CPA_EdIR_MacroList()
{
map = new CMapStringToPtr(500);
map->InitHashTable(500, TRUE);
}
/****************************************************************************/
CPA_EdIR_MacroList::~CPA_EdIR_MacroList()
{
m_fn_vDestroyAndRemoveAllEntries();
}
/****************************************************************************/
void CPA_EdIR_MacroList::m_fn_vDestroyAndRemoveAllEntries()
{
POSITION pos=GetHeadPosition();
while(pos!=NULL)
delete GetNext(pos);
RemoveAll();
map->RemoveAll();
}
/****************************************************************************/
char *CPA_EdIR_MacroList::m_fn_bIsAMacro(CString csMacro)
{
void *p;
csMacro.MakeLower();
if(map->Lookup(csMacro, p))
{
CPA_EdIR_Macro *p1 = (CPA_EdIR_Macro *) p;
return (char *) (LPCSTR) p1->m_csContent;
}
return NULL;
}
/****************************************************************************/
void CPA_EdIR_MacroList::AddTail(CPA_EdIR_Macro *p)
{
InsertAfter(GetTailPosition(), p);
p->m_csName.MakeLower();
map->SetAt(p->m_csName, p);
}
#endif //D_ED_IR_ACTIVE