1 /*
2  * Distributed under the Boost Software License, Version 1.0.
3  *    (See accompanying file LICENSE_1_0.txt or copy at
4  *          http://www.boost.org/LICENSE_1_0.txt)
5  */
6 module gobject.gvaluetypes;
7 
8 import gobject.gvalue;
9 import gobject.gtype;
10 
11 import glib;
12 
13 
14 // #define G_VALUE_HOLDS_CHAR(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_CHAR))
15 // /**
16 //  * G_VALUE_HOLDS_UCHAR:
17 //  * @value: a valid #GValue structure
18 //  *
19 //  * Checks whether the given #GValue can hold values of type %G_TYPE_UCHAR.
20 //  *
21 //  * Returns: %TRUE on success.
22 //  */
23 // #define G_VALUE_HOLDS_UCHAR(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UCHAR))
24 // /**
25 //  * G_VALUE_HOLDS_BOOLEAN:
26 //  * @value: a valid #GValue structure
27 //  *
28 //  * Checks whether the given #GValue can hold values of type %G_TYPE_BOOLEAN.
29 //  *
30 //  * Returns: %TRUE on success.
31 //  */
32 // #define G_VALUE_HOLDS_BOOLEAN(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_BOOLEAN))
33 // /**
34 //  * G_VALUE_HOLDS_INT:
35 //  * @value: a valid #GValue structure
36 //  *
37 //  * Checks whether the given #GValue can hold values of type %G_TYPE_INT.
38 //  *
39 //  * Returns: %TRUE on success.
40 //  */
41 // #define G_VALUE_HOLDS_INT(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT))
42 // /**
43 //  * G_VALUE_HOLDS_UINT:
44 //  * @value: a valid #GValue structure
45 //  *
46 //  * Checks whether the given #GValue can hold values of type %G_TYPE_UINT.
47 //  *
48 //  * Returns: %TRUE on success.
49 //  */
50 // #define G_VALUE_HOLDS_UINT(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT))
51 // /**
52 //  * G_VALUE_HOLDS_LONG:
53 //  * @value: a valid #GValue structure
54 //  *
55 //  * Checks whether the given #GValue can hold values of type %G_TYPE_LONG.
56 //  *
57 //  * Returns: %TRUE on success.
58 //  */
59 // #define G_VALUE_HOLDS_LONG(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_LONG))
60 // /**
61 //  * G_VALUE_HOLDS_ULONG:
62 //  * @value: a valid #GValue structure
63 //  *
64 //  * Checks whether the given #GValue can hold values of type %G_TYPE_ULONG.
65 //  *
66 //  * Returns: %TRUE on success.
67 //  */
68 // #define G_VALUE_HOLDS_ULONG(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_ULONG))
69 // /**
70 //  * G_VALUE_HOLDS_INT64:
71 //  * @value: a valid #GValue structure
72 //  *
73 //  * Checks whether the given #GValue can hold values of type %G_TYPE_INT64.
74 //  *
75 //  * Returns: %TRUE on success.
76 //  */
77 // #define G_VALUE_HOLDS_INT64(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_INT64))
78 // /**
79 //  * G_VALUE_HOLDS_UINT64:
80 //  * @value: a valid #GValue structure
81 //  *
82 //  * Checks whether the given #GValue can hold values of type %G_TYPE_UINT64.
83 //  *
84 //  * Returns: %TRUE on success.
85 //  */
86 // #define G_VALUE_HOLDS_UINT64(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_UINT64))
87 // /**
88 //  * G_VALUE_HOLDS_FLOAT:
89 //  * @value: a valid #GValue structure
90 //  *
91 //  * Checks whether the given #GValue can hold values of type %G_TYPE_FLOAT.
92 //  *
93 //  * Returns: %TRUE on success.
94 //  */
95 // #define G_VALUE_HOLDS_FLOAT(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_FLOAT))
96 // /**
97 //  * G_VALUE_HOLDS_DOUBLE:
98 //  * @value: a valid #GValue structure
99 //  *
100 //  * Checks whether the given #GValue can hold values of type %G_TYPE_DOUBLE.
101 //  *
102 //  * Returns: %TRUE on success.
103 //  */
104 // #define G_VALUE_HOLDS_DOUBLE(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_DOUBLE))
105 // /**
106 //  * G_VALUE_HOLDS_STRING:
107 //  * @value: a valid #GValue structure
108 //  *
109 //  * Checks whether the given #GValue can hold values of type %G_TYPE_STRING.
110 //  *
111 //  * Returns: %TRUE on success.
112 //  */
113 // #define G_VALUE_HOLDS_STRING(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_STRING))
114 // /**
115 //  * G_VALUE_HOLDS_POINTER:
116 //  * @value: a valid #GValue structure
117 //  *
118 //  * Checks whether the given #GValue can hold values of type %G_TYPE_POINTER.
119 //  *
120 //  * Returns: %TRUE on success.
121 //  */
122 // #define G_VALUE_HOLDS_POINTER(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_POINTER))
123 // /**
124 //  * G_TYPE_GTYPE:
125 //  *
126 //  * The type for #GType.
127 //  */
128 // #define	G_TYPE_GTYPE			 (g_gtype_get_type())
129 // /**
130 //  * G_VALUE_HOLDS_GTYPE:
131 //  * @value: a valid #GValue structure
132 //  *
133 //  * Checks whether the given #GValue can hold values of type %G_TYPE_GTYPE.
134 //  *
135 //  * Since: 2.12
136 //  * Returns: %TRUE on success.
137 //  */
138 // #define G_VALUE_HOLDS_GTYPE(value)	 (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_GTYPE))
139 // /**
140 //  * G_VALUE_HOLDS_VARIANT:
141 //  * @value: a valid #GValue structure
142 //  *
143 //  * Checks whether the given #GValue can hold values of type %G_TYPE_VARIANT.
144 //  *
145 //  * Returns: %TRUE on success.
146 //  *
147 //  * Since: 2.26
148 //  */
149 // #define G_VALUE_HOLDS_VARIANT(value)     (G_TYPE_CHECK_VALUE_TYPE ((value), G_TYPE_VARIANT))
150 
151 extern(C):
152 
153 /* --- prototypes --- */
154 deprecated("use g_value_set_schar")
155 void                  g_value_set_char          (GValue       *value,
156                                                  gchar         v_char);
157 deprecated("use g_value_get_schar")
158 gchar                 g_value_get_char          (const(GValue) *value);
159 
160 void		      g_value_set_schar		(GValue	      *value,
161 						 gint8	       v_char);
162 
163 gint8		      g_value_get_schar		(const(GValue) *value);
164 
165 void		      g_value_set_uchar		(GValue	      *value,
166 						 guchar	       v_uchar);
167 
168 guchar		      g_value_get_uchar		(const(GValue) *value);
169 
170 void		      g_value_set_boolean	(GValue	      *value,
171 						 gboolean      v_boolean);
172 
173 gboolean	      g_value_get_boolean	(const(GValue) *value);
174 
175 void		      g_value_set_int		(GValue	      *value,
176 						 gint	       v_int);
177 
178 gint		      g_value_get_int		(const(GValue) *value);
179 
180 void		      g_value_set_uint		(GValue	      *value,
181 						 guint	       v_uint);
182 
183 guint		      g_value_get_uint		(const(GValue) *value);
184 
185 void		      g_value_set_long		(GValue	      *value,
186 						 glong	       v_long);
187 
188 glong		      g_value_get_long		(const(GValue) *value);
189 
190 void		      g_value_set_ulong		(GValue	      *value,
191 						 gulong	       v_ulong);
192 
193 gulong		      g_value_get_ulong		(const(GValue) *value);
194 
195 void		      g_value_set_int64		(GValue	      *value,
196 						 gint64	       v_int64);
197 
198 gint64		      g_value_get_int64		(const(GValue) *value);
199 
200 void		      g_value_set_uint64	(GValue	      *value,
201 						 guint64      v_uint64);
202 
203 guint64		      g_value_get_uint64	(const(GValue) *value);
204 
205 void		      g_value_set_float		(GValue	      *value,
206 						 gfloat	       v_float);
207 
208 gfloat		      g_value_get_float		(const(GValue) *value);
209 
210 void		      g_value_set_double	(GValue	      *value,
211 						 gdouble       v_double);
212 
213 gdouble		      g_value_get_double	(const(GValue) *value);
214 
215 void		      g_value_set_string	(GValue	      *value,
216 						 const(gchar)  *v_string);
217 
218 void		      g_value_set_static_string (GValue	      *value,
219 						 const(gchar)  *v_string);
220 
221 const(gchar) *         g_value_get_string	(const(GValue) *value);
222 
223 gchar*		      g_value_dup_string	(const(GValue) *value);
224 
225 void		      g_value_set_pointer	(GValue	      *value,
226 						 gpointer      v_pointer);
227 
228 gpointer	      g_value_get_pointer	(const(GValue) *value);
229 
230 GType		      g_gtype_get_type		();
231 
232 void		      g_value_set_gtype	        (GValue	      *value,
233 						 GType         v_gtype);
234 
235 GType	              g_value_get_gtype	        (const(GValue) *value);
236 
237 void		      g_value_set_variant	(GValue	      *value,
238 						 GVariant     *variant);
239 
240 void		      g_value_take_variant	(GValue	      *value,
241 						 GVariant     *variant);
242 
243 GVariant*	      g_value_get_variant	(const(GValue) *value);
244 
245 GVariant*	      g_value_dup_variant	(const(GValue) *value);
246 
247 
248 /* Convenience for registering new pointer types */
249 
250 GType                 g_pointer_type_register_static (const(gchar) *name);
251 
252 /* debugging aid, describe value contents as string */
253 
254 gchar*                g_strdup_value_contents   (const(GValue) *value);
255 
256 
257 
258 void g_value_take_string		        (GValue		   *value,
259 						 gchar		   *v_string);
260 deprecated("use g_value_take_string")
261 void g_value_set_string_take_ownership          (GValue            *value,
262                                                  gchar             *v_string);
263 
264 
265 alias gchararray = gchar*;
266