diff options
Diffstat (limited to 'libmm-glib/mm-common-helpers.h')
-rw-r--r-- | libmm-glib/mm-common-helpers.h | 303 |
1 files changed, 186 insertions, 117 deletions
diff --git a/libmm-glib/mm-common-helpers.h b/libmm-glib/mm-common-helpers.h index b05a4a92..7ad8c6ad 100644 --- a/libmm-glib/mm-common-helpers.h +++ b/libmm-glib/mm-common-helpers.h @@ -26,133 +26,202 @@ #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_ports_string (const MMModemPortInfo *ports, - guint n_ports); - -gchar *mm_common_build_sms_storages_string (const MMSmsStorage *storages, - guint n_storages); - +/******************************************************************************/ +/* Enums/flags to string builders */ + +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_ports_string (const MMModemPortInfo *ports, + guint n_ports); +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); -MMSmsCdmaTeleserviceId mm_common_get_sms_cdma_teleservice_id_from_string (const gchar *str, - GError **error); -MMSmsCdmaServiceCategory mm_common_get_sms_cdma_service_category_from_string (const gchar *str, - GError **error); -MMOmaFeature mm_common_get_oma_features_from_string (const gchar *str, - GError **error); -MMOmaSessionType mm_common_get_oma_session_type_from_string (const gchar *str, - GError **error); - -GArray *mm_common_ports_variant_to_garray (GVariant *variant); -MMModemPortInfo *mm_common_ports_variant_to_array (GVariant *variant, - guint *n_ports); -GVariant *mm_common_ports_array_to_variant (const MMModemPortInfo *ports, - guint n_ports); -GVariant *mm_common_ports_garray_to_variant (GArray *array); - -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); - -GArray *mm_common_oma_pending_network_initiated_sessions_variant_to_garray (GVariant *variant); -MMOmaPendingNetworkInitiatedSession *mm_common_oma_pending_network_initiated_sessions_variant_to_array (GVariant *variant, - guint *n_modes); -GVariant *mm_common_oma_pending_network_initiated_sessions_array_to_variant (const MMOmaPendingNetworkInitiatedSession *modes, - guint n_modes); -GVariant *mm_common_oma_pending_network_initiated_sessions_garray_to_variant (GArray *array); -GVariant *mm_common_build_oma_pending_network_initiated_sessions_default (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); - + guint n_modes); + +/******************************************************************************/ +/* String to enums/flags parsers */ + +MMModemCapability mm_common_get_capabilities_from_string (const gchar *str, + GError **error); +MMModemMode mm_common_get_modes_from_string (const gchar *str, + GError **error); +gboolean 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); +MMSmsCdmaTeleserviceId mm_common_get_sms_cdma_teleservice_id_from_string (const gchar *str, + GError **error); +MMSmsCdmaServiceCategory mm_common_get_sms_cdma_service_category_from_string (const gchar *str, + GError **error); +MMCallDirection mm_common_get_call_direction_from_string (const gchar *str, + GError **error); +MMCallState mm_common_get_call_state_from_string (const gchar *str, + GError **error); +MMCallStateReason mm_common_get_call_state_reason_from_string (const gchar *str, + GError **error); +MMOmaFeature mm_common_get_oma_features_from_string (const gchar *str, + GError **error); +MMOmaSessionType mm_common_get_oma_session_type_from_string (const gchar *str, + GError **error); +MMModem3gppEpsUeModeOperation mm_common_get_eps_ue_mode_operation_from_string (const gchar *str, + GError **error); +MMModemAccessTechnology mm_common_get_access_technology_from_string (const gchar *str, + GError **error); +MMBearerMultiplexSupport mm_common_get_multiplex_support_from_string (const gchar *str, + GError **error); +MMBearerApnType mm_common_get_apn_type_from_string (const gchar *str, + GError **error); +MMModem3gppFacility mm_common_get_3gpp_facility_from_string (const gchar *str, + GError **error); +MMModem3gppPacketServiceState mm_common_get_3gpp_packet_service_state_from_string (const gchar *str, + GError **error); + +/******************************************************************************/ + +/* MMModemPortInfo array management */ + +GArray *mm_common_ports_variant_to_garray (GVariant *variant); +GVariant *mm_common_ports_array_to_variant (const MMModemPortInfo *ports, + guint n_ports); +GVariant *mm_common_ports_garray_to_variant (GArray *array); +gboolean mm_common_ports_garray_to_array (GArray *array, + MMModemPortInfo **ports, + guint *n_ports); + +/* MMSmsStorage array management */ + +GArray *mm_common_sms_storages_variant_to_garray (GVariant *variant); +GVariant *mm_common_sms_storages_array_to_variant (const MMSmsStorage *storages, + guint n_storages); +GVariant *mm_common_sms_storages_garray_to_variant (GArray *array); + +/* MMModemCapability array management */ + +GArray *mm_common_capability_combinations_variant_to_garray (GVariant *variant); +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_none (void); + +/* MMModemModeCombination array management */ + +GArray *mm_common_mode_combinations_variant_to_garray (GVariant *variant); +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); + +/* MMModemBand array management */ + +GArray *mm_common_bands_variant_to_garray (GVariant *variant); +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); +void mm_common_bands_garray_sort (GArray *array); +gboolean mm_common_bands_garray_lookup (GArray *array, + MMModemBand value); +gboolean mm_common_band_is_gsm (MMModemBand band); +gboolean mm_common_band_is_utran (MMModemBand band); +gboolean mm_common_band_is_eutran (MMModemBand band); +gboolean mm_common_band_is_cdma (MMModemBand band); + +/* MMOmaPendingNetworkInitiatedSession array management */ + +GArray *mm_common_oma_pending_network_initiated_sessions_variant_to_garray (GVariant *variant); +GVariant *mm_common_oma_pending_network_initiated_sessions_array_to_variant (const MMOmaPendingNetworkInitiatedSession *modes, + guint n_modes); +GVariant *mm_common_oma_pending_network_initiated_sessions_garray_to_variant (GArray *array); +GVariant *mm_common_build_oma_pending_network_initiated_sessions_default (void); + +/******************************************************************************/ /* Common parsers */ + +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); + 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); + 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); + guint *out); +gboolean mm_get_u64_from_str (const gchar *str, + guint64 *out); +gboolean mm_get_uint_from_hex_str (const gchar *str, + guint *out); +gboolean mm_get_u64_from_hex_str (const gchar *str, + guint64 *out); +gboolean mm_get_uint_from_match_info (GMatchInfo *match_info, + guint32 match_index, + guint *out); +gboolean mm_get_u64_from_match_info (GMatchInfo *match_info, + guint32 match_index, + guint64 *out); +gboolean mm_get_uint_from_hex_match_info (GMatchInfo *match_info, + guint32 match_index, + guint *out); +gboolean mm_get_u64_from_hex_match_info (GMatchInfo *match_info, + guint32 match_index, + guint64 *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); + 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); + +gchar *mm_new_iso8601_time_from_unix_time (guint64 timestamp); +gchar *mm_new_iso8601_time (guint year, + guint month, + guint day, + guint hour, + guint minute, + guint second, + gboolean have_offset, + gint offset_minutes); + +/******************************************************************************/ +/* Type checkers and conversion utilities */ gint mm_utils_hex2byte (const gchar *hex); -gchar *mm_utils_hexstr2bin (const gchar *hex, gsize *out_len); +guint8 *mm_utils_hexstr2bin (const gchar *hex, gssize len, gsize *out_len, GError **error); 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); +gboolean mm_is_string_mccmnc (const gchar *str); + +const gchar *mm_sms_delivery_state_get_string_extended (guint delivery_state); + +/******************************************************************************/ +/* DBus error handling */ +gboolean mm_common_register_errors (void); +GError *mm_common_error_from_tuple (GVariant *tuple, + GError **error); +GVariant *mm_common_error_to_tuple (const GError *error); + #endif /* MM_COMMON_HELPERS_H */ |