65 lines
1.0 KiB
C++
65 lines
1.0 KiB
C++
// CDPA Class.
|
|
// Based on DPA's from the shell
|
|
|
|
// FelixA
|
|
|
|
#ifndef __LISTH
|
|
#define __LISTH
|
|
|
|
class CDPA
|
|
{
|
|
public:
|
|
int GetCount();
|
|
CDPA();
|
|
~CDPA();
|
|
|
|
BOOL Append(LPVOID);
|
|
LPVOID GetPointer(int iItem) const;
|
|
void Remove(int iItem);
|
|
|
|
protected:
|
|
int GetNextFree() const
|
|
{
|
|
return m_iCurrentTop;
|
|
}
|
|
|
|
private:
|
|
int GetAllocated() const
|
|
{
|
|
return m_iAllocated;
|
|
}
|
|
void SetAllocated(int i)
|
|
{
|
|
m_iAllocated = i;
|
|
}
|
|
|
|
void SetNextFree(int i)
|
|
{
|
|
m_iCurrentTop = i;
|
|
}
|
|
|
|
void FAR * FAR * GetData() const
|
|
{
|
|
return m_pData;
|
|
};
|
|
void SetData(void FAR * FAR * pD)
|
|
{
|
|
m_pData = pD;
|
|
}
|
|
|
|
HANDLE GetHeap() const
|
|
{
|
|
return m_Heap;
|
|
}
|
|
void SetHeap(HANDLE h)
|
|
{
|
|
m_Heap = h;
|
|
}
|
|
|
|
int m_iAllocated; // Number of items in the list.
|
|
int m_iCurrentTop;// Next item to use.
|
|
void FAR * FAR * m_pData; // Pointer to the pointer array.
|
|
HANDLE m_Heap; // Handle for the heap we're using.
|
|
};
|
|
|
|
#endif |