1 // dirs.cpp - Directory subroutines.
3 // (c) 2012-2015 Xestia Software Development.
5 // This file is part of Xestia Address Book.
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
24 // Get the user directory.
28 #if defined(__HAIKU__)
30 #elif defined(__WIN32__)
33 UserDir.Append(wxString::FromUTF8(getenv("APPDATA")));
34 UserDir.Append(wxT("\\Xestia\\Address Book\\"));
36 #elif defined(__APPLE__)
39 UserDir.Append(wxString::FromUTF8(getenv("HOME")));
40 UserDir.Append(wxT("/Library/Preferences/Xestia/Address Book/"));
45 UserDir.Append(wxString::FromUTF8(getenv("HOME")));
46 UserDir.Append(wxT("/.xestiaab/"));
54 wxString GetUserPrefDir()
57 // Get the user preferences directory.
61 #if defined(__HAIKU__)
63 #elif defined(__WIN32__)
66 UserPrefDir.Append(wxString::FromUTF8(getenv("APPDATA")));
67 UserPrefDir.Append(wxT("\\Xestia\\Address Book\\preferences\\"));
69 #elif defined(__APPLE__)
72 UserPrefDir.Append(wxString::FromUTF8(getenv("HOME")));
73 UserPrefDir.Append(wxT("/Library/Preferences/Xestia/Address Book/preferences/"));
78 UserPrefDir.Append(wxString::FromUTF8(getenv("HOME")));
79 UserPrefDir.Append(wxT("/.xestiaab/preferences/"));
87 wxString GetRecoveryDB()
90 // Get recovery database.
92 wxString RecoveryDBFile;
94 #if defined(__HAIKU__)
96 #elif defined(__WIN32__)
98 RecoveryDBFile.Clear();
99 RecoveryDBFile.Append(wxString::FromUTF8(getenv("APPDATA")));
100 RecoveryDBFile.Append(wxT("\\Xestia\\Address Book\\recovery.db"));
102 #elif defined(__APPLE__)
104 RecoveryDBFile.Clear();
105 RecoveryDBFile.Append(wxString::FromUTF8(getenv("HOME")));
106 RecoveryDBFile.Append(wxT("/Library/Preferences/Xestia/Address Book/recovery.db"));
110 RecoveryDBFile.Clear();
111 RecoveryDBFile.Append(wxString::FromUTF8(getenv("HOME")));
112 RecoveryDBFile.Append(wxT("/.xestiaab/.recovery.db"));
116 return RecoveryDBFile;
120 wxString GetAccountDir(wxString AccName, bool ServerCert)
123 // Get the account directory.
127 #if defined(__HAIKU__)
129 #elif defined(__WIN32__)
132 AccountDir.Append(wxString::FromUTF8(getenv("APPDATA")));
133 AccountDir.Append(wxT("\\Xestia\\Address Book\\accounts\\"));
134 AccountDir.Append(AccName);
135 AccountDir.Append(wxT("\\"));
137 if (ServerCert == TRUE){
138 AccountDir.Append(wxT("server.crt"));
141 #elif defined(__APPLE__)
144 AccountDir.Append(wxString::FromUTF8(getenv("HOME")));
145 AccountDir.Append(wxT("/Library/Preferences/Xestia/Address Book/accounts/"));
146 AccountDir.Append(AccName);
147 AccountDir.Append(wxT("/"));
149 if (ServerCert == TRUE){
150 AccountDir.Append(wxT("server.crt"));
156 AccountDir.Append(wxString::FromUTF8(getenv("HOME")));
157 AccountDir.Append(wxT("/.xestiaab/accounts/"));
158 AccountDir.Append(AccName);
159 AccountDir.Append(wxT("/"));
161 if (ServerCert == TRUE){
162 AccountDir.Append(wxT("server.crt"));
171 std::string GetAccountDir(std::string AccName, bool ServerCert)
174 // Get the account directory.
176 std::string AccountDir;
178 #if defined(__HAIKU__)
180 #elif defined(__WIN32__)
183 AccountDir.append(getenv("APPDATA"));
184 AccountDir.append("\\Xestia\\Address Book\\accounts\\");
185 AccountDir.append(AccName);
186 AccountDir.append("\\");
188 if (ServerCert == true){
189 AccountDir.append("server.crt");
192 #elif defined(__APPLE__)
195 AccountDir.append(getenv("HOME"));
196 AccountDir.append("/Library/Preferences/Xestia/Address Book/accounts/");
197 AccountDir.append(AccName);
198 AccountDir.append("/");
200 if (ServerCert == true){
201 AccountDir.append("server.crt");
207 AccountDir.append(getenv("HOME"));
208 AccountDir.append("/.xestiaab/accounts/");
209 AccountDir.append(AccName);
210 AccountDir.append("/");
212 if (ServerCert == true){
213 AccountDir.append("server.crt");
222 wxString GetAccountsFile()
225 // Get the accounts preferences file.
227 wxString AccountsFile;
229 #if defined(__HAIKU__)
231 #elif defined(__WIN32__)
233 AccountsFile.Clear();
234 AccountsFile.Append(wxString::FromUTF8(getenv("APPDATA")));
235 AccountsFile.Append(wxT("\\Xestia\\Address Book\\preferences\\accounts"));
237 #elif defined(__APPLE__)
239 AccountsFile.Clear();
240 AccountsFile.Append(wxString::FromUTF8(getenv("HOME")));
241 AccountsFile.Append(wxT("/Library/Preferences/Xestia/Address Book/preferences/accounts"));
245 AccountsFile.Clear();
246 AccountsFile.Append(wxString::FromUTF8(getenv("HOME")));
247 AccountsFile.Append(wxT("/.xestiaab/preferences/accounts"));
255 wxString GetSettingsFile()
258 // Get the preferences general settings file.
260 wxString SettingsFile;
262 #if defined(__HAIKU__)
264 #elif defined(__WIN32__)
266 SettingsFile.Clear();
267 SettingsFile.Append(wxString::FromUTF8(getenv("APPDATA")));
268 SettingsFile.Append(wxT("\\Xestia\\Address Book\\preferences\\settings"));
270 #elif defined(__APPLE__)
272 SettingsFile.Clear();
273 SettingsFile.Append(wxString::FromUTF8(getenv("HOME")));
274 SettingsFile.Append(wxT("/Library/Preferences/Xestia/Address Book/preferences/settings"));
278 SettingsFile.Clear();
279 SettingsFile.Append(wxString::FromUTF8(getenv("HOME")));
280 SettingsFile.Append(wxT("/.xestiaab/preferences/settings"));