diff options
Diffstat (limited to 'src/mm-modem.h')
-rw-r--r-- | src/mm-modem.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/mm-modem.h b/src/mm-modem.h index 29f72b43..1a379411 100644 --- a/src/mm-modem.h +++ b/src/mm-modem.h @@ -21,6 +21,27 @@ #include "mm-port.h" +typedef enum { + MM_MODEM_STATE_UNKNOWN = 0, + MM_MODEM_STATE_DISABLED = 10, + MM_MODEM_STATE_DISABLING = 20, + MM_MODEM_STATE_ENABLING = 30, + MM_MODEM_STATE_ENABLED = 40, + MM_MODEM_STATE_SEARCHING = 50, + MM_MODEM_STATE_REGISTERED = 60, + MM_MODEM_STATE_DISCONNECTING = 70, + MM_MODEM_STATE_CONNECTING = 80, + MM_MODEM_STATE_CONNECTED = 90, + + MM_MODEM_STATE_LAST = MM_MODEM_STATE_CONNECTED +} MMModemState; + +typedef enum { + MM_MODEM_STATE_REASON_NONE = 0 +} MMModemStateReason; + +#define DBUS_PATH_TAG "dbus-path" + #define MM_TYPE_MODEM (mm_modem_get_type ()) #define MM_MODEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MM_TYPE_MODEM, MMModem)) #define MM_IS_MODEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MM_TYPE_MODEM)) @@ -33,6 +54,7 @@ #define MM_MODEM_IP_METHOD "ip-method" #define MM_MODEM_VALID "valid" /* not exported */ #define MM_MODEM_PLUGIN "plugin" /* not exported */ +#define MM_MODEM_STATE "state" /* not exported */ #define MM_MODEM_TYPE_UNKNOWN 0 #define MM_MODEM_TYPE_GSM 1 @@ -52,6 +74,7 @@ typedef enum { MM_MODEM_PROP_IP_METHOD, MM_MODEM_PROP_VALID, /* Not exported */ MM_MODEM_PROP_PLUGIN, /* Not exported */ + MM_MODEM_PROP_STATE, /* Not exported */ } MMModemProp; typedef struct _MMModem MMModem; @@ -126,6 +149,12 @@ struct _MMModem { void (*get_info) (MMModem *self, MMModemInfoFn callback, gpointer user_data); + + /* Signals */ + void (*state_changed) (MMModem *self, + MMModemState new_state, + MMModemState old_state, + MMModemStateReason reason); }; GType mm_modem_get_type (void); @@ -174,5 +203,11 @@ gboolean mm_modem_get_valid (MMModem *self); char *mm_modem_get_device (MMModem *self); +MMModemState mm_modem_get_state (MMModem *self); + +void mm_modem_set_state (MMModem *self, + MMModemState new_state, + MMModemStateReason reason); + #endif /* MM_MODEM_H */ |