00001
00002
00003
00004
00005
00006 #pragma once
00007
00008 #include "vmsBtDownloadPeerInfoList.h"
00009 #include "vmsBtFile.h"
00010
00011 enum vmsBtDownloadState
00012 {
00013
00014 BTDS_QUEUED,
00015
00016 BTDS_CHECKING_FILES,
00017
00018 BTDS_CONNECTING_TRACKER,
00019
00020 BTDS_DOWNLOADING,
00021
00022 BTDS_FINISHED,
00023
00024 BTDS_SEEDING,
00025
00026 BTDS_ALLOCATING,
00027 };
00028
00029 class vmsBtDownload
00030 {
00031 public:
00032
00033 virtual vmsBtDownloadState GetState () = NULL;
00034 virtual BOOL IsPaused () = NULL;
00035 virtual void Pause () = NULL;
00036 virtual void Resume () = NULL;
00037 virtual vmsBtFile* get_Torrent () = NULL;
00038
00039 virtual void get_SavePath (LPSTR pszRes) = NULL;
00040
00041 virtual float get_PercentDone () = NULL;
00042
00043 virtual int get_PiecesProgressMap (bool* pbPieces, int *pnCompletedPieces) = NULL;
00044 virtual bool is_PieceCompleted (int nIndex) = NULL;
00045
00046 virtual int get_DownloadConnectionCount () = NULL;
00047
00048 virtual UINT64 get_TotalDownloadedBytesCount () = NULL;
00049 virtual UINT GetDownloadSpeed () = NULL;
00050 virtual UINT GetUploadSpeed () = NULL;
00051
00052 virtual void SetDownloadLimit (int limit) = NULL;
00053 virtual int GetDownloadLimit () = NULL;
00054
00055 virtual int get_ConnectionCount () = NULL;
00056
00057 virtual void set_ConnectionLimit (int limit) = NULL;
00058
00059 virtual BOOL get_FastResumeData (LPBYTE pbRes, DWORD dwSize, DWORD *pdwDataSize) = NULL;
00060
00061 virtual void set_TrackerLogin (LPCSTR pszUser, LPCSTR pszPassword) = NULL;
00062
00063 virtual BOOL MoveToFolder (LPCSTR pszNewFolder) = NULL;
00064 virtual int get_NextAnnounceInterval () = NULL;
00065 virtual void get_CurrentTracker (LPSTR pszRes) = NULL;
00066 virtual UINT64 get_TotalUploadedByteCount () = NULL;
00067 virtual void get_PeersStat (int *pnPeersConnected, int *pnSeedsTotal, int *pnLeechersTotal, int *pnSeedsConnected) = NULL;
00068 virtual UINT64 get_WastedByteCount () = NULL;
00069 virtual double get_ShareRating () = NULL;
00070 virtual vmsBtDownloadPeerInfoList* get_PeerInfoList () = NULL;
00071
00072 virtual void get_FileProgress (float *p) = NULL;
00073 virtual BOOL is_HandleValid () = NULL;
00074 virtual int get_CurrentTaskProgress () = NULL;
00075 };