63 lines
1.9 KiB
C
63 lines
1.9 KiB
C
|
/*****************************************************************************
|
||
|
* ftplist.h
|
||
|
*****************************************************************************/
|
||
|
|
||
|
#ifndef _FTPLIST_H
|
||
|
#define _FTPLIST_H
|
||
|
|
||
|
#include "util.h"
|
||
|
|
||
|
|
||
|
#define FLM_ADDED 0
|
||
|
#define FLM_FINALIZE 1
|
||
|
|
||
|
|
||
|
|
||
|
/*****************************************************************************
|
||
|
*
|
||
|
* CFtpList
|
||
|
*
|
||
|
*****************************************************************************/
|
||
|
|
||
|
class CFtpList : public IUnknown
|
||
|
{
|
||
|
public:
|
||
|
//////////////////////////////////////////////////////
|
||
|
// Public Interfaces
|
||
|
//////////////////////////////////////////////////////
|
||
|
|
||
|
// *** IUnknown ***
|
||
|
virtual STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
virtual STDMETHODIMP_(ULONG) Release(void);
|
||
|
virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
|
||
|
|
||
|
public:
|
||
|
CFtpList(PFNDPAENUMCALLBACK fncDestroy);
|
||
|
~CFtpList(void);
|
||
|
|
||
|
// Public Member Functions
|
||
|
HRESULT AppendItem(LPVOID pv);
|
||
|
HRESULT InsertSorted(LPVOID pv, PFNDPACOMPARE pfnCompare, LPARAM lParam);
|
||
|
LPVOID GetItemPtr(int nIndex) { return DPA_GetPtr(m_hdpa, nIndex); };
|
||
|
LPVOID Find(PFNDPACOMPARE pfn, LPCVOID pv);
|
||
|
void Enum(PFNDPAENUMCALLBACK pfn, LPVOID pv) { DPA_EnumCallback(m_hdpa, pfn, pv); };
|
||
|
void SetItemPtr(int nIndex, LPVOID pv) { DPA_SetPtr(m_hdpa, nIndex, pv); };
|
||
|
void DeleteItemPtr(LPVOID pv);
|
||
|
void DeletePtrByIndex(int nIndex) {DPA_DeletePtr(m_hdpa, nIndex);};
|
||
|
int GetCount(void) { return DPA_GetPtrCount(m_hdpa); };
|
||
|
int SortedSearch(LPVOID pv, PFNDPACOMPARE pfnCompare, LPARAM lParam, UINT options);
|
||
|
|
||
|
|
||
|
// Friend Functions
|
||
|
friend HRESULT CFtpList_Create(int cpvInit, PFNDPAENUMCALLBACK pfn, UINT nGrow, CFtpList ** ppfl);
|
||
|
|
||
|
protected:
|
||
|
// Private Member Variables
|
||
|
int m_cRef;
|
||
|
|
||
|
HDPA m_hdpa;
|
||
|
PFNDPAENUMCALLBACK m_pfnDestroy;
|
||
|
};
|
||
|
|
||
|
#endif // _FTPLIST_H
|