Clean code
[irreco.git] / irreco / src / core / irreco_theme_manager.h
blob6681b24735f5a109730bcaa27fe88dbed858c1bb
1 /*
2 * irreco - Ir Remote Control
3 * Copyright (C) 2008 Joni Kokko (t5kojo01@students.oamk.fi)
4 * Sami Mäki (kasmra@xob.kapsi.fi)
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
11 * This program 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
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
23 /* Typedef */
24 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
26 * Make sure that typedefs are available before we include anything elese.
28 * This makes sure that whatever other structures that depend on structures
29 * defined in this file will compile OK recardles of header inclusion order.
31 #ifndef __IRRECO_THEME_MANAGER_H_TYPEDEF__
32 #define __IRRECO_THEME_MANAGER_H_TYPEDEF__
33 typedef struct _IrrecoThemeManager IrrecoThemeManager;
34 #endif /* __IRRECO_THEME_MANAGER_H_TYPEDEF__ */
38 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
39 /* Include */
40 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
41 #ifndef __IRRECO_THEME_MANAGER_H__
42 #define __IRRECO_THEME_MANAGER_H__
43 #include "irreco.h"
44 #include "irreco_theme.h"
45 #include "irreco_button.h"
49 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
50 /* Datatypes */
51 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
53 /**
54 * @addtogroup IrrecoThemeManager
56 * @{
59 struct _IrrecoThemeManager
61 IrrecoStringTable *themes;
62 IrrecoData *irreco_data;
65 /** @} */
67 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
68 /* Macro */
69 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
73 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
74 /* Prototypes */
75 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
77 IrrecoThemeManager *irreco_theme_manager_new(IrrecoData * irreco_data);
78 void irreco_theme_manager_free(IrrecoThemeManager *self);
79 void irreco_theme_manager_print(IrrecoThemeManager *self);
80 IrrecoStringTable *irreco_theme_manager_get_themes(IrrecoThemeManager *self);
81 IrrecoStringTable *irreco_theme_manager_get_buttons(IrrecoThemeManager *self,
82 const gchar *theme_name);
83 IrrecoStringTable *irreco_theme_manager_get_backgrounds(
84 IrrecoThemeManager *self,
85 const gchar *theme_name);
86 void irreco_theme_manager_read_themes_from_dir(IrrecoThemeManager *self,
87 const gchar *dir);
88 gboolean irreco_theme_manager_get_button_style(IrrecoThemeManager *self,
89 const gchar *style_name,
90 IrrecoThemeButton **style);
91 gboolean irreco_theme_manager_does_deb_exist(IrrecoThemeManager *self);
92 gboolean irreco_theme_manager_does_web_exist(IrrecoThemeManager *self);
93 gboolean irreco_theme_manager_does_user_exist(IrrecoThemeManager *self);
94 gboolean irreco_theme_manager_remove_theme(IrrecoThemeManager *self,
95 const gchar *theme_name);
96 void irreco_theme_manager_update_theme_manager(IrrecoThemeManager *self);
98 #endif /* __IRRECO_THEME_MANAGER_H__ */