12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #include <kopano/platform.h>
- #include <new>
- #include "ECConfigImpl.h"
- #include <kopano/charset/convert.h>
- namespace KC {
- ECConfig *ECConfig::Create(const configsetting_t *lpDefaults,
- const char *const *lpszDirectives)
- {
- return new ECConfigImpl(lpDefaults, lpszDirectives);
- }
- ECConfig *ECConfig::Create(const std::nothrow_t &,
- const configsetting_t *dfl, const char *const *direc)
- {
- return new(std::nothrow) ECConfigImpl(dfl, direc);
- }
- bool ECConfig::LoadSettings(const wchar_t *szFilename)
- {
- return LoadSettings(convert_context().convert_to<char *>(szFilename));
- }
- const char* ECConfig::GetDefaultPath(const char* lpszBasename)
- {
- typedef map<string, string> stringmap_t;
-
-
-
- static stringmap_t s_mapPaths;
- if (!lpszBasename)
- lpszBasename = "";
- auto result = s_mapPaths.insert(stringmap_t::value_type(lpszBasename, string()));
- if (result.second == true) {
- const char *lpszDirname = getenv("KOPANO_CONFIG_PATH");
- if (!lpszDirname || lpszDirname[0] == '\0')
- lpszDirname = "/etc/kopano";
- result.first->second = string(lpszDirname) + "/" + lpszBasename;
- }
- return result.first->second.c_str();
- }
- }
|