bool Configuration::get_windowlevel_list(const Glib::ustring& modality, WindowLevelList& list) { HKEY hKey; DWORD ret; int serverIdx = 0; char desc[256]; std::string key = "SOFTWARE\\Aeskulap\\presets\\windowlevel\\" + modality ; if(modality.empty()) { return false; } ret = RegOpenKeyEx(HKEY_CURRENT_USER, key.c_str(), 0, KEY_READ | KEY_ENUMERATE_SUB_KEYS, &hKey); if( ret != ERROR_SUCCESS ) return false; list.clear(); while( RegEnumKey(hKey, serverIdx++, desc, sizeof(desc)) == ERROR_SUCCESS ) { WindowLevel w; if(get_windowlevel(modality, Glib::ustring(desc), w)) { list[w.description] = w; } } RegCloseKey(hKey); return true; }
bool Configuration::get_windowlevel_list(const Glib::ustring& modality, WindowLevelList& list) { if(modality.empty()) { return false; } Glib::ustring base = "/apps/aeskulap/presets/windowlevel/"+modality; std::vector< Glib::ustring > dirs = m_conf_client->all_dirs(base); if(dirs.size() == 0) { return false; } list.clear(); for(unsigned int i=0; i<dirs.size(); i++) { WindowLevel w; if(get_windowlevel(modality, get_name_from_path(dirs[i]), w)) { list[w.description] = w; } } return true; }