diff --git a/docs/man/mmcli.1 b/docs/man/mmcli.1
index 1d4df0f7..adb0f1b5 100644
--- a/docs/man/mmcli.1
+++ b/docs/man/mmcli.1
@@ -59,6 +59,10 @@ Show location or positioning specific options.
Show messaging specific options. See also \fB\-\-help\-sms\fR which
is related.
.TP
+.B \-\-help\-cell-broadcast
+Show cell broadcast specific options.
+is related.
+.TP
.B \-\-help\-time
Show time specific options.
.TP
diff --git a/docs/reference/api/ModemManager-dbus-reference.xml b/docs/reference/api/ModemManager-dbus-reference.xml
index 6d9ef43f..d6237242 100644
--- a/docs/reference/api/ModemManager-dbus-reference.xml
+++ b/docs/reference/api/ModemManager-dbus-reference.xml
@@ -31,6 +31,7 @@
All objects ( Manager,
Modems,
Bearers,
+ CBMs,
SIMs,
SMSs) exported at the
org.freedesktop.ModemManager1
@@ -48,6 +49,7 @@
All objects ( Manager,
Modems,
Bearers,
+ CBMs,
SIMs,
SMSs) exported at the
org.freedesktop.ModemManager1
@@ -137,6 +139,7 @@
+
@@ -186,4 +189,14 @@
+
+ The /org/freedesktop/ModemManager/CBM objects
+
+ Modems implementing the
+ Cell Broadcast interface
+ will export one CBM object for each Cell Broadcast message received by the device.
+
+
+
+
diff --git a/docs/reference/libmm-glib/libmm-glib-docs.xml b/docs/reference/libmm-glib/libmm-glib-docs.xml
index 03ad162c..36f6727d 100644
--- a/docs/reference/libmm-glib/libmm-glib-docs.xml
+++ b/docs/reference/libmm-glib/libmm-glib-docs.xml
@@ -161,6 +161,10 @@
SAR support
+
+ Cell Broadcast support
+
+
@@ -190,6 +194,11 @@
+
+ The CBM object
+
+
+
@@ -223,6 +232,10 @@
+
+
+
+
@@ -278,6 +291,10 @@
+
+
+
+
diff --git a/docs/reference/libmm-glib/libmm-glib-sections.txt b/docs/reference/libmm-glib/libmm-glib-sections.txt
index 6378645a..877b3ef6 100644
--- a/docs/reference/libmm-glib/libmm-glib-sections.txt
+++ b/docs/reference/libmm-glib/libmm-glib-sections.txt
@@ -91,6 +91,8 @@ mm_object_peek_modem_3gpp_ussd
mm_object_get_modem_3gpp_ussd
mm_object_peek_modem_cdma
mm_object_get_modem_cdma
+mm_object_peek_modem_cell_broadcast
+mm_object_get_modem_cell_broadcast
mm_object_peek_modem_location
mm_object_get_modem_location
mm_object_peek_modem_messaging
@@ -922,6 +924,32 @@ MM_TYPE_MODEM_MESSAGING
mm_modem_messaging_get_type
+
+mm-modem-cell-broadcast
+MMModemCellBroadcast
+MMModemCellBroadcast
+
+mm_modem_cell_broadcast_get_path
+mm_modem_cell_broadcast_dup_path
+
+mm_modem_cell_broadcast_delete
+mm_modem_cell_broadcast_delete_finish
+mm_modem_cell_broadcast_delete_sync
+mm_modem_cell_broadcast_list
+mm_modem_cell_broadcast_list_finish
+mm_modem_cell_broadcast_list_sync
+
+MMModemCellBroadcastClass
+MMModemCellBroadcastPrivate
+MM_GDBUS_IS_MODEM_CELL_BROADCAST
+MM_IS_MODEM_CELL_BROADCAST_CLASS
+MM_MODEM_CELL_BROADCAST
+MM_MODEM_CELL_BROADCAST_CLASS
+MM_MODEM_CELL_BROADCAST_GET_CLASS
+MM_TYPE_MODEM_CELL_BROADCAST
+mm_modem_cell_broadcast_get_type
+
+
mm-modem-time
MMModemTime
@@ -1842,6 +1870,30 @@ MM_TYPE_CALL_PROPERTIES
mm_call_properties_get_type
+
+mm-cbm
+MMCbm
+MMCbm
+
+mm_cbm_get_channel
+mm_cbm_get_path
+mm_cbm_dup_path
+mm_cbm_get_state
+mm_cbm_get_text
+mm_cbm_dup_text
+mm_cbm_get_message_code
+mm_cbm_get_update
+
+MMCbmClass
+MM_IS_CBM
+MM_IS_CBM_CLASS
+MM_CBM
+MM_CBM_CLASS
+MM_CBM_GET_CLASS
+MM_TYPE_CBM
+mm_cbm_get_type
+
+
mm-pco
MMPco
@@ -2094,6 +2146,7 @@ mm_call_state_reason_get_string
mm_cell_type_get_string
mm_serving_cell_type_get_string
mm_network_error_get_string
+mm_cbm_state_get_string
MM_TYPE_BEARER_TYPE
MM_TYPE_BEARER_IP_FAMILY
@@ -2147,6 +2200,7 @@ MM_TYPE_OMA_SESSION_TYPE
MM_TYPE_CALL_DIRECTION
MM_TYPE_CALL_STATE
MM_TYPE_CALL_STATE_REASON
+MM_TYPE_CBM_STATE
MM_TYPE_MODEM_FIRMWARE_UPDATE_METHOD
MM_TYPE_CELL_TYPE
MM_TYPE_SERVING_CELL_TYPE
@@ -2207,6 +2261,7 @@ mm_modem_firmware_update_method_get_type
mm_cell_type_get_type
mm_serving_cell_type_get_type
mm_network_error_get_type
+mm_cbm_state_get_type
@@ -3205,6 +3260,77 @@ MmGdbusModemMessagingSkeletonPrivate
mm_gdbus_modem_messaging_skeleton_get_type
+
+MmGdbusModemCellBroadcast
+MmGdbusModemCellBroadcast
+MmGdbusModemCellBroadcast
+MmGdbusModemCellBroadcastIface
+
+mm_gdbus_modem_cell_broadcast_get_cell_broadcasts
+mm_gdbus_modem_cell_broadcast_dup_cell_broadcasts
+
+mm_gdbus_modem_cell_broadcast_call_delete
+mm_gdbus_modem_cell_broadcast_call_delete_finish
+mm_gdbus_modem_cell_broadcast_call_delete_sync
+mm_gdbus_modem_cell_broadcast_call_list
+mm_gdbus_modem_cell_broadcast_call_list_finish
+mm_gdbus_modem_cell_broadcast_call_list_sync
+
+mm_gdbus_modem_cell_broadcast_set_cell_broadcasts
+mm_gdbus_modem_cell_broadcast_complete_delete
+mm_gdbus_modem_cell_broadcast_complete_list
+mm_gdbus_modem_cell_broadcast_override_properties
+mm_gdbus_modem_cell_broadcast_interface_info
+mm_gdbus_modem_cell_broadcast_emit_added
+mm_gdbus_modem_cell_broadcast_emit_deleted
+
+MM_IS_MODEM_CELL_BROADCAST
+MM_GDBUS_MODEM_CELL_BROADCAST
+MM_GDBUS_MODEM_CELL_BROADCAST_GET_IFACE
+MM_GDBUS_TYPE_MODEM_CELL_BROADCAST
+mm_gdbus_modem_cell_broadcast_get_type
+
+
+
+MmGdbusModemCellBroadcastProxy
+MmGdbusModemCellBroadcastProxy
+MmGdbusModemCellBroadcastProxy
+
+mm_gdbus_modem_cell_broadcast_proxy_new
+mm_gdbus_modem_cell_broadcast_proxy_new_finish
+mm_gdbus_modem_cell_broadcast_proxy_new_for_bus
+mm_gdbus_modem_cell_broadcast_proxy_new_for_bus_finish
+mm_gdbus_modem_cell_broadcast_proxy_new_for_bus_sync
+mm_gdbus_modem_cell_broadcast_proxy_new_sync
+
+MmGdbusModemCellBroadcastProxyClass
+MM_GDBUS_IS_MODEM_CELL_BROADCAST_PROXY
+MM_GDBUS_IS_MODEM_CELL_BROADCAST_PROXY_CLASS
+MM_GDBUS_MODEM_CELL_BROADCAST_PROXY
+MM_GDBUS_MODEM_CELL_BROADCAST_PROXY_CLASS
+MM_GDBUS_MODEM_CELL_BROADCAST_PROXY_GET_CLASS
+MM_GDBUS_TYPE_MODEM_CELL_BROADCAST_PROXY
+MmGdbusModemCellBroadcastProxyPrivate
+mm_gdbus_modem_cell_broadcast_proxy_get_type
+
+
+
+MmGdbusModemCellBroadcastSkeleton
+MmGdbusModemCellBroadcastSkeleton
+MmGdbusModemCellBroadcastSkeleton
+
+mm_gdbus_modem_cell_broadcast_skeleton_new
+
+MmGdbusModemCellBroadcastSkeletonClass
+MM_GDBUS_IS_MODEM_CELL_BROADCAST_SKELETON
+MM_GDBUS_IS_MODEM_CELL_BROADCAST_SKELETON_CLASS
+MM_GDBUS_MODEM_CELL_BROADCAST_SKELETON
+MM_GDBUS_MODEM_CELL_BROADCAST_SKELETON_CLASS
+MM_GDBUS_MODEM_CELL_BROADCAST_SKELETON_GET_CLASS
+MM_GDBUS_TYPE_MODEM_CELL_BROADCAST_SKELETON
+MmGdbusModemCellBroadcastSkeletonPrivate
+mm_gdbus_modem_cell_broadcast_skeleton_get_type
+
MmGdbusModemTime
@@ -3779,6 +3905,8 @@ mm_gdbus_object_peek_modem3gpp_profile_manager
mm_gdbus_object_get_modem3gpp_profile_manager
mm_gdbus_object_peek_modem_cdma
mm_gdbus_object_get_modem_cdma
+mm_gdbus_object_get_modem_cell_broadcast
+mm_gdbus_object_peek_modem_cell_broadcast
mm_gdbus_object_peek_modem_location
mm_gdbus_object_get_modem_location
mm_gdbus_object_peek_modem_messaging
@@ -3837,6 +3965,7 @@ mm_gdbus_object_skeleton_set_modem3gpp
mm_gdbus_object_skeleton_set_modem3gpp_ussd
mm_gdbus_object_skeleton_set_modem3gpp_profile_manager
mm_gdbus_object_skeleton_set_modem_cdma
+mm_gdbus_object_skeleton_set_modem_cell_broadcast
mm_gdbus_object_skeleton_set_modem_firmware
mm_gdbus_object_skeleton_set_modem_oma
mm_gdbus_object_skeleton_set_modem_location
@@ -4208,3 +4337,72 @@ MM_GDBUS_TYPE_CALL_SKELETON
MmGdbusCallSkeletonPrivate
mm_gdbus_call_skeleton_get_type
+
+
+MmGdbusCbm
+MmGdbusCbm
+MmGdbusCbm
+MmGdbusCbmIface
+
+mm_gdbus_cbm_dup_text
+mm_gdbus_cbm_get_channel
+mm_gdbus_cbm_get_message_code
+mm_gdbus_cbm_get_state
+mm_gdbus_cbm_get_text
+mm_gdbus_cbm_get_update
+
+mm_gdbus_cbm_set_channel
+mm_gdbus_cbm_set_message_code
+mm_gdbus_cbm_set_state
+mm_gdbus_cbm_set_text
+mm_gdbus_cbm_set_update
+mm_gdbus_cbm_interface_info
+mm_gdbus_cbm_override_properties
+p
+MM_GDBUS_IS_CBM
+MM_GDBUS_CBM
+MM_GDBUS_CBM_GET_IFACE
+MM_GDBUS_TYPE_CBM
+mm_gdbus_cbm_get_type
+
+
+
+MmGdbusCbmProxy
+MmGdbusCbmProxy
+MmGdbusCallProxy
+
+mm_gdbus_cbm_proxy_new
+mm_gdbus_cbm_proxy_new_finish
+mm_gdbus_cbm_proxy_new_for_bus
+mm_gdbus_cbm_proxy_new_for_bus_finish
+mm_gdbus_cbm_proxy_new_for_bus_sync
+mm_gdbus_cbm_proxy_new_sync
+
+MmGdbusCbmProxyClass
+MM_GDBUS_IS_CBM_PROXY
+MM_GDBUS_IS_CBM_PROXY_CLASS
+MM_GDBUS_CBM_PROXY
+MM_GDBUS_CBM_PROXY_CLASS
+MM_GDBUS_CBM_PROXY_GET_CLASS
+MM_GDBUS_TYPE_CBM_PROXY
+MmGdbusCbmProxyPrivate
+mm_gdbus_cbm_proxy_get_type
+
+
+
+MmGdbusCbmSkeleton
+MmGdbusCbmSkeleton
+MmGdbusCallSkeleton
+
+mm_gdbus_cbm_skeleton_new
+
+MmGdbusCbmSkeletonClass
+MM_GDBUS_IS_CBM_SKELETON
+MM_GDBUS_IS_CBM_SKELETON_CLASS
+MM_GDBUS_CBM_SKELETON
+MM_GDBUS_CBM_SKELETON_CLASS
+MM_GDBUS_CBM_SKELETON_GET_CLASS
+MM_GDBUS_TYPE_CBM_SKELETON
+MmGdbusCbmSkeletonPrivate
+mm_gdbus_cbm_skeleton_get_type
+