#include #include #include WORD NewsReg::queryGroups(Block &subscriberList,QueryType queryType) { RegKey regKey(RegKey::CurrentUser); String groupName; DWORD status; DWORD groupIndex(0); subscriberList.remove(); if(!regKey.openKey(mNewsGroupsKeyName))return FALSE; while(regKey.enumValue(groupIndex++,groupName,status)) { if(QueryActive==queryType&&!status)continue; subscriberList.insert(&NewsGroup(groupName,status)); } return (subscriberList.size()?TRUE:FALSE); } WORD NewsReg::addGroup(const String &groupName,DWORD active) { RegKey regKey(RegKey::CurrentUser); Block subscriberList; if(groupName.isNull())return FALSE; if(!regKey.openKey(mNewsGroupsKeyName)) { regKey.createKey(mNewsGroupsKeyName,""); if(!regKey.openKey(mNewsGroupsKeyName))return FALSE; } queryGroups(subscriberList); for(int itemIndex=0;itemIndex subscriberList; int prefixValue(0); if(groupName.isNull())return FALSE; if(!regKey.openKey(RegKey::CurrentUser,mNewsGroupsKeyName))return false; queryGroups(subscriberList); regKey.closeKey(); if(!regKey.openKey(RegKey::CurrentUser,mApplicationKeyName))return false; regKey.deleteKey(mNewsGroupsShortName); regKey.closeKey(); if(!regKey.createKey(RegKey::CurrentUser,mNewsGroupsKeyName))return false; if(!regKey.openKey(RegKey::CurrentUser,mNewsGroupsKeyName))return false; for(int itemIndex=0;itemIndex