reman3/Rayman_X/cpa/public/ITF/cpaslist.hpp

85 lines
2.2 KiB
C++

/*////////////////////////////////////////////////////////////////////*/
/**/
/* SectorList.h: interface for the CPA_SectorList class.*/
/**/
/*////////////////////////////////////////////////////////////////////*/
/* Author: Silviu Simen 01 september 1998*/
/*////////////////////////////////////////////////////////////////////*/
#if !defined(CPA_SECTORLIST_H)
#define CPA_SECTORLIST_H
/****************************************/
#ifndef CPA_EXPORT
#if defined(CPA_WANTS_IMPORT)
#define CPA_EXPORT __declspec(dllimport)
#elif defined(CPA_WANTS_EXPORT)
#define CPA_EXPORT __declspec(dllexport)
#else
#define CPA_EXPORT
#endif
#endif
/****************************************/
#include "acp_base.h"
#include "itf/CPASObj.hpp"
#include "itf/cpalistb.hpp"
/* this one is for possibly use of HIE_tdxHandleToSuperObject */
/* instead of CPA_SuperObject **/
#define SECTOR_TYPE CPA_SuperObject *
/*////////////////////////////////////////////////////////////////////*/
/**/
/* interface of the CPA_ListBySector class.*/
/**/
/*////////////////////////////////////////////////////////////////////*/
/* Author: Silviu Simen 01 september 1998*/
/*////////////////////////////////////////////////////////////////////*/
class CPA_ListOfObjectsInSectors
{
public:
CPA_BaseObjectList m_lstObjectList;
SECTOR_TYPE m_pSector;
};
class CPA_ListOfObjectsInSectorsByType
{
public:
CPA_BaseObjectList m_lstObjectList;
SECTOR_TYPE m_pSector;
unsigned long m_ulType;
};
class CPA_EXPORT CPA_ListBySector
{
private:
POSITION m_pos; /* for get first / next sector*/
CPA_List<CPA_ListOfObjectsInSectors> m_lstList;
CPA_List<CPA_ListOfObjectsInSectorsByType> m_lstTypeList;
public:
CPA_ListBySector();
virtual ~CPA_ListBySector();
void fn_vCleanAllListsOfSectors (void);
void AddElement (CPA_SuperObject * pObject, SECTOR_TYPE pSector);
BOOL RemoveElement (CPA_SuperObject * pObject);
BOOL UpdateElement (CPA_SuperObject * pObject, SECTOR_TYPE pNewSector);
CPA_BaseObjectList * GetListOfSector (SECTOR_TYPE pSector);
CPA_BaseObjectList * GetListOfSectorByType (SECTOR_TYPE pSector,unsigned long ulType);
CPA_BaseObjectList * GetListOfSectorByName (CString csName);
};
#endif