reman3/Rayman_X/cpa/tempgrp/Ctl/Src/Others/CTL_ODat.cpp

164 lines
4.2 KiB
C++

// Definitions for the classes to handle lists of Owner Data
//
// YB
///////////////////////////////////////////////////////////////
#include "StdAfx.h"
#include "Others\CTL_ODat.hpp"
//External Modules
#include "CTL_ErO.hpp"
//End of External Modules
//#############################################################
//#############################################################
//#############################################################
//*********************************************************************************
CTL_OwnerData::CTL_OwnerData(void *_pvDataPtr,
CString _csName)
{
m_pri_pvDataPtr = _pvDataPtr;
m_pri_csName = _csName;
m_pri_tdeType = CTL_OWNER_DATA_TYPE_POINTER;
m_pri_lData = 0;
}
//*********************************************************************************
CTL_OwnerData::CTL_OwnerData(long _lData,
CString _csName)
{
m_pri_lData = _lData;
m_pri_csName = _csName;
m_pri_tdeType = CTL_OWNER_DATA_TYPE_LONG;
m_pri_pvDataPtr = NULL;
}
//*********************************************************************************
CTL_OwnerData::~CTL_OwnerData()
{
}
//*********************************************************************************
CString CTL_OwnerData::m_pub_fn_csGetName()
{
return m_pri_csName;
}
//*********************************************************************************
void *CTL_OwnerData::m_pub_fn_pvGetDataPtr()
{
//ANNECY CB
// ERROR_ASSERT( m_pri_tdeType == CTL_OWNER_DATA_TYPE_POINTER );
//END
return m_pri_pvDataPtr;
}
//*********************************************************************************
void CTL_OwnerData::m_pub_fn_vSetDataPtr(void *_pvDataPtr)
{
m_pri_pvDataPtr = _pvDataPtr;
}
//*********************************************************************************
long CTL_OwnerData::m_pub_fn_lGetData()
{
//ANNECY CB
// ERROR_ASSERT( m_pri_tdeType == CTL_OWNER_DATA_TYPE_LONG );
//END
return m_pri_lData;
}
//*********************************************************************************
void CTL_OwnerData::m_pub_fn_vSetData(long _lData)
{
m_pri_lData = _lData;
}
//#############################################################
//#############################################################
//#############################################################
//*********************************************************************************
CTL_ListOfOwnerData::CTL_ListOfOwnerData()
{
}
//*********************************************************************************
CTL_ListOfOwnerData::~CTL_ListOfOwnerData()
{
m_pub_fn_vEmptyListAndDestroyElements();
}
//*********************************************************************************
void CTL_ListOfOwnerData::m_pub_fn_vAddOwnerData(CTL_OwnerData *_pclNewOwnerData)
{
}
//*********************************************************************************
CTL_OwnerData *CTL_ListOfOwnerData::m_pub_fn_pclAddOwnerData(void *_pvDataPtr,
CString _csName)
{
CTL_OwnerData *pclNewOD = new CTL_OwnerData(_pvDataPtr, _csName);
AddTail(pclNewOD);
return pclNewOD;
}
//*********************************************************************************
CTL_OwnerData *CTL_ListOfOwnerData::m_pub_fn_pclAddOwnerData(long _lData,
CString _csName)
{
CTL_OwnerData *pclNewOD = new CTL_OwnerData(_lData, _csName);;
AddTail(pclNewOD);
return pclNewOD;
}
//*********************************************************************************
void CTL_ListOfOwnerData::m_pub_fn_vEmptyListAndDestroyElements()
{
POSITION pos = GetHeadPosition();
while ( pos != NULL )
delete ( GetNext(pos) );
RemoveAll();
}
//*********************************************************************************
void CTL_ListOfOwnerData::m_pub_fn_vEmptyListWithoutDestroyingElements()
{
RemoveAll();
}
//*********************************************************************************
CTL_OwnerData *CTL_ListOfOwnerData::m_pub_fn_pclFindOwnerDataWithName(CString _csSearchedName)
{
CTL_OwnerData *pclCurrentOD;
BOOL bFound = FALSE;
POSITION pos = GetHeadPosition();
while ( (pos != NULL) && (!bFound) )
{
pclCurrentOD = GetNext(pos);
bFound = ( pclCurrentOD->m_pub_fn_csGetName().Compare(_csSearchedName) == 0 );
}
if ( bFound )
return pclCurrentOD;
else
return NULL;
}