#include #include bool OptionsReg::setGroup(Group &group) { RegKey regKey(RegKey::CurrentUser); String strIndex; if(group.groupName().isNull()||!group.size())return false; if(!regKey.openKey(mOptionsKeyName+mOptionsKeyGroupsPostfix+String("\\")+group.groupName())) { regKey.createKey(mOptionsKeyName+mOptionsKeyGroupsPostfix+String("\\")+group.groupName(),""); regKey.openKey(mOptionsKeyName+mOptionsKeyGroupsPostfix+String("\\")+group.groupName()); } for(int index=0;index &groupNames) { RegKey regKey(RegKey::CurrentUser); DWORD index(0); String strGroupName; groupNames.remove(); if(!regKey.openKey(mOptionsKeyName+mOptionsKeyGroupsPostfix))return false; while(true) { if(!regKey.enumKey(index++,strGroupName))break; groupNames.insert(&strGroupName); } return groupNames.size()?true:false; } bool OptionsReg::getConnections(Block &connectionNames) { RegKey regKey(RegKey::CurrentUser); String strConnectionName; String strIndex; DWORD index; index=0; connectionNames.remove(); if(!regKey.openKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix))return false; while(true) { ::sprintf(strIndex,"C%d",index++); if(!regKey.queryValue(strIndex,strConnectionName))break; connectionNames.insert(&strConnectionName); } return connectionNames.size()?true:false; } void OptionsReg::setConnections(Block &connectionNames) { RegKey regKey(RegKey::CurrentUser); String strConnectionEntry; String strIndex; if(!regKey.openKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix)) { regKey.createKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix,""); regKey.openKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix); } for(int index=0;index strConnections; String cpyConnection; String strIndex; if(!regKey.openKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix)) { regKey.createKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix,""); regKey.openKey(mOptionsKeyName+mOptionsKeyConnectionsPostfix); } if(strConnection.isNull())return; cpyConnection=strConnection; cpyConnection.lower(); getConnections(strConnections); for(int index=0;index