downloadcntl.h

来自「个人封装的一个VC++支持多任务、多线程断点续传的DLL组件」· C头文件 代码 · 共 51 行

H
51
字号
// DownloadCntl.h: interface for the CDownloadCntl class.
// 下载总控类,跟调用者交互的接口
// ileadsoft gd 2008-7-23
//////////////////////////////////////////////////////////////////////
// Download by http://www.codefans.net
#if !defined(AFX_DOWNLOADCNTL_H__ACCC2648_AF4A_4CD3_BEA5_D81DCA641DDE__INCLUDED_)
#define AFX_DOWNLOADCNTL_H__ACCC2648_AF4A_4CD3_BEA5_D81DCA641DDE__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "DownloadMTR.h"

// 类链表结点
typedef struct node
{
	void *info;
	struct node *link;
}NODE;

class CDownloadCntl  
{
private:
	CDownloadMTR *m_pCurDownloadMTR;
	int m_nCurDownloadMTRPos;

	NODE *m_pHead;   // 指向头结点的指针,为其info指针分配一个空间,可以用来记录链表的结点个数

	CCriticalSection m_csCntl;  // 访问共享锁

public:
	CDownloadCntl();
	virtual ~CDownloadCntl();

	int GetTaskNum();

	int AddTask( char *pszUrl, char *pszSavePath, char *pszSaveFileName, int nThreadNum );
	int SelTask( int nPos );  // 选中一个任务
	int RemoveTask();		  // 删除选中的任务

	// 查询一个任务的状态
	int QueryState( int nPos, 
					int &nFileTotaleSize, 
					int &nTotalDownloadedSize,
					int &nTotalDownloadedSize_ThisTimes,
					int &nDownloadElapsedTime ); 
};

#endif // !defined(AFX_DOWNLOADCNTL_H__ACCC2648_AF4A_4CD3_BEA5_D81DCA641DDE__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?