35 # include <sys/types.h>
56 : logger(
"ProfileManager", std::cerr)
94 message =
"Loaded profile: " + filename;
103 message =
"Failed to load profile: " + filename;
115 std::list<std::string> profiles;
131 if (! profilename.empty()) {
132 profiles.push_back(profilename);
138 for (std::list<std::string>::const_iterator it = profiles.begin();
139 it != profiles.end();
163 res = RegOpenKeyExA (HKEY_CURRENT_USER,
"Software\\Presage", 0,
166 if (res == ERROR_SUCCESS)
169 dst = (
char*) malloc (size);
171 res = RegQueryValueExA (reg_key,
"", 0, &type,
172 (LPBYTE) dst, &size);
173 if (res == ERROR_MORE_DATA && type == REG_SZ) {
174 dst = (
char*) realloc (dst, size);
175 res = RegQueryValueExA (reg_key,
"", 0, &type,
176 (LPBYTE) dst, &size);
179 if (type != REG_SZ || res != ERROR_SUCCESS)
191 RegCloseKey (reg_key);
207 const char* USERPROFILE =
"USERPROFILE";
208 char* value = getenv(USERPROFILE);
216 struct passwd *my_passwd;
219 my_passwd = getpwuid (me);
223 result = my_passwd->pw_dir;
227 # endif // HAVE_PWD_H
229 const char*
HOME =
"HOME";
230 char* value = getenv(HOME);
254 logger << ERROR <<
"Failed to save configuration to profile " <<
endl;