68 lines
1.5 KiB
C++
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
|