123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #pragma once
- #include <array.h>
- #include <string>
- typedef struct download_file_t {
- //char name[64];
- char name[256];
- int length;
- //char md5[16];
- char md5[32];
- }download_file_t;
- // xml must be have <?xml version="1.0" encoding="utf-8" ?>
- array_header_t* download_parse_filelist(const char *xml, int n);
- void download_free_filelist(array_header_t* arr);
- //int download_check_filelist(const char *base_dir, array_header_t* arr);
- //0:表示下载的文件在文件列表里不存在 1:需要下载 2:下载完成
- int new_download_check_filelist(const char *base_dir, array_header_t* arr,download_file_t *downloadFile);
- //0:删除失败,1删除成功
- int download_delete_file(const char *base_dir,download_file_t *downloadFile);
- typedef struct download_storage_t {
- char temp_path[MAX_PATH];
- char info_path[MAX_PATH];
- #ifdef RVC_OS_WIN
- HANDLE temp_handle;
- HANDLE info_handle;
- #else
- FILE* temp_handle;
- FILE* info_handle;
- #endif
- int offset_block_id;
- int length;
- }download_storage_t;
- //null表示开打失败,否则打开成功
- download_storage_t *download_storage_open(const char *base_dir, download_file_t *file);
- void download_storage_close(download_storage_t *storage,bool renameFlag,bool deleteFlag);
- int download_storage_update(download_storage_t *storage, char *buf, int n);
- //0:md5一致,1,2不一致
- int download_check_MD5(download_storage_t *storage,download_file_t *dfile);
- //int download_get_storage_block_id(const char *base_dir, download_file_t *file, int *block_id);
- #ifdef RVC_OS_WIN
- #else
- //获取出来的字符数组注意释放
- unsigned char* GBKToUTF8(const char* string);
- char* UTF8ToGBK(const char* string);
- int changeFileAtt(const char* path);
- #endif // RVC_OS_WIN
|