aboutsummaryrefslogtreecommitdiff
path: root/src/mm-generic-gsm.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mm-generic-gsm.h')
-rw-r--r--src/mm-generic-gsm.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mm-generic-gsm.h b/src/mm-generic-gsm.h
index ea60ffbf..de0b00b7 100644
--- a/src/mm-generic-gsm.h
+++ b/src/mm-generic-gsm.h
@@ -21,6 +21,7 @@
#include "mm-modem-gsm-network.h"
#include "mm-modem-base.h"
#include "mm-serial-port.h"
+#include "mm-callback-info.h"
#define MM_TYPE_GENERIC_GSM (mm_generic_gsm_get_type ())
#define MM_GENERIC_GSM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_GENERIC_GSM, MMGenericGsm))
@@ -52,6 +53,15 @@ typedef struct {
typedef struct {
MMModemBaseClass parent;
+
+ /* Called after opening the primary serial port and updating the modem's
+ * state to ENABLING, but before sending any commands to the device. Modems
+ * that need to perform custom initialization sequences or other setup should
+ * generally override this method instead of the MMModem interface's enable()
+ * method, unless the customization must happen *after* the generic init
+ * sequence has completed.
+ */
+ void (*do_enable) (MMGenericGsm *self, MMModemFn callback, gpointer user_data);
} MMGenericGsmClass;
GType mm_generic_gsm_get_type (void);
@@ -98,4 +108,22 @@ void mm_generic_gsm_update_enabled_state (MMGenericGsm *modem,
gboolean stay_connected,
MMModemStateReason reason);
+/* Called to complete the enable operation for custom enable() handling; if an
+ * error is passed in, it copies the error to the callback info. This function
+ * always schedules the callback info. It will also update the modem with the
+ * correct state for both failure and success of the enable operation.
+ */
+void mm_generic_gsm_enable_complete (MMGenericGsm *modem,
+ GError *error,
+ MMCallbackInfo *info);
+
+/* Called to complete the enable operation for custom connect() handling; if an
+ * error is passed in, it copies the error to the callback info. This function
+ * always schedules the callback info. It will also update the modem with the
+ * correct state for both failure and success of the connect operation.
+ */
+void mm_generic_gsm_connect_complete (MMGenericGsm *modem,
+ GError *error,
+ MMCallbackInfo *info);
+
#endif /* MM_GENERIC_GSM_H */