Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.5 KiB

  1. /******************************************************************************
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. MPCUploadEnum.h
  5. Abstract:
  6. This file contains the declaration of the MPCUploadEnum class,
  7. the enumerator of the MPCUpload class.
  8. Revision History:
  9. Davide Massarenti (Dmassare) 04/15/99
  10. created
  11. ******************************************************************************/
  12. #if !defined(__INCLUDED___ULMANAGER___MPCUPLOADENUM_H___)
  13. #define __INCLUDED___ULMANAGER___MPCUPLOADENUM_H___
  14. #include "MPCUploadJob.h"
  15. class ATL_NO_VTABLE CMPCUploadEnum : // Hungarian: mpcue
  16. public CComObjectRootEx<MPC::CComSafeMultiThreadModel>,
  17. public IEnumVARIANT
  18. {
  19. typedef std::list< IMPCUploadJob* > List;
  20. typedef List::iterator Iter;
  21. typedef List::const_iterator IterConst;
  22. List m_lstJobs;
  23. Iter m_itCurrent;
  24. public:
  25. CMPCUploadEnum();
  26. void FinalRelease();
  27. HRESULT AddItem( /*[in]*/ IMPCUploadJob* job );
  28. BEGIN_COM_MAP(CMPCUploadEnum)
  29. COM_INTERFACE_ENTRY(IEnumVARIANT)
  30. END_COM_MAP()
  31. public:
  32. // IEnumVARIANT
  33. STDMETHOD(Next)( /*[in]*/ ULONG celt, /*[out]*/ VARIANT *rgelt, /*[out]*/ ULONG *pceltFetched );
  34. STDMETHOD(Skip)( /*[in]*/ ULONG celt );
  35. STDMETHOD(Reset)();
  36. STDMETHOD(Clone)( /*[out]*/ IEnumVARIANT* *ppEnum );
  37. };
  38. #endif // !defined(__INCLUDED___ULMANAGER___MPCUPLOADENUM_H___)