aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libmm-glib/mm-modem-cell-broadcast.c11
-rw-r--r--libmm-glib/mm-modem-cell-broadcast.h7
2 files changed, 18 insertions, 0 deletions
diff --git a/libmm-glib/mm-modem-cell-broadcast.c b/libmm-glib/mm-modem-cell-broadcast.c
index fe7fd829..5792a5c7 100644
--- a/libmm-glib/mm-modem-cell-broadcast.c
+++ b/libmm-glib/mm-modem-cell-broadcast.c
@@ -43,6 +43,8 @@ G_DEFINE_TYPE (MMModemCellBroadcast, mm_modem_cell_broadcast, MM_GDBUS_TYPE_MODE
struct _MMModemCellBroadcastPrivate {
/* Common mutex to sync access */
GMutex mutex;
+
+ PROPERTY_ARRAY_DECLARE (channels)
};
/*****************************************************************************/
@@ -91,6 +93,11 @@ mm_modem_cell_broadcast_dup_path (MMModemCellBroadcast *self)
RETURN_NON_EMPTY_STRING (value);
}
+PROPERTY_ARRAY_DEFINE (channels,
+ ModemCellBroadcast, modem_cell_broadcast, MODEM_CELL_BROADCAST,
+ MMCellBroadcastChannels,
+ mm_common_cell_broadcast_channels_variant_to_garray)
+
/*****************************************************************************/
typedef struct {
@@ -411,6 +418,8 @@ mm_modem_cell_broadcast_init (MMModemCellBroadcast *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, MM_TYPE_MODEM_CELL_BROADCAST, MMModemCellBroadcastPrivate);
g_mutex_init (&self->priv->mutex);
+
+ PROPERTY_INITIALIZE (channels, "channels")
}
static void
@@ -420,6 +429,8 @@ finalize (GObject *object)
g_mutex_clear (&self->priv->mutex);
+ PROPERTY_ARRAY_FINALIZE (channels)
+
G_OBJECT_CLASS (mm_modem_cell_broadcast_parent_class)->finalize (object);
}
diff --git a/libmm-glib/mm-modem-cell-broadcast.h b/libmm-glib/mm-modem-cell-broadcast.h
index a1049caf..b080ee5a 100644
--- a/libmm-glib/mm-modem-cell-broadcast.h
+++ b/libmm-glib/mm-modem-cell-broadcast.h
@@ -68,6 +68,13 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC (MMModemCellBroadcast, g_object_unref)
const gchar *mm_modem_cell_broadcast_get_path (MMModemCellBroadcast *self);
gchar *mm_modem_cell_broadcast_dup_path (MMModemCellBroadcast *self);
+gboolean mm_modem_cell_broadcast_get_channels (MMModemCellBroadcast *self,
+ MMCellBroadcastChannels **channels,
+ guint *n_storages);
+gboolean mm_modem_cell_broadcast_peek_channels (MMModemCellBroadcast *self,
+ const MMCellBroadcastChannels **channels,
+ guint *n_storages);
+
void mm_modem_cell_broadcast_list (MMModemCellBroadcast *self,
GCancellable *cancellable,
GAsyncReadyCallback callback,