00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #if !defined(AFX_FDMCUSTOMIZATIONS_H__56762F4E_A485_4A61_92FB_F2DEAD30D283__INCLUDED_) 00007 #define AFX_FDMCUSTOMIZATIONS_H__56762F4E_A485_4A61_92FB_F2DEAD30D283__INCLUDED_ 00008 00009 #include "vmsXOR.h" 00010 #if _MSC_VER > 1000 00011 #pragma once 00012 #endif 00013 00014 #include <windows.h> 00015 #include <vector> 00016 #include "vmsDES.h" 00017 00018 const char* const _pszFDMCustomizationsErr = "fdmcusterr"; 00019 00020 struct vmsFDMBanner 00021 { 00022 LPBYTE pbImage; 00023 DWORD dwSize; 00024 LPSTR pszLinksTo; 00025 char szType [4]; 00026 }; 00027 00028 struct vmsFDMButton 00029 { 00030 LPSTR pszText; 00031 LPSTR pszLinksTo; 00032 LPBYTE pbIcon; 00033 DWORD dwSize; 00034 00035 vmsFDMButton () : pszText (NULL), pszLinksTo (NULL), pbIcon (NULL) {}; 00036 }; 00037 00038 class vmsFDMCustomizations 00039 { 00040 public: 00041 void set_Key (int iKey); 00042 void set_ShowFDMCustBtn (BOOL b); 00043 BOOL get_ShowFDMCustBtn(); 00044 void set_AffiliateID (DWORD dw); 00045 DWORD get_AffiliateID(); 00046 LPCSTR get_Customizer(); 00047 void set_Customizer (LPCSTR psz); 00048 void set_ButtonInfo (vmsFDMButton& btn); 00049 void set_UseButton (BOOL bUse); 00050 void RemoveAllBanners(); 00051 vmsFDMButton* get_ButtonInfo(); 00052 BOOL get_UseButton(); 00053 vmsFDMBanner* get_Banner (int iIndex); 00054 int get_BannerCount(); 00055 void AddBanner (vmsFDMBanner& banner); 00056 void Save (HANDLE hFile); 00057 void Load (HANDLE hFile); 00058 void Free(); 00059 00060 vmsFDMCustomizations(); 00061 virtual ~vmsFDMCustomizations(); 00062 00063 protected: 00064 int m_iKey; 00065 void set_DESKey (DES_KEY key); 00066 vmsXOR m_xor; 00067 vmsDES m_des; 00068 std::string m_strCustomizer; 00069 std::vector <vmsFDMBanner> m_vBanners; 00070 BOOL m_bUseBtn; 00071 vmsFDMButton m_Btn; 00072 DWORD m_dwAffiliateID; 00073 BOOL m_bShowFDMCustBtn; 00074 private: 00075 void DecryptFile (class vmsMemFile& file); 00076 void EncryptFile (class vmsMemFile& file); 00077 void ReadString (class vmsMemFile &file, LPSTR* ppsz); 00078 void WriteString (class vmsMemFile &file, LPCSTR psz); 00079 }; 00080 00081 #endif
1.5.6