#ifndef COMMON_DOWNLOADMANAGER_H_ #define COMMON_DOWNLOADMANAGER_H_ #include typedef void* TaskID; #define TaskIDNULL NULL enum HttpMethod { HM_GET = 0, HM_POST, HM_END, }; struct DownloadProgress { double fNow; double fTotal; }; struct DownloadData{ void* ptr; unsigned int nLen; }; struct TaskInitData { typedef std::list> ParamList; std::string strRequestURL; std::string strFilename; HttpMethod hm; std::string strParam; //ParamList lsParams; }; struct DownloadManager { virtual TaskID CreateTask(TaskInitData* pInit) = 0; virtual bool StartTask(TaskID taskID) = 0; virtual bool StopTask(TaskID taskID) = 0; }; struct ParamConstructor { virtual void ParamAlloc( unsigned int nEvent, unsigned int nSubEvent, void** param1, void** param2 ) = 0; virtual void ParamFree( unsigned int nEvent, unsigned int nSubEvent, void* param1, void* param2 ) = 0; }; #endif // COMMON_DOWNLOADMANAGER_H_