aboutsummaryrefslogtreecommitdiff
path: root/plugins/fibocom/mm-shared-fibocom.h
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2022-03-08 15:59:15 +0100
committerAleksander Morgado <aleksander@aleksander.es>2022-03-09 22:05:32 +0000
commitc74a377f9881f7fcdf2c8cab0b5a5378692cf6d2 (patch)
treec8fe744a2de0f65feb78e7ff2f7afb2dcaf98ff3 /plugins/fibocom/mm-shared-fibocom.h
parent5fc6b9ee1b0c7b631328d71cf991bde9b70df2a2 (diff)
fibocom: new shared interface for common logic
The set_initial_eps_bearer_settings() operation is the same in XMM capable and generic MBIM modem objects. Place it in a common shared interface so that we don't duplicate code.
Diffstat (limited to 'plugins/fibocom/mm-shared-fibocom.h')
-rw-r--r--plugins/fibocom/mm-shared-fibocom.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/plugins/fibocom/mm-shared-fibocom.h b/plugins/fibocom/mm-shared-fibocom.h
new file mode 100644
index 00000000..cc4348d2
--- /dev/null
+++ b/plugins/fibocom/mm-shared-fibocom.h
@@ -0,0 +1,53 @@
+/* -*- 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) 2022 Fibocom Wireless Inc.
+ */
+
+#ifndef MM_SHARED_FIBOCOM_H
+#define MM_SHARED_FIBOCOM_H
+
+#include <glib-object.h>
+#include <gio/gio.h>
+
+#define _LIBMM_INSIDE_MM
+#include <libmm-glib.h>
+
+#include "mm-broadband-modem.h"
+#include "mm-iface-modem-3gpp.h"
+#include "mm-iface-modem.h"
+
+#define MM_TYPE_SHARED_FIBOCOM (mm_shared_fibocom_get_type ())
+#define MM_SHARED_FIBOCOM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_SHARED_FIBOCOM, MMSharedFibocom))
+#define MM_IS_SHARED_FIBOCOM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_SHARED_FIBOCOM))
+#define MM_SHARED_FIBOCOM_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), MM_TYPE_SHARED_FIBOCOM, MMSharedFibocom))
+
+typedef struct _MMSharedFibocom MMSharedFibocom;
+
+struct _MMSharedFibocom {
+ GTypeInterface g_iface;
+
+ /* Peek 3GPP interface of the parent class of the object */
+ MMIfaceModem3gpp * (* peek_parent_3gpp_interface) (MMSharedFibocom *self);
+};
+
+GType mm_shared_fibocom_get_type (void);
+
+void mm_shared_fibocom_set_initial_eps_bearer_settings (MMIfaceModem3gpp *self,
+ MMBearerProperties *config,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_shared_fibocom_set_initial_eps_bearer_settings_finish (MMIfaceModem3gpp *self,
+ GAsyncResult *res,
+ GError **error);
+
+#endif /* MM_SHARED_FIBOCOM_H */