00001
00002
00003
00004
00005
00006 #ifndef __FDMDOWNLOADSSTAT_H_
00007 #define __FDMDOWNLOADSSTAT_H_
00008
00009 #include "resource.h"
00010 #include "FDMDownload.h"
00011
00012 _COM_SMARTPTR_TYPEDEF (IFDMDownload, __uuidof (IFDMDownload));
00013
00014 class ATL_NO_VTABLE CFDMDownloadsStat :
00015 public CComObjectRootEx<CComSingleThreadModel>,
00016 public CComCoClass<CFDMDownloadsStat, &CLSID_FDMDownloadsStat>,
00017 public IDispatchImpl<IFDMDownloadsStat, &IID_IFDMDownloadsStat, &LIBID_FdmLib>
00018 {
00019 public:
00020 CFDMDownloadsStat()
00021 {
00022 }
00023
00024 DECLARE_REGISTRY_RESOURCEID(IDR_FDMDOWNLOADSSTAT)
00025
00026 DECLARE_PROTECT_FINAL_CONSTRUCT()
00027
00028 BEGIN_COM_MAP(CFDMDownloadsStat)
00029 COM_INTERFACE_ENTRY(IFDMDownloadsStat)
00030 COM_INTERFACE_ENTRY(IDispatch)
00031 END_COM_MAP()
00032
00033 public:
00034 STDMETHOD(BuildListOfDownloads)( BOOL bIncludeCompleted, BOOL bIncludeRunning);
00035 STDMETHOD(get_Download)( long nIndex, IFDMDownload* *pVal);
00036 STDMETHOD(get_DownloadCount)( long *pVal);
00037 protected:
00038
00039 void AddDownloadToList (vmsDownloadSmartPtr dld);
00040
00041
00042 fs::list <IFDMDownloadPtr> m_vDownloads;
00043 };
00044
00045 #endif