mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-31 08:22:16 +01:00 
			
		
		
		
	merge GVariantType
GVariantType is the type system for GVariant
This commit is contained in:
		| @@ -119,6 +119,7 @@ synchronize their operation. | |||||||
|       <xi:include href="xml/relations.xml" /> |       <xi:include href="xml/relations.xml" /> | ||||||
|       <xi:include href="xml/caches.xml" /> |       <xi:include href="xml/caches.xml" /> | ||||||
|       <xi:include href="xml/allocators.xml" /> |       <xi:include href="xml/allocators.xml" /> | ||||||
|  |       <xi:include href="xml/gvarianttype.xml"/> | ||||||
|   </chapter> |   </chapter> | ||||||
|  |  | ||||||
|   <chapter id="tools"> |   <chapter id="tools"> | ||||||
|   | |||||||
| @@ -2701,6 +2701,74 @@ g_test_log_buffer_pop | |||||||
| g_test_log_msg_free | g_test_log_msg_free | ||||||
| </SECTION> | </SECTION> | ||||||
|  |  | ||||||
|  | <SECTION> | ||||||
|  | <TITLE>GVariantType</TITLE> | ||||||
|  | <FILE>gvarianttype</FILE> | ||||||
|  | GVariantType | ||||||
|  | G_VARIANT_TYPE_BOOLEAN | ||||||
|  | G_VARIANT_TYPE_BYTE | ||||||
|  | G_VARIANT_TYPE_INT16 | ||||||
|  | G_VARIANT_TYPE_UINT16 | ||||||
|  | G_VARIANT_TYPE_INT32 | ||||||
|  | G_VARIANT_TYPE_UINT32 | ||||||
|  | G_VARIANT_TYPE_INT64 | ||||||
|  | G_VARIANT_TYPE_UINT64 | ||||||
|  | G_VARIANT_TYPE_HANDLE | ||||||
|  | G_VARIANT_TYPE_DOUBLE | ||||||
|  | G_VARIANT_TYPE_STRING | ||||||
|  | G_VARIANT_TYPE_OBJECT_PATH | ||||||
|  | G_VARIANT_TYPE_SIGNATURE | ||||||
|  | G_VARIANT_TYPE_VARIANT | ||||||
|  | G_VARIANT_TYPE_ANY | ||||||
|  | G_VARIANT_TYPE_BASIC | ||||||
|  | G_VARIANT_TYPE_MAYBE | ||||||
|  | G_VARIANT_TYPE_ARRAY | ||||||
|  | G_VARIANT_TYPE_TUPLE | ||||||
|  | G_VARIANT_TYPE_UNIT | ||||||
|  | G_VARIANT_TYPE_DICT_ENTRY | ||||||
|  | G_VARIANT_TYPE_DICTIONARY | ||||||
|  |  | ||||||
|  | <SUBSECTION> | ||||||
|  | G_VARIANT_TYPE | ||||||
|  | g_variant_type_free | ||||||
|  | g_variant_type_copy | ||||||
|  | g_variant_type_new | ||||||
|  |  | ||||||
|  | <SUBSECTION> | ||||||
|  | g_variant_type_string_is_valid | ||||||
|  | g_variant_type_string_scan | ||||||
|  | g_variant_type_get_string_length | ||||||
|  | g_variant_type_peek_string | ||||||
|  | g_variant_type_dup_string | ||||||
|  |  | ||||||
|  | <SUBSECTION> | ||||||
|  | g_variant_type_is_definite | ||||||
|  | g_variant_type_is_container | ||||||
|  | g_variant_type_is_basic | ||||||
|  | g_variant_type_is_maybe | ||||||
|  | g_variant_type_is_array | ||||||
|  | g_variant_type_is_tuple | ||||||
|  | g_variant_type_is_dict_entry | ||||||
|  |  | ||||||
|  | <SUBSECTION> | ||||||
|  | g_variant_type_hash | ||||||
|  | g_variant_type_equal | ||||||
|  | g_variant_type_is_subtype_of | ||||||
|  |  | ||||||
|  | <SUBSECTION> | ||||||
|  | g_variant_type_new_maybe | ||||||
|  | g_variant_type_new_array | ||||||
|  | g_variant_type_new_tuple | ||||||
|  | g_variant_type_new_dict_entry | ||||||
|  |  | ||||||
|  | <SUBSECTION> | ||||||
|  | g_variant_type_element | ||||||
|  | g_variant_type_n_items | ||||||
|  | g_variant_type_first | ||||||
|  | g_variant_type_next | ||||||
|  | g_variant_type_key | ||||||
|  | g_variant_type_value | ||||||
|  | </SECTION> | ||||||
|  |  | ||||||
| <SECTION> | <SECTION> | ||||||
| <FILE>ghostutils</FILE> | <FILE>ghostutils</FILE> | ||||||
|   | |||||||
| @@ -171,6 +171,7 @@ libglib_2_0_la_SOURCES = 	\ | |||||||
| 	gunicodeprivate.h	\ | 	gunicodeprivate.h	\ | ||||||
| 	gurifuncs.c 		\ | 	gurifuncs.c 		\ | ||||||
| 	gutils.c		\ | 	gutils.c		\ | ||||||
|  | 	gvarianttype.c		\ | ||||||
| 	gdebug.h		\ | 	gdebug.h		\ | ||||||
| 	gprintf.c		\ | 	gprintf.c		\ | ||||||
| 	gprintfint.h | 	gprintfint.h | ||||||
| @@ -248,6 +249,7 @@ glibsubinclude_HEADERS =   \ | |||||||
| 	gunicode.h	\ | 	gunicode.h	\ | ||||||
| 	gurifuncs.h 		\ | 	gurifuncs.h 		\ | ||||||
| 	gutils.h	\ | 	gutils.h	\ | ||||||
|  | 	gvarianttype.h	\ | ||||||
| 	gwin32.h	\ | 	gwin32.h	\ | ||||||
| 	gprintf.h | 	gprintf.h | ||||||
|  |  | ||||||
|   | |||||||
| @@ -85,6 +85,7 @@ | |||||||
| #include <glib/gunicode.h> | #include <glib/gunicode.h> | ||||||
| #include <glib/gurifuncs.h> | #include <glib/gurifuncs.h> | ||||||
| #include <glib/gutils.h> | #include <glib/gutils.h> | ||||||
|  | #include <glib/gvarianttype.h> | ||||||
| #ifdef G_PLATFORM_WIN32 | #ifdef G_PLATFORM_WIN32 | ||||||
| #include <glib/gwin32.h> | #include <glib/gwin32.h> | ||||||
| #endif | #endif | ||||||
|   | |||||||
| @@ -1644,6 +1644,40 @@ g_match_info_fetch_all | |||||||
| #endif | #endif | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | #if IN_HEADER(__G_VARIANT_TYPE_H__) | ||||||
|  | #if IN_FILE(__G_VARIANT_TYPE_C__) | ||||||
|  | g_variant_type_string_is_valid | ||||||
|  | g_variant_type_string_scan | ||||||
|  | g_variant_type_free | ||||||
|  | g_variant_type_copy | ||||||
|  | g_variant_type_new | ||||||
|  | g_variant_type_get_string_length | ||||||
|  | g_variant_type_peek_string | ||||||
|  | g_variant_type_dup_string | ||||||
|  | g_variant_type_is_definite | ||||||
|  | g_variant_type_is_container | ||||||
|  | g_variant_type_is_basic | ||||||
|  | g_variant_type_is_maybe | ||||||
|  | g_variant_type_is_array | ||||||
|  | g_variant_type_is_tuple | ||||||
|  | g_variant_type_is_dict_entry | ||||||
|  | g_variant_type_hash | ||||||
|  | g_variant_type_equal | ||||||
|  | g_variant_type_is_subtype_of | ||||||
|  | g_variant_type_element | ||||||
|  | g_variant_type_first | ||||||
|  | g_variant_type_next | ||||||
|  | g_variant_type_n_items | ||||||
|  | g_variant_type_key | ||||||
|  | g_variant_type_value | ||||||
|  | g_variant_type_new_array | ||||||
|  | g_variant_type_new_maybe | ||||||
|  | g_variant_type_new_tuple | ||||||
|  | g_variant_type_new_dict_entry | ||||||
|  | g_variant_type_checked_ | ||||||
|  | #endif | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #if IN_HEADER(__G_WIN32_H__) | #if IN_HEADER(__G_WIN32_H__) | ||||||
| #if IN_FILE(__G_WIN32_H__) | #if IN_FILE(__G_WIN32_H__) | ||||||
| #ifdef G_OS_WIN32 | #ifdef G_OS_WIN32 | ||||||
|   | |||||||
							
								
								
									
										1495
									
								
								glib/gvarianttype.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1495
									
								
								glib/gvarianttype.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										282
									
								
								glib/gvarianttype.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										282
									
								
								glib/gvarianttype.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,282 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright © 2007, 2008 Ryan Lortie | ||||||
