00001
00002
00003
00004
00005
00006 #if !defined(AFX_FSDOWNLOADREGSAVER_H__C91EBD46_B85B_4D4B_A864_1648A483A8F0__INCLUDED_)
00007 #define AFX_FSDOWNLOADREGSAVER_H__C91EBD46_B85B_4D4B_A864_1648A483A8F0__INCLUDED_
00008
00009 #if _MSC_VER > 1000
00010 #pragma once
00011 #endif
00012
00013 #include "list.h"
00014 #include "fsDownload.h"
00015
00016 typedef DLDS_LIST t_downloads;
00017
00018 #define DLFILE_CURRENT_VERSION (12)
00019
00020 #define DLFILE_SIG "FDM Downloads "
00021
00022 struct fsDLFileHdr
00023 {
00024 char szSig [sizeof (DLFILE_SIG) + 1];
00025 WORD wVer;
00026
00027 fsDLFileHdr ()
00028 {
00029 strcpy (szSig, DLFILE_SIG);
00030 wVer = DLFILE_CURRENT_VERSION;
00031 }
00032 };
00033
00034 enum fsDLLoadFromType
00035 {
00036 DLLFT_SAV,
00037 DLLFT_BAK
00038 };
00039
00040 enum fsDLLoadResult
00041 {
00042 DLLR_FAILED,
00043 DLLR_SUCCEEDED,
00044 DLLR_TOOLARGESIZE,
00045 };
00046
00047 class fsDownloadRegSaver
00048 {
00049 public:
00050
00051 fsDLLoadResult Load (t_downloads* vDownloads, LPCSTR pszFileName, BOOL bDontLoadIfTooLarge, fsDLLoadFromType lt = DLLFT_SAV, BOOL bErrIfNotExists = FALSE);
00052 BOOL Save (t_downloads* vDownloads, LPCSTR pszFileName);
00053
00054 fsDownloadRegSaver();
00055 virtual ~fsDownloadRegSaver();
00056 protected:
00057 BOOL m_bDontSaveLogs;
00058
00059 BOOL LoadDownload (vmsDownloadSmartPtr dld, LPVOID lpBuffer, LPDWORD lpdwSize, WORD wVer);
00060 BOOL SaveDownload (vmsDownloadSmartPtr dld, LPVOID pBuffer, LPDWORD pdwSize);
00061
00062 BOOL OLD_LoadDownload (vmsDownloadSmartPtr dld, LPVOID lpBuffer, LPDWORD lpdwSize);
00063 };
00064
00065 #endif