X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgvariant.h;h=fa0fee12bb8562ddaef72c3f85baf89ccf6b8c91;hb=20f6cc2a10ba26860e7a6d27c100deadb5497772;hp=d0cd857940be05c693f432187bd9567234f61463;hpb=a9637126465fba06c1fc73cc70eb5f683ad4e4b3;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gvariant.h b/glib/gvariant.h index d0cd857..fa0fee1 100644 --- a/glib/gvariant.h +++ b/glib/gvariant.h @@ -13,22 +13,21 @@ * 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. + * License along with this library; if not, see . * * Author: Ryan Lortie */ +#ifndef __G_VARIANT_H__ +#define __G_VARIANT_H__ + #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_VARIANT_H__ -#define __G_VARIANT_H__ - #include #include +#include G_BEGIN_DECLS @@ -56,125 +55,209 @@ typedef enum G_VARIANT_CLASS_DICT_ENTRY = '{' } GVariantClass; +GLIB_AVAILABLE_IN_ALL void g_variant_unref (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_ref (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_ref_sink (GVariant *value); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_is_floating (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_take_ref (GVariant *value); +GLIB_AVAILABLE_IN_ALL const GVariantType * g_variant_get_type (GVariant *value); +GLIB_AVAILABLE_IN_ALL const gchar * g_variant_get_type_string (GVariant *value); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_is_of_type (GVariant *value, const GVariantType *type); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_is_container (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariantClass g_variant_classify (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_boolean (gboolean value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_byte (guchar value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_int16 (gint16 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_uint16 (guint16 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_int32 (gint32 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_uint32 (guint32 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_int64 (gint64 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_uint64 (guint64 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_handle (gint32 value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_double (gdouble value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_string (const gchar *string); +GLIB_AVAILABLE_IN_2_38 +GVariant * g_variant_new_take_string (gchar *string); +GLIB_AVAILABLE_IN_2_38 +GVariant * g_variant_new_printf (const gchar *format_string, + ...) G_GNUC_PRINTF (1, 2); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_object_path (const gchar *object_path); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_is_object_path (const gchar *string); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_signature (const gchar *signature); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_is_signature (const gchar *string); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_variant (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_strv (const gchar * const *strv, gssize length); GLIB_AVAILABLE_IN_2_30 GVariant * g_variant_new_objv (const gchar * const *strv, gssize length); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_bytestring (const gchar *string); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_bytestring_array (const gchar * const *strv, gssize length); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_fixed_array (const GVariantType *element_type, gconstpointer elements, gsize n_elements, gsize element_size); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_get_boolean (GVariant *value); +GLIB_AVAILABLE_IN_ALL guchar g_variant_get_byte (GVariant *value); +GLIB_AVAILABLE_IN_ALL gint16 g_variant_get_int16 (GVariant *value); +GLIB_AVAILABLE_IN_ALL guint16 g_variant_get_uint16 (GVariant *value); +GLIB_AVAILABLE_IN_ALL gint32 g_variant_get_int32 (GVariant *value); +GLIB_AVAILABLE_IN_ALL guint32 g_variant_get_uint32 (GVariant *value); +GLIB_AVAILABLE_IN_ALL gint64 g_variant_get_int64 (GVariant *value); +GLIB_AVAILABLE_IN_ALL guint64 g_variant_get_uint64 (GVariant *value); +GLIB_AVAILABLE_IN_ALL gint32 g_variant_get_handle (GVariant *value); +GLIB_AVAILABLE_IN_ALL gdouble g_variant_get_double (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_get_variant (GVariant *value); +GLIB_AVAILABLE_IN_ALL const gchar * g_variant_get_string (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL gchar * g_variant_dup_string (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL const gchar ** g_variant_get_strv (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL gchar ** g_variant_dup_strv (GVariant *value, gsize *length); GLIB_AVAILABLE_IN_2_30 const gchar ** g_variant_get_objv (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL gchar ** g_variant_dup_objv (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL const gchar * g_variant_get_bytestring (GVariant *value); +GLIB_AVAILABLE_IN_ALL gchar * g_variant_dup_bytestring (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL const gchar ** g_variant_get_bytestring_array (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL gchar ** g_variant_dup_bytestring_array (GVariant *value, gsize *length); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_maybe (const GVariantType *child_type, GVariant *child); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_array (const GVariantType *child_type, GVariant * const *children, gsize n_children); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_tuple (GVariant * const *children, gsize n_children); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_dict_entry (GVariant *key, GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_get_maybe (GVariant *value); +GLIB_AVAILABLE_IN_ALL gsize g_variant_n_children (GVariant *value); +GLIB_AVAILABLE_IN_ALL void g_variant_get_child (GVariant *value, gsize index_, const gchar *format_string, ...); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_get_child_value (GVariant *value, gsize index_); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_lookup (GVariant *dictionary, const gchar *key, const gchar *format_string, ...); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_lookup_value (GVariant *dictionary, const gchar *key, const GVariantType *expected_type); +GLIB_AVAILABLE_IN_ALL gconstpointer g_variant_get_fixed_array (GVariant *value, gsize *n_elements, gsize element_size); +GLIB_AVAILABLE_IN_ALL gsize g_variant_get_size (GVariant *value); +GLIB_AVAILABLE_IN_ALL gconstpointer g_variant_get_data (GVariant *value); +GLIB_AVAILABLE_IN_2_36 +GBytes * g_variant_get_data_as_bytes (GVariant *value); +GLIB_AVAILABLE_IN_ALL void g_variant_store (GVariant *value, gpointer data); +GLIB_AVAILABLE_IN_ALL gchar * g_variant_print (GVariant *value, gboolean type_annotate); +GLIB_AVAILABLE_IN_ALL GString * g_variant_print_string (GVariant *value, GString *string, gboolean type_annotate); +GLIB_AVAILABLE_IN_ALL guint g_variant_hash (gconstpointer value); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_equal (gconstpointer one, gconstpointer two); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_get_normal_form (GVariant *value); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_is_normal_form (GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_byteswap (GVariant *value); + +GLIB_AVAILABLE_IN_2_36 +GVariant * g_variant_new_from_bytes (const GVariantType *type, + GBytes *bytes, + gboolean trusted); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_from_data (const GVariantType *type, gconstpointer data, gsize size, @@ -188,16 +271,24 @@ struct _GVariantIter { gsize x[16]; }; +GLIB_AVAILABLE_IN_ALL GVariantIter * g_variant_iter_new (GVariant *value); +GLIB_AVAILABLE_IN_ALL gsize g_variant_iter_init (GVariantIter *iter, GVariant *value); +GLIB_AVAILABLE_IN_ALL GVariantIter * g_variant_iter_copy (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL gsize g_variant_iter_n_children (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL void g_variant_iter_free (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_iter_next_value (GVariantIter *iter); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_iter_next (GVariantIter *iter, const gchar *format_string, ...); +GLIB_AVAILABLE_IN_ALL gboolean g_variant_iter_loop (GVariantIter *iter, const gchar *format_string, ...); @@ -230,55 +321,132 @@ typedef enum G_VARIANT_PARSE_ERROR_UNTERMINATED_STRING_CONSTANT, G_VARIANT_PARSE_ERROR_VALUE_EXPECTED } GVariantParseError; -#define G_VARIANT_PARSE_ERROR (g_variant_parser_get_error_quark ()) +#define G_VARIANT_PARSE_ERROR (g_variant_parse_error_quark ()) +GLIB_DEPRECATED_IN_2_38_FOR(g_variant_parse_error_quark) GQuark g_variant_parser_get_error_quark (void); +GLIB_AVAILABLE_IN_ALL +GQuark g_variant_parse_error_quark (void); + +GLIB_AVAILABLE_IN_ALL GVariantBuilder * g_variant_builder_new (const GVariantType *type); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_unref (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL GVariantBuilder * g_variant_builder_ref (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_init (GVariantBuilder *builder, const GVariantType *type); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_builder_end (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_clear (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_open (GVariantBuilder *builder, const GVariantType *type); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_close (GVariantBuilder *builder); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_add_value (GVariantBuilder *builder, GVariant *value); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_add (GVariantBuilder *builder, const gchar *format_string, ...); +GLIB_AVAILABLE_IN_ALL void g_variant_builder_add_parsed (GVariantBuilder *builder, const gchar *format, ...); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new (const gchar *format_string, ...); +GLIB_AVAILABLE_IN_ALL void g_variant_get (GVariant *value, const gchar *format_string, ...); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_va (const gchar *format_string, const gchar **endptr, va_list *app); +GLIB_AVAILABLE_IN_ALL void g_variant_get_va (GVariant *value, const gchar *format_string, const gchar **endptr, va_list *app); +GLIB_AVAILABLE_IN_2_34 +gboolean g_variant_check_format_string (GVariant *value, + const gchar *format_string, + gboolean copy_only); - +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_parse (const GVariantType *type, const gchar *text, const gchar *limit, const gchar **endptr, GError **error); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_parsed (const gchar *format, ...); +GLIB_AVAILABLE_IN_ALL GVariant * g_variant_new_parsed_va (const gchar *format, va_list *app); +GLIB_AVAILABLE_IN_2_40 +gchar * g_variant_parse_error_print_context (GError *error, + const gchar *source_str); + +GLIB_AVAILABLE_IN_ALL gint g_variant_compare (gconstpointer one, gconstpointer two); + +typedef struct _GVariantDict GVariantDict; +struct _GVariantDict { + /*< private >*/ + gsize x[16]; +}; + +GLIB_AVAILABLE_IN_2_40 +GVariantDict * g_variant_dict_new (GVariant *from_asv); + +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_init (GVariantDict *dict, + GVariant *from_asv); + +GLIB_AVAILABLE_IN_2_40 +gboolean g_variant_dict_lookup (GVariantDict *dict, + const gchar *key, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_2_40 +GVariant * g_variant_dict_lookup_value (GVariantDict *dict, + const gchar *key, + const GVariantType *expected_type); +GLIB_AVAILABLE_IN_2_40 +gboolean g_variant_dict_contains (GVariantDict *dict, + const gchar *key); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_insert (GVariantDict *dict, + const gchar *key, + const gchar *format_string, + ...); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_insert_value (GVariantDict *dict, + const gchar *key, + GVariant *value); +GLIB_AVAILABLE_IN_2_40 +gboolean g_variant_dict_remove (GVariantDict *dict, + const gchar *key); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_clear (GVariantDict *dict); +GLIB_AVAILABLE_IN_2_40 +GVariant * g_variant_dict_end (GVariantDict *dict); +GLIB_AVAILABLE_IN_2_40 +GVariantDict * g_variant_dict_ref (GVariantDict *dict); +GLIB_AVAILABLE_IN_2_40 +void g_variant_dict_unref (GVariantDict *dict); + G_END_DECLS #endif /* __G_VARIANT_H__ */