diff options
author | Aleksander Morgado <aleksandermj@chromium.org> | 2022-12-05 22:34:14 +0000 |
---|---|---|
committer | Aleksander Morgado <aleksandermj@chromium.org> | 2022-12-05 22:34:14 +0000 |
commit | 099726d3c0dd592621c771193ec2b9459af50095 (patch) | |
tree | d5b383855e4166d698b8075cc8017c208713a7b2 | |
parent | d9771dab6031d0c2a974245f03862aa581b1c83b (diff) | |
download | libmbim-099726d3c0dd592621c771193ec2b9459af50095.tar.gz |
libmbim-glib,enums: MbimSmsStatusFlag is flags, not enum
A compat method for mbim_sms_status_flag_get_string() is given.
The enum itself is considered API/ABI compatible because the numeric
values of the items didn't change.
Fixes https://gitlab.freedesktop.org/mobile-broadband/libmbim/-/issues/36
-rw-r--r-- | docs/reference/libmbim-glib/libmbim-glib-common.sections | 5 | ||||
-rw-r--r-- | src/libmbim-glib/mbim-compat.c | 15 | ||||
-rw-r--r-- | src/libmbim-glib/mbim-compat.h | 16 | ||||
-rw-r--r-- | src/libmbim-glib/mbim-enums.h | 4 |
4 files changed, 36 insertions, 4 deletions
diff --git a/docs/reference/libmbim-glib/libmbim-glib-common.sections b/docs/reference/libmbim-glib/libmbim-glib-common.sections index 1425e2c..8de81d4 100644 --- a/docs/reference/libmbim-glib/libmbim-glib-common.sections +++ b/docs/reference/libmbim-glib/libmbim-glib-common.sections @@ -465,7 +465,7 @@ mbim_sms_flag_get_string mbim_sms_cdma_lang_get_string mbim_sms_cdma_encoding_get_string mbim_sms_status_get_string -mbim_sms_status_flag_get_string +mbim_sms_status_flag_build_string_from_mask mbim_ussd_action_get_string mbim_ussd_response_get_string mbim_ussd_session_state_get_string @@ -562,7 +562,6 @@ mbim_sms_cdma_lang_build_string_from_mask mbim_sms_flag_build_string_from_mask mbim_sms_format_build_string_from_mask mbim_sms_status_build_string_from_mask -mbim_sms_status_flag_build_string_from_mask mbim_sms_storage_state_build_string_from_mask mbim_ussd_action_build_string_from_mask mbim_ussd_response_build_string_from_mask @@ -911,6 +910,8 @@ mbim_message_ms_basic_connect_extensions_lte_attach_status_notification_parse MBIM_NW_ERROR_UNKNOWN <SUBSECTION> MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_NETWORK_BLACKLIST +<SUBSECTION> +mbim_sms_status_flag_get_string <SUBSECTION Private> MbimDeprecatedCidBasicConnect MbimDeprecatedRegistrationFlag diff --git a/src/libmbim-glib/mbim-compat.c b/src/libmbim-glib/mbim-compat.c index 9fef35c..dc1f321 100644 --- a/src/libmbim-glib/mbim-compat.c +++ b/src/libmbim-glib/mbim-compat.c @@ -109,4 +109,19 @@ mbim_message_ms_basic_connect_extensions_lte_attach_status_notification_parse ( return TRUE; } +/*****************************************************************************/ +/* MbimSmsStatusFlag is flags, not an enum */ + +const gchar * +mbim_sms_status_flag_get_string (MbimSmsStatusFlag val) +{ + const gchar *sms_status_flag_values[] = { + [MBIM_SMS_STATUS_FLAG_NONE] = "none", + [MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL] = "message-store-full", + [MBIM_SMS_STATUS_FLAG_NEW_MESSAGE] = "new-message", + }; + + return ((guint)val < G_N_ELEMENTS (sms_status_flag_values)) ? sms_status_flag_values[val] : NULL; +} + #endif /* MBIM_DISABLE_DEPRECATED */ diff --git a/src/libmbim-glib/mbim-compat.h b/src/libmbim-glib/mbim-compat.h index 4447cd2..c3587ad 100644 --- a/src/libmbim-glib/mbim-compat.h +++ b/src/libmbim-glib/mbim-compat.h @@ -288,6 +288,22 @@ typedef int MbimDeprecatedCidMsBasicConnectExtensions; */ #define MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_NETWORK_BLACKLIST (MbimDeprecatedCidMsBasicConnectExtensions) MBIM_CID_MS_BASIC_CONNECT_EXTENSIONS_NETWORK_DENYLIST +/*****************************************************************************/ +/* MbimSmsStatusFlag is flags, not an enum */ + +/** + * mbim_sms_status_flag_get_string: + * @val: a MbimSmsStatusFlag. + * + * Gets the nickname string for the #MbimSmsStatusFlag specified at @val. + * + * Returns: (transfer none): a string with the nickname, or %NULL if not found. Do not free the returned value. + * + * Since: 1.4 + * Deprecated: 1.30: Use mbim_sms_status_flag_build_string_from_mask() instead. + */ +const gchar *mbim_sms_status_flag_get_string (MbimSmsStatusFlag val); + #endif /* MBIM_DISABLE_DEPRECATED */ G_END_DECLS diff --git a/src/libmbim-glib/mbim-enums.h b/src/libmbim-glib/mbim-enums.h index 3b54825..b38e572 100644 --- a/src/libmbim-glib/mbim-enums.h +++ b/src/libmbim-glib/mbim-enums.h @@ -977,8 +977,8 @@ typedef enum { /*< since=1.4 >*/ */ typedef enum { /*< since=1.4 >*/ MBIM_SMS_STATUS_FLAG_NONE = 0, - MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL = 1, - MBIM_SMS_STATUS_FLAG_NEW_MESSAGE = 2 + MBIM_SMS_STATUS_FLAG_MESSAGE_STORE_FULL = 1 << 0, + MBIM_SMS_STATUS_FLAG_NEW_MESSAGE = 1 << 1, } MbimSmsStatusFlag; /*****************************************************************************/ |