diff options
Diffstat (limited to 'libmm-glib/mm-common-helpers.h')
-rw-r--r-- | libmm-glib/mm-common-helpers.h | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/libmm-glib/mm-common-helpers.h b/libmm-glib/mm-common-helpers.h new file mode 100644 index 0000000..161d903 --- /dev/null +++ b/libmm-glib/mm-common-helpers.h @@ -0,0 +1,132 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details: + * + * Copyright (C) 2010 - 2012 Red Hat, Inc. + * Copyright (C) 2011 - 2012 Google, Inc. + * Copyright (C) 2012 Aleksander Morgado <aleksander@gnu.org> + */ + +#include <glib.h> +#include <ModemManager.h> +#include "mm-helper-types.h" + +#if !defined (__LIBMM_GLIB_H_INSIDE__) && !defined (LIBMM_GLIB_COMPILATION) +#error "Only <libmm-glib.h> can be included directly." +#endif + +#ifndef MM_COMMON_HELPERS_H +#define MM_COMMON_HELPERS_H + +gchar *mm_common_build_capabilities_string (const MMModemCapability *capabilities, + guint n_capabilities); + +gchar *mm_common_build_bands_string (const MMModemBand *bands, + guint n_bands); + +gchar *mm_common_build_sms_storages_string (const MMSmsStorage *storages, + guint n_storages); + +gchar *mm_common_build_mode_combinations_string (const MMModemModeCombination *modes, + guint n_modes); + +MMModemCapability mm_common_get_capabilities_from_string (const gchar *str, + GError **error); +MMModemMode mm_common_get_modes_from_string (const gchar *str, + GError **error); +void mm_common_get_bands_from_string (const gchar *str, + MMModemBand **bands, + guint *n_bands, + GError **error); +gboolean mm_common_get_boolean_from_string (const gchar *value, + GError **error); +MMModemCdmaRmProtocol mm_common_get_rm_protocol_from_string (const gchar *str, + GError **error); +MMBearerIpFamily mm_common_get_ip_type_from_string (const gchar *str, + GError **error); +MMBearerAllowedAuth mm_common_get_allowed_auth_from_string (const gchar *str, + GError **error); +MMSmsStorage mm_common_get_sms_storage_from_string (const gchar *str, + GError **error); + +GArray *mm_common_sms_storages_variant_to_garray (GVariant *variant); +MMSmsStorage *mm_common_sms_storages_variant_to_array (GVariant *variant, + guint *n_storages); +GVariant *mm_common_sms_storages_array_to_variant (const MMSmsStorage *storages, + guint n_storages); +GVariant *mm_common_sms_storages_garray_to_variant (GArray *array); + +GArray *mm_common_bands_variant_to_garray (GVariant *variant); +MMModemBand *mm_common_bands_variant_to_array (GVariant *variant, + guint *n_bands); +GVariant *mm_common_bands_array_to_variant (const MMModemBand *bands, + guint n_bands); +GVariant *mm_common_bands_garray_to_variant (GArray *array); + +GVariant *mm_common_build_bands_any (void); +GVariant *mm_common_build_bands_unknown (void); + +gboolean mm_common_bands_garray_cmp (GArray *a, GArray *b); + +GArray *mm_common_mode_combinations_variant_to_garray (GVariant *variant); +MMModemModeCombination *mm_common_mode_combinations_variant_to_array (GVariant *variant, + guint *n_modes); +GVariant *mm_common_mode_combinations_array_to_variant (const MMModemModeCombination *modes, + guint n_modes); +GVariant *mm_common_mode_combinations_garray_to_variant (GArray *array); +GVariant *mm_common_build_mode_combinations_default (void); + +GArray *mm_common_capability_combinations_variant_to_garray (GVariant *variant); +MMModemCapability *mm_common_capability_combinations_variant_to_array (GVariant *variant, + guint *n_capabilities); +GVariant *mm_common_capability_combinations_array_to_variant (const MMModemCapability *capabilities, + guint n_capabilities); +GVariant *mm_common_capability_combinations_garray_to_variant (GArray *array); +GVariant *mm_common_build_capability_combinations_any (void); +GVariant *mm_common_build_capability_combinations_none (void); + +typedef gboolean (*MMParseKeyValueForeachFn) (const gchar *key, + const gchar *value, + gpointer user_data); +gboolean mm_common_parse_key_value_string (const gchar *str, + GError **error, + MMParseKeyValueForeachFn callback, + gpointer user_data); + +/* Common parsers */ +gboolean mm_get_int_from_str (const gchar *str, + gint *out); +gboolean mm_get_int_from_match_info (GMatchInfo *match_info, + guint32 match_index, + gint *out); +gboolean mm_get_uint_from_str (const gchar *str, + guint *out); +gboolean mm_get_uint_from_match_info (GMatchInfo *match_info, + guint32 match_index, + guint *out); +gboolean mm_get_double_from_str (const gchar *str, + gdouble *out); +gboolean mm_get_double_from_match_info (GMatchInfo *match_info, + guint32 match_index, + gdouble *out); +gchar *mm_get_string_unquoted_from_match_info (GMatchInfo *match_info, + guint32 match_index); + +const gchar *mm_sms_delivery_state_get_string_extended (guint delivery_state); + +gint mm_utils_hex2byte (const gchar *hex); +gchar *mm_utils_hexstr2bin (const gchar *hex, gsize *out_len); +gchar *mm_utils_bin2hexstr (const guint8 *bin, gsize len); +gboolean mm_utils_ishexstr (const gchar *hex); + +gboolean mm_utils_check_for_single_value (guint32 value); + +#endif /* MM_COMMON_HELPERS_H */ |