|  |  * Copyright © 2009, 2010 Codethink Limited | ||||||
|  |  * | ||||||
|  |  * This library is free software; you can redistribute it and/or | ||||||
|  |  * modify it under the terms of the GNU Lesser General Public | ||||||
|  |  * License as published by the Free Software Foundation; either | ||||||
|  |  * version 2 of the licence, or (at your option) any later version. | ||||||
|  |  * | ||||||
|  |  * This library is distributed in the hope that it will be useful, | ||||||
|  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | ||||||
|  |  * Lesser General Public License for more details. | ||||||
|  |  * | ||||||
|  |  * You should have received a copy of the GNU Lesser General Public | ||||||
|  |  * License along with this library; if not, write to the | ||||||
|  |  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||||||
|  |  * Boston, MA 02111-1307, USA. | ||||||
|  |  * | ||||||
|  |  * Author: Ryan Lortie <desrt@desrt.ca> | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef __G_VARIANT_TYPE_H__ | ||||||
|  | #define __G_VARIANT_TYPE_H__ | ||||||
|  |  | ||||||
|  | #include <glib/gmessages.h> | ||||||
|  | #include <glib/gtypes.h> | ||||||
|  |  | ||||||
|  | typedef struct _GVariantType GVariantType; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_BOOLEAN: | ||||||
|  |  * | ||||||
|  |  * The type of a value that can be either %TRUE or %FALSE. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_BOOLEAN              ((const GVariantType *) "b") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_BYTE: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from 0 to 255. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_BYTE                 ((const GVariantType *) "y") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_INT16: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from -32768 to 32767. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_INT16                ((const GVariantType *) "n") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_UINT16: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from 0 to 65535. | ||||||
|  |  * There were about this many people living in Toronto in the 1870s. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_UINT16               ((const GVariantType *) "q") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_INT32: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from -2147483648 to | ||||||
|  |  * 2147483647. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_INT32                ((const GVariantType *) "i") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_UINT32: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from 0 to 4294967295. | ||||||
|  |  * That's one number for everyone who was around in the late 1970s. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_UINT32               ((const GVariantType *) "u") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_INT64: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from | ||||||
|  |  * -9223372036854775808 to 9223372036854775807. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_INT64                ((const GVariantType *) "x") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_UINT64: | ||||||
|  |  * | ||||||
|  |  * The type of an integer value that can range from 0 to | ||||||
|  |  * 18446744073709551616.  That's a really big number, but a Rubik's | ||||||
|  |  * cube can have a bit more than twice as many possible positions. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_UINT64               ((const GVariantType *) "t") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_DOUBLE: | ||||||
|  |  * | ||||||
|  |  * The type of a double precision IEEE754 floating point number. | ||||||
|  |  * These guys go up to about 1.80e308 (plus and minus) but miss out on | ||||||
|  |  * some numbers in between.  In any case, that's far greater than the | ||||||
|  |  * estimated number of fundamental particles in the observable | ||||||
|  |  * universe. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_DOUBLE               ((const GVariantType *) "d") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_STRING: | ||||||
|  |  * | ||||||
|  |  * The type of a string.  "" is a string.  %NULL is not a string. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_STRING               ((const GVariantType *) "s") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_OBJECT_PATH: | ||||||
|  |  * | ||||||
|  |  * The type of a DBus object reference.  These are strings of a | ||||||
|  |  * specific format used to identify objects at a given destination on | ||||||
|  |  * the bus. | ||||||
|  |  * | ||||||
|  |  * If you are not interacting with DBus, then there is no reason to make | ||||||
|  |  * use of this type.  If you are, then the DBus specification contains a | ||||||
|  |  * precise description of valid object paths. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_OBJECT_PATH          ((const GVariantType *) "o") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_SIGNATURE: | ||||||
|  |  * | ||||||
|  |  * The type of a DBus type signature.  These are strings of a specific | ||||||
|  |  * format used as type signatures for DBus methods and messages. | ||||||
|  |  * | ||||||
|  |  * If you are not interacting with DBus, then there is no reason to make | ||||||
|  |  * use of this type.  If you are, then the DBus specification contains a | ||||||
|  |  * precise description of valid signature strings. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_SIGNATURE            ((const GVariantType *) "g") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_VARIANT: | ||||||
|  |  * | ||||||
|  |  * The type of a box that contains any other value (including another | ||||||
|  |  * variant). | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_VARIANT              ((const GVariantType *) "v") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_HANDLE: | ||||||
|  |  * | ||||||
|  |  * The type of a 32bit signed integer value, that by convention, is used | ||||||
|  |  * as an index into an array of file descriptors that are sent alongside | ||||||
|  |  * a DBus message. | ||||||
|  |  * | ||||||
|  |  * If you are not interacting with DBus, then there is no reason to make | ||||||
|  |  * use of this type. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_HANDLE               ((const GVariantType *) "h") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_UNIT: | ||||||
|  |  * | ||||||
|  |  * The empty tuple type.  Has only one instance.  Known also as "triv" | ||||||
|  |  * or "void". | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_UNIT                 ((const GVariantType *) "()") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_ANY: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every type (including | ||||||
|  |  * itself). | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_ANY                  ((const GVariantType *) "*") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_BASIC: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every basic (ie: | ||||||
|  |  * non-container) type. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_BASIC                ((const GVariantType *) "?") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_MAYBE: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every maybe type. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_MAYBE                ((const GVariantType *) "m*") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_ARRAY: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every array type. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_ARRAY                ((const GVariantType *) "a*") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_TUPLE: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every tuple type, | ||||||
|  |  * regardless of the number of items in the tuple. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_TUPLE                ((const GVariantType *) "r") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_DICT_ENTRY: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every dictionary entry | ||||||
|  |  * type. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_DICT_ENTRY           ((const GVariantType *) "{?*}") | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * G_VARIANT_TYPE_DICTIONARY: | ||||||
|  |  * | ||||||
|  |  * An indefinite type that is a supertype of every dictionary type -- | ||||||
|  |  * that is, any array type that has an element type equal to any | ||||||
|  |  * dictionary entry type. | ||||||
|  |  **/ | ||||||
|  | #define G_VARIANT_TYPE_DICTIONARY           ((const GVariantType *) "a{?*}") | ||||||
|  |  | ||||||
|  | #ifndef G_DISABLE_CHECKS | ||||||
|  | # define G_VARIANT_TYPE(str)                (g_variant_type_checked_ ((str))) | ||||||
|  | #else | ||||||
|  | # define G_VARIANT_TYPE(str)                ((const GVariantType *) (str)) | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | G_BEGIN_DECLS | ||||||
|  |  | ||||||
|  | /* type string checking */ | ||||||
|  | gboolean                        g_variant_type_string_is_valid          (const gchar         *type_string); | ||||||
|  | gboolean                        g_variant_type_string_scan              (const gchar         *string, | ||||||
|  |                                                                          const gchar         *limit, | ||||||
|  |                                                                          const gchar        **endptr); | ||||||
|  |  | ||||||
|  | /* create/destroy */ | ||||||
|  | void                            g_variant_type_free                     (GVariantType        *type); | ||||||
|  | GVariantType *                  g_variant_type_copy                     (const GVariantType  *type); | ||||||
|  | GVariantType *                  g_variant_type_new                      (const gchar         *type_string); | ||||||
|  |  | ||||||
|  | /* getters */ | ||||||
|  | gsize                           g_variant_type_get_string_length        (const GVariantType  *type); | ||||||
|  | const gchar *                   g_variant_type_peek_string              (const GVariantType  *type); | ||||||
|  | gchar *                         g_variant_type_dup_string               (const GVariantType  *type); | ||||||
|  |  | ||||||
|  | /* classification */ | ||||||
|  | gboolean                        g_variant_type_is_definite              (const GVariantType  *type); | ||||||
|  | gboolean                        g_variant_type_is_container             (const GVariantType  *type); | ||||||
|  | gboolean                        g_variant_type_is_basic                 (const GVariantType  *type); | ||||||
|  | gboolean                        g_variant_type_is_maybe                 (const GVariantType  *type); | ||||||
|  | gboolean                        g_variant_type_is_array                 (const GVariantType  *type); | ||||||
|  | gboolean                        g_variant_type_is_tuple                 (const GVariantType  *type); | ||||||
|  | gboolean                        g_variant_type_is_dict_entry            (const GVariantType  *type); | ||||||
|  |  | ||||||
|  | /* for hash tables */ | ||||||
|  | guint                           g_variant_type_hash                     (gconstpointer        type); | ||||||
|  | gboolean                        g_variant_type_equal                    (gconstpointer        type1, | ||||||
|  |                                                                          gconstpointer        type2); | ||||||
|  |  | ||||||
|  | /* subtypes */ | ||||||
|  | gboolean                        g_variant_type_is_subtype_of            (const GVariantType  *type, | ||||||
|  |                                                                          const GVariantType  *supertype); | ||||||
|  |  | ||||||
|  | /* type iterator interface */ | ||||||
|  | const GVariantType *            g_variant_type_element                  (const GVariantType  *type); | ||||||
|  | const GVariantType *            g_variant_type_first                    (const GVariantType  *type); | ||||||
|  | const GVariantType *            g_variant_type_next                     (const GVariantType  *type); | ||||||
|  | gsize                           g_variant_type_n_items                  (const GVariantType  *type); | ||||||
|  | const GVariantType *            g_variant_type_key                      (const GVariantType  *type); | ||||||
|  | const GVariantType *            g_variant_type_value                    (const GVariantType  *type); | ||||||
|  |  | ||||||
|  | /* constructors */ | ||||||
|  | GVariantType *                  g_variant_type_new_array                (const GVariantType  *element); | ||||||
|  | GVariantType *                  g_variant_type_new_maybe                (const GVariantType  *element); | ||||||
|  | GVariantType *                  g_variant_type_new_tuple                (const GVariantType * const *items, | ||||||
|  |                                                                          gint                 length); | ||||||
|  | GVariantType *                  g_variant_type_new_dict_entry           (const GVariantType  *key, | ||||||
|  |                                                                          const GVariantType  *value); | ||||||
|  |  | ||||||
|  | /*< private >*/ | ||||||
|  | const GVariantType *            g_variant_type_checked_                 (const gchar *); | ||||||
|  |  | ||||||
|  | G_END_DECLS | ||||||
|  |  | ||||||
|  | #endif /* __G_VARIANT_TYPE_H__ */ | ||||||
		Reference in New Issue
	
	Block a user