aboutsummaryrefslogtreecommitdiff
path: root/src/mm-base-modem.h
diff options
context:
space:
mode:
authorDan Williams <dan@ioncontrol.co>2025-04-29 20:54:36 -0500
committerDan Williams <dan@ioncontrol.co>2025-05-08 20:08:06 -0500
commitef5cee3ab578c2fde8ca6cc636f10acfdb79f123 (patch)
tree02510944a5782a9c4047234b747fdc02dd8f31c8 /src/mm-base-modem.h
parent7262b46a82642b7232ef922b827d77626a93eec0 (diff)
auth-provider: move auth provider logic into each class
Rather than make all of them rely on MMBaseModem for it. This lets us disentangle dependencies for easier unit testing. For interfaces, rather than casting directly to MMBaseModem use intermediate interfaces (MMIfaceAuth and MMIfaceOpLock) that tests can fake out. Signed-off-by: Dan Williams <dan@ioncontrol.co>
Diffstat (limited to 'src/mm-base-modem.h')
-rw-r--r--src/mm-base-modem.h114
1 files changed, 31 insertions, 83 deletions
diff --git a/src/mm-base-modem.h b/src/mm-base-modem.h
index 0bcd974a..acdaec3c 100644
--- a/src/mm-base-modem.h
+++ b/src/mm-base-modem.h
@@ -36,6 +36,7 @@
#include "mm-port-serial-qcdm.h"
#include "mm-port-serial-gps.h"
#include "mm-iface-port-at.h"
+#include "mm-iface-op-lock.h"
#if defined WITH_QMI
#include "mm-port-qmi.h"
@@ -220,94 +221,41 @@ guint mm_base_modem_get_subsystem_device_id (MMBaseModem *self);
GCancellable *mm_base_modem_peek_cancellable (MMBaseModem *self);
/******************************************************************************/
-/* Polkit */
-
-void mm_base_modem_authorize (MMBaseModem *self,
- GDBusMethodInvocation *invocation,
- const gchar *authorization,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_modem_authorize_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
+/* State operations */
-/******************************************************************************/
-/* Operation lock support */
-
-typedef enum { /*< underscore_name=mm_base_modem_operation_priority >*/
- MM_BASE_MODEM_OPERATION_PRIORITY_UNKNOWN,
- /* Default operations are scheduled at the end of the list of pending
- * operations */
- MM_BASE_MODEM_OPERATION_PRIORITY_DEFAULT,
- /* An override operation will make all pending operations be cancelled, and
- * it will also disallow adding new operations. This type of operation would
- * be the last one expected in a modem object. */
- MM_BASE_MODEM_OPERATION_PRIORITY_OVERRIDE,
-} MMBaseModemOperationPriority;
-
-void mm_base_modem_operation_lock (MMBaseModem *self,
- MMBaseModemOperationPriority priority,
- const gchar *description,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gssize mm_base_modem_operation_lock_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
-void mm_base_modem_operation_unlock (MMBaseModem *self,
- gssize operation_id);
-
-void mm_base_modem_authorize_and_operation_lock (MMBaseModem *self,
- GDBusMethodInvocation *invocation,
- const gchar *authorization,
- MMBaseModemOperationPriority operation_priority,
- const gchar *operation_description,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gssize mm_base_modem_authorize_and_operation_lock_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
+void mm_base_modem_initialize (MMBaseModem *self,
+ MMOperationLock operation_lock,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_modem_initialize_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ GError **error);
-/******************************************************************************/
-/* State operations */
+void mm_base_modem_enable (MMBaseModem *self,
+ MMOperationLock operation_lock,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_modem_enable_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ GError **error);
-typedef enum {
- MM_BASE_MODEM_OPERATION_LOCK_REQUIRED,
- MM_BASE_MODEM_OPERATION_LOCK_ALREADY_ACQUIRED,
-} MMBaseModemOperationLock;
-
-void mm_base_modem_initialize (MMBaseModem *self,
- MMBaseModemOperationLock operation_lock,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_modem_initialize_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
-
-void mm_base_modem_enable (MMBaseModem *self,
- MMBaseModemOperationLock operation_lock,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_modem_enable_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
-
-void mm_base_modem_disable (MMBaseModem *self,
- MMBaseModemOperationLock operation_lock,
- MMBaseModemOperationPriority priority,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_modem_disable_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
+void mm_base_modem_disable (MMBaseModem *self,
+ MMOperationLock operation_lock,
+ MMOperationPriority priority,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_modem_disable_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ GError **error);
#if defined WITH_SUSPEND_RESUME
-void mm_base_modem_sync (MMBaseModem *self,
- MMBaseModemOperationLock operation_lock,
- GAsyncReadyCallback callback,
- gpointer user_data);
-gboolean mm_base_modem_sync_finish (MMBaseModem *self,
- GAsyncResult *res,
- GError **error);
+void mm_base_modem_sync (MMBaseModem *self,
+ MMOperationLock operation_lock,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean mm_base_modem_sync_finish (MMBaseModem *self,
+ GAsyncResult *res,
+ GError **error);
#endif
void mm_base_modem_teardown_ports (MMBaseModem *self,