1 /*
2  * files.h
3  * vim: expandtab:ts=4:sts=4:sw=4
4  *
5  * Copyright (C) 2012 - 2019 James Booth <boothj5@gmail.com>
6  * Copyright (C) 2018 - 2019 Michael Vetter <jubalh@idoru.org>
7  *
8  * This file is part of Profanity.
9  *
10  * Profanity is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation, either version 3 of the License, or
13  * (at your option) any later version.
14  *
15  * Profanity is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with Profanity.  If not, see <https://www.gnu.org/licenses/>.
22  *
23  * In addition, as a special exception, the copyright holders give permission to
24  * link the code of portions of this program with the OpenSSL library under
25  * certain conditions as described in each individual source file, and
26  * distribute linked combinations including the two.
27  *
28  * You must obey the GNU General Public License in all respects for all of the
29  * code used other than OpenSSL. If you modify file(s) with this exception, you
30  * may extend this exception to your version of the file(s), but you are not
31  * obligated to do so. If you do not wish to do so, delete this exception
32  * statement from your version. If you delete this exception statement from all
33  * source files in the program, then also delete it here.
34  *
35  */
36 
37 #ifndef CONFIG_FILES_H
38 #define CONFIG_FILES_H
39 
40 #include <glib.h>
41 
42 #define FILE_PROFRC                   "profrc"
43 #define FILE_ACCOUNTS                 "accounts"
44 #define FILE_TLSCERTS                 "tlscerts"
45 #define FILE_PLUGIN_SETTINGS          "plugin_settings"
46 #define FILE_PLUGIN_THEMES            "plugin_themes"
47 #define FILE_CAPSCACHE                "capscache"
48 #define FILE_PROFANITY_IDENTIFIER     "profident"
49 #define FILE_BOOKMARK_AUTOJOIN_IGNORE "bookmark_ignore"
50 
51 #define DIR_THEMES    "themes"
52 #define DIR_ICONS     "icons"
53 #define DIR_SCRIPTS   "scripts"
54 #define DIR_CHATLOGS  "chatlogs"
55 #define DIR_OTR       "otr"
56 #define DIR_PGP       "pgp"
57 #define DIR_OMEMO     "omemo"
58 #define DIR_PLUGINS   "plugins"
59 #define DIR_DATABASE  "database"
60 #define DIR_DOWNLOADS "downloads"
61 #define DIR_EDITOR    "editor"
62 
63 void files_create_directories(void);
64 
65 gchar* files_get_config_path(const char* const config_base);
66 gchar* files_get_data_path(const char* const data_base);
67 gchar* files_get_account_data_path(const char* const specific_dir, const char* const jid);
68 
69 gchar* files_get_log_file(const char* const log_file);
70 gchar* files_get_inputrc_file(void);
71 
72 #endif
73