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_FSDOWNLOADS_GROUPSMGR_H__735C5C82_46AB_40DB_A0B2_065CA6D69679__INCLUDED_) 00007 #define AFX_FSDOWNLOADS_GROUPSMGR_H__735C5C82_46AB_40DB_A0B2_065CA6D69679__INCLUDED_ 00008 00009 #if _MSC_VER > 1000 00010 #pragma once 00011 #endif 00012 00013 #include "list.h" 00014 00015 #define MAX_GROUP_LEN 100 00016 00017 #define MAX_EXTS_LEN 1000 00018 00019 #define GRP_OTHER_NAME "Other" 00020 00021 struct fsDownloadGroup 00022 { 00023 CHAR szName [MAX_GROUP_LEN+1]; 00024 CHAR szOutFolder [MY_MAX_PATH+1]; 00025 CHAR szExts [MAX_EXTS_LEN+1]; 00026 BOOL bOther; 00027 00028 fsDownloadGroup () { 00029 bOther = FALSE; 00030 } 00031 }; 00032 00033 class fsDownloads_GroupsMgr 00034 { 00035 public: 00036 void SetGroupFolder(int iGrp, LPCSTR pszFldr); 00037 LPCSTR GetGroupFolder (int iGrp); 00038 00039 void CreateGroup (fsDownloadGroup* grp); 00040 00041 void DeleteGroup (LPCSTR pszGroup); 00042 00043 int FindGroupByName (LPCSTR pszName); 00044 00045 int FindGroupByExt (LPCSTR pszExt); 00046 00047 LPCSTR GetGroupName (int iGrp); 00048 00049 void UpdateGroup (int iGrp, fsDownloadGroup *grp); 00050 00051 BOOL GetGroup (fsDownloadGroup* pGroup, int iGroup); 00052 00053 int GetCount(); 00054 00055 BOOL SaveGroups(); 00056 BOOL LoadGroups(); 00057 00058 fsDownloads_GroupsMgr(); 00059 virtual ~fsDownloads_GroupsMgr(); 00060 00061 protected: 00062 00063 BOOL LastError (LONG lResult); 00064 00065 BOOL LoadGroupsFromReg(); 00066 00067 HKEY m_hGroups; 00068 fs::list <fsDownloadGroup> m_vGroups; 00069 }; 00070 00071 #endif
1.5.6