00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #pragma once 00007 00008 #include "vmsBtDownload.h" 00009 #include "vmsBtDownloadPeerInfoListImpl.h" 00010 #include "vmsBtFileImpl.h" 00011 00012 class vmsBtDownloadImpl : public vmsBtDownload 00013 { 00014 public: 00015 void check_handle_is_valid (); 00016 vmsBtDownloadState GetState (); 00017 BOOL IsPaused (); 00018 void Pause (); 00019 void Resume (); 00020 vmsBtFile* get_Torrent (); 00021 void get_SavePath (LPSTR pszRes); 00022 float get_PercentDone (); 00023 int get_PiecesProgressMap (bool* pbPieces, int *pnCompletedPieces); 00024 bool is_PieceCompleted (int nIndex); 00025 int get_DownloadConnectionCount (); 00026 UINT64 get_TotalDownloadedBytesCount (); 00027 UINT GetDownloadSpeed (); 00028 UINT GetUploadSpeed (); 00029 void SetDownloadLimit (int limit); 00030 int GetDownloadLimit (); 00031 int get_ConnectionCount (); 00032 void set_ConnectionLimit (int limit); 00033 BOOL get_FastResumeData (LPBYTE pbRes, DWORD dwSize, DWORD *pdwDataSize); 00034 void set_TrackerLogin (LPCSTR pszUser, LPCSTR pszPassword); 00035 BOOL MoveToFolder (LPCSTR pszNewFolder); 00036 int get_NextAnnounceInterval (); 00037 void get_CurrentTracker (LPSTR pszRes); 00038 UINT64 get_TotalUploadedByteCount (); 00039 void get_PeersStat (int *pnPeersConnected, int *pnSeedsTotal, int *pnLeechersTotal, int *pnSeedsConnected); 00040 UINT64 get_WastedByteCount (); 00041 double get_ShareRating (); 00042 vmsBtDownloadPeerInfoList* get_PeerInfoList (); 00043 void get_FileProgress (float *p); 00044 BOOL is_HandleValid (); 00045 void OnTrackerAlert (LPCSTR pszMsg); 00046 int get_CurrentTaskProgress (); 00047 00048 vmsBtDownloadImpl(void); 00049 public: 00050 virtual ~vmsBtDownloadImpl(void); 00051 00052 public: 00053 torrent_handle m_handle; 00054 vmsBtFileImpl *m_pTorrent; 00055 std::string m_strOutputPath; 00056 00057 protected: 00058 vmsBtDownloadPeerInfoListImpl m_peerList; 00059 00060 int m_iDownloadSpeedLimit; 00061 };
1.5.6