www.pudn.com > antispam-addin.rar > templatemail.cxx


#include "unihead.hxx" 
 
#include "templatenode.hxx" 
#include "templatemail.hxx" 
 
 
 
 
TemplateMail::TemplateMail() 
{ 
	m_pHead = NULL; 
	m_pTail = NULL; 
} 
 
TemplateMail::~TemplateMail() 
{ 
	TemplateNode *pTempNode = NULL,*pNode = NULL; 
	pNode = m_pHead; 
 
	while(pNode) 
	{ 
		pTempNode = pNode->pNextNode; 
 
		if(pNode->Name) 
		{ 
			free(pNode->Name); 
		} 
 
		if(pNode->Value) 
		{ 
			free(pNode->Value); 
		} 
 
		delete pNode; 
 
		pNode = pTempNode; 
	} 
 
} 
 
void TemplateMail::SetValue(char *Name,char *Value) 
{ 
	TemplateNode *pNode = NULL; 
	pNode = m_pHead; 
 
	while(pNode) 
	{ 
		if((pNode->nType == NODE_TYPE_TAG) && (strcmp(Name,pNode->Name) == 0)) 
		{ 
			pNode->Value = strdup(Value); 
			pNode->ValueLen = strlen(Value); 
 
			//break; 
		} 
 
		pNode = pNode->pNextNode; 
	} 
} 
 
TemplateNode* TemplateMail::GetHeadNode() 
{ 
	return m_pHead; 
} 
 
void TemplateMail::Insert(TemplateNode *pNode) 
{ 
	if(!m_pHead) 
	{ 
		m_pHead = pNode; 
	}else 
	{ 
		m_pTail->pNextNode = pNode; 
	} 
 
	m_pTail = pNode; 
}