windows-nt/Source/XPSP1/NT/admin/pchealth/upload/client/uploadmanager/mpcuploadenum.h
2020-09-26 16:20:57 +08:00

56 lines
1.4 KiB
C++

/******************************************************************************
Copyright (c) 2000 Microsoft Corporation
Module Name:
MPCUploadEnum.h
Abstract:
This file contains the declaration of the MPCUploadEnum class,
the enumerator of the MPCUpload class.
Revision History:
Davide Massarenti (Dmassare) 04/15/99
created
******************************************************************************/
#if !defined(__INCLUDED___ULMANAGER___MPCUPLOADENUM_H___)
#define __INCLUDED___ULMANAGER___MPCUPLOADENUM_H___
#include "MPCUploadJob.h"
class ATL_NO_VTABLE CMPCUploadEnum : // Hungarian: mpcue
public CComObjectRootEx<MPC::CComSafeMultiThreadModel>,
public IEnumVARIANT
{
typedef std::list< IMPCUploadJob* > List;
typedef List::iterator Iter;
typedef List::const_iterator IterConst;
List m_lstJobs;
Iter m_itCurrent;
public:
CMPCUploadEnum();
void FinalRelease();
HRESULT AddItem( /*[in]*/ IMPCUploadJob* job );
BEGIN_COM_MAP(CMPCUploadEnum)
COM_INTERFACE_ENTRY(IEnumVARIANT)
END_COM_MAP()
public:
// IEnumVARIANT
STDMETHOD(Next)( /*[in]*/ ULONG celt, /*[out]*/ VARIANT *rgelt, /*[out]*/ ULONG *pceltFetched );
STDMETHOD(Skip)( /*[in]*/ ULONG celt );
STDMETHOD(Reset)();
STDMETHOD(Clone)( /*[out]*/ IEnumVARIANT* *ppEnum );
};
#endif // !defined(__INCLUDED___ULMANAGER___MPCUPLOADENUM_H___)