1 /*
2  * (C) 2008 	Pablo Sanxiao <psanxiao@gmail.com>
3  *		Igalia
4  *
5  *     This program is free software: you can redistribute it and/or modify
6  *     it under the terms of the GNU General Public License as published by
7  *     the Free Software Foundation, either version 3 of the License, or
8  *     (at your option) any later version.
9  *
10  *     This program is distributed in the hope that it will be useful,
11  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *     GNU General Public License for more details.
14  *
15  *     You should have received a copy of the GNU General Public License
16  *     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  *
18  * Authors:
19  *   Pablo Sanxiao <psanxiao@gmail.com>
20  */
21 
22 #ifndef __PROFILE_H__
23 #define __PROFILE_H__
24 
25 #include <glib.h>
26 #include <glib-object.h>
27 
28 /*
29  * Utility Macros
30  */
31 
32 #define GTR_TYPE_PROFILE		(gtr_profile_get_type ())
33 #define GTR_PROFILE(o)			(G_TYPE_CHECK_INSTANCE_CAST ((o), GTR_TYPE_PROFILE, GtrProfile))
34 #define GTR_PROFILE_CLASS(k)		(G_TYPE_CHECK_CLASS_CAST((k), GTR_TYPE_PROFILE, GtrProfileClass))
35 #define GTR_IS_PROFILE(o)		(G_TYPE_CHECK_INSTANCE_TYPE ((o), GTR_TYPE_PROFILE))
36 #define GTR_IS_PROFILE_CLASS(k)		(G_TYPE_CHECK_CLASS_TYPE ((k), GTR_TYPE_PROFILE))
37 #define GTR_PROFILE_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), GTR_TYPE_PROFILE, GtrProfileClass))
38 
39 /*
40  * Main object structure
41  */
42 typedef struct _GtrProfile GtrProfile;
43 
44 struct _GtrProfile
45 {
46   GObject parent_instance;
47 };
48 
49 /*
50  * Class definition
51  */
52 typedef struct _GtrProfileClass GtrProfileClass;
53 
54 struct _GtrProfileClass
55 {
56   GObjectClass parent_class;
57 };
58 
59 /*
60  * Public methods
61  */
62 GType                 gtr_profile_get_type            (void)G_GNUC_CONST;
63 
64 GtrProfile           *gtr_profile_new                 (void);
65 
66 const gchar          *gtr_profile_get_name            (GtrProfile  *profile);
67 void                  gtr_profile_set_name            (GtrProfile  *profile,
68                                                        const gchar *data);
69 
70 const gchar          *gtr_profile_get_auth_token      (GtrProfile  *profile);
71 void                  gtr_profile_set_auth_token      (GtrProfile  *profile,
72                                                        const gchar *data);
73 
74 const gchar          *gtr_profile_get_author_name     (GtrProfile  *profile);
75 void                  gtr_profile_set_author_name     (GtrProfile  *profile,
76                                                        const gchar *data);
77 
78 const gchar          *gtr_profile_get_author_email    (GtrProfile  *profile);
79 void                  gtr_profile_set_author_email    (GtrProfile  *profile,
80                                                        const gchar *data);
81 
82 const gchar          *gtr_profile_get_language_name   (GtrProfile  *profile);
83 void                  gtr_profile_set_language_name   (GtrProfile  *profile,
84                                                        const gchar *data);
85 
86 const gchar          *gtr_profile_get_language_code   (GtrProfile  *profile);
87 void                  gtr_profile_set_language_code   (GtrProfile  *profile,
88                                                        const gchar *data);
89 
90 const gchar          *gtr_profile_get_charset         (GtrProfile  *profile);
91 void                  gtr_profile_set_charset         (GtrProfile  *profile,
92                                                        const gchar *data);
93 
94 const gchar          *gtr_profile_get_encoding        (GtrProfile  *profile);
95 void                  gtr_profile_set_encoding        (GtrProfile  *profile,
96                                                        const gchar *data);
97 
98 const gchar          *gtr_profile_get_group_email     (GtrProfile  *profile);
99 void                  gtr_profile_set_group_email     (GtrProfile  *profile,
100                                                        const gchar *data);
101 
102 const gchar          *gtr_profile_get_plural_forms    (GtrProfile  *profile);
103 void                  gtr_profile_set_plural_forms    (GtrProfile  *profile,
104                                                        const gchar *data);
105 
106 #endif /* __PROFILE_H__ */
107