Classes | |
| struct | always_online_data |
Defines | |
| #define | POLICY_ALWAYS_ONLINE_MCE_TIMEOUT 5000 |
| #define | POLICY_ALWAYS_ONLINE_MCE_FILTER "member='" MCE_DEVICE_MODE_SIG "'" |
| #define | POLICY_ALWAYS_ONLINE_IAP_TIMEOUT 500 |
Functions | |
| static void | policy_always_online_run (struct always_online_data *data, gboolean immediately) |
| static void | policy_always_online_cancel_timer (struct always_online_data *data) |
| static void | policy_always_online_make_request (struct always_online_data *data) |
| static gboolean | policy_always_online_make_request_cb (gpointer user_data) |
| static void | policy_always_online_connected (struct icd_policy_request *network, GSList *existing_connections, gpointer *private) |
| static void | policy_always_online_disconnected (struct icd_policy_request *network, const gchar *err_str, GSList *existing_connections, gpointer *private) |
| static void | policy_always_online_flightmode (DBusMessage *message, struct always_online_data *data) |
| static DBusHandlerResult | policy_always_online_flightmode_sig (DBusConnection *connection, DBusMessage *message, void *user_data) |
| static void | policy_always_online_flightmode_cb (DBusPendingCall *pending, void *user_data) |
| static gboolean | policy_always_online_flightmode_init (struct always_online_data *data) |
| static void | policy_always_online_cancel_pending (struct always_online_data *data) |
| static void | policy_always_online_destruct (gpointer *private) |
| static guint | policy_always_online_count_iaps (void) |
| static gboolean | policy_always_online_check (gpointer user_data) |
| static void | policy_always_online_nw_params_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data) |
| static void | policy_always_online_connections_changed (GConfClient *client, guint cnxn_id, GConfEntry *entry, gpointer user_data) |
| static gboolean | policy_always_online_gconf_init (struct always_online_data *data) |
| #define POLICY_ALWAYS_ONLINE_IAP_TIMEOUT 500 |
how long to wait befor counting IAPs after gconf has changed
Referenced by policy_always_online_connections_changed(), and policy_always_online_nw_params_changed().
| #define POLICY_ALWAYS_ONLINE_MCE_FILTER "member='" MCE_DEVICE_MODE_SIG "'" |
extra filter for mce signals
Referenced by icd_policy_init(), and policy_always_online_destruct().
| #define POLICY_ALWAYS_ONLINE_MCE_TIMEOUT 5000 |
timeout for MCE method call
Referenced by policy_always_online_flightmode_init().
| static void policy_always_online_cancel_pending | ( | struct always_online_data * | data | ) | [static] |
Cancel pending call to MCE
| data | always online policy data |
References ILOG_INFO, and always_online_data::pending_flightmode.
Referenced by policy_always_online_destruct().
| static void policy_always_online_cancel_timer | ( | struct always_online_data * | data | ) | [static] |
Cancel always online timer
| data | always online policy data |
References ILOG_INFO, and always_online_data::timeout_id.
Referenced by policy_always_online_connected(), policy_always_online_destruct(), policy_always_online_flightmode(), and policy_always_online_run().
| static gboolean policy_always_online_check | ( | gpointer | user_data | ) | [static] |
Check the number of IAPs in gconf and whether always online gconf settings were changed. Connect automatically when needed
| user_data | always_online_policy_data |
References always_online_data::always_online_value_changed, always_online_data::count_iaps_id, always_online_data::iap_count, ILOG_DEBUG, ILOG_INFO, policy_always_online_count_iaps(), and policy_always_online_run().
Referenced by policy_always_online_connections_changed(), and policy_always_online_nw_params_changed().
| static void policy_always_online_connected | ( | struct icd_policy_request * | network, | |
| GSList * | existing_connections, | |||
| gpointer * | private | |||
| ) | [static] |
Informational policy called when a network has been successfully connected
| network | the network to connect | |
| existing_connections | existing network connections | |
| private | private data |
References always_online_data::always_change, always_online_data::connection_count, always_online_data::highest_network_priority, ILOG_DEBUG, icd_policy_request::network_attrs, icd_policy_request::network_id, icd_policy_request::network_type, policy_always_online_cancel_timer(), always_online_data::priority, icd_policy_request::service_id, and icd_policy_request::service_type.
Referenced by icd_policy_init().
| static void policy_always_online_connections_changed | ( | GConfClient * | client, | |
| guint | cnxn_id, | |||
| GConfEntry * | entry, | |||
| gpointer | user_data | |||
| ) | [static] |
Notice a changed value in gconf
| client | GConf client | |
| cnxn_id | connection id | |
| entry | GConf entry | |
| user_data | always online policy data |
References always_online_data::count_iaps_id, ILOG_DEBUG, policy_always_online_check(), and POLICY_ALWAYS_ONLINE_IAP_TIMEOUT.
Referenced by policy_always_online_gconf_init().
| static guint policy_always_online_count_iaps | ( | void | ) | [static] |
Count how many IAPs there are in GConf
Referenced by icd_policy_init(), and policy_always_online_check().
| static void policy_always_online_destruct | ( | gpointer * | private | ) | [static] |
Policy module destruction function. Will be called before unloading the module.
| private | a reference to the private data |
References always_online_data::count_iaps_id, always_online_data::flightmode_signals, icd_dbus_disconnect_system_bcast_signal(), ILOG_INFO, always_online_data::notify_connections, always_online_data::notify_nw_params, policy_always_online_cancel_pending(), policy_always_online_cancel_timer(), policy_always_online_flightmode_sig(), and POLICY_ALWAYS_ONLINE_MCE_FILTER.
Referenced by icd_policy_init().
| static void policy_always_online_disconnected | ( | struct icd_policy_request * | network, | |
| const gchar * | err_str, | |||
| GSList * | existing_connections, | |||
| gpointer * | private | |||
| ) | [static] |
Informational policy called when a network has been disconnected
| network | the network to connect | |
| err_str | NULL if the network was disconnected normally, any ICD_DBUS_ERROR_* from osso-ic-dbus.h on error | |
| existing_connections | existing network connections | |
| private | private data |
References always_online_data::connection_count, always_online_data::highest_network_priority, ILOG_DEBUG, and policy_always_online_run().
Referenced by icd_policy_init().
| static void policy_always_online_flightmode | ( | DBusMessage * | message, | |
| struct always_online_data * | data | |||
| ) | [static] |
Parse flight mode message
| message | the D-Bus message | |
| data | always online policy data |
References always_online_data::flight_mode, ILOG_DEBUG, ILOG_ERR, ILOG_INFO, policy_always_online_cancel_timer(), policy_always_online_make_request_cb(), and always_online_data::timeout_id.
Referenced by policy_always_online_flightmode_cb(), and policy_always_online_flightmode_sig().
| static void policy_always_online_flightmode_cb | ( | DBusPendingCall * | pending, | |
| void * | user_data | |||
| ) | [static] |
Flight mode status pending call callback
| pending | the pending call | |
| user_data | always online policy data |
References always_online_data::pending_flightmode, and policy_always_online_flightmode().
Referenced by policy_always_online_flightmode_init().
| static gboolean policy_always_online_flightmode_init | ( | struct always_online_data * | data | ) | [static] |
Initialize flight mode information fetching from MCE
| data | always online policy data |
References icd_dbus_send_system_mcall(), ILOG_CRIT, always_online_data::pending_flightmode, policy_always_online_flightmode_cb(), and POLICY_ALWAYS_ONLINE_MCE_TIMEOUT.
Referenced by icd_policy_init().
| static DBusHandlerResult policy_always_online_flightmode_sig | ( | DBusConnection * | connection, | |
| DBusMessage * | message, | |||
| void * | user_data | |||
| ) | [static] |
Flight mode signal handling function; used also by policy_always_online_flightmode_cb()
| connection | D-Bus connection or NULL if called from policy_always_online_flightmode_cb() | |
| message | D-Bus flight mode status message | |
| user_data | always online policy data |
References policy_always_online_flightmode().
Referenced by icd_policy_init(), and policy_always_online_destruct().
| static gboolean policy_always_online_gconf_init | ( | struct always_online_data * | data | ) | [static] |
Initialize GConf notifications
| data | always online policy data |
References ILOG_ERR, always_online_data::notify_connections, always_online_data::notify_nw_params, policy_always_online_connections_changed(), and policy_always_online_nw_params_changed().
Referenced by icd_policy_init().
| static void policy_always_online_make_request | ( | struct always_online_data * | data | ) | [static] |
Make a request for OSSO_IAP_ANY, no user prompting
| data | always online policy data |
References always_online_data::always_change, ICD_POLICY_ATTRIBUTE_ALWAYS_ONLINE, ICD_POLICY_ATTRIBUTE_ALWAYS_ONLINE_CHANGE, ICD_POLICY_ATTRIBUTE_NO_INTERACTION, ILOG_INFO, and always_online_data::make_request.
Referenced by policy_always_online_run().
| static gboolean policy_always_online_make_request_cb | ( | gpointer | user_data | ) | [static] |
Timeout callback for a new request
| user_data | always online policy data |
References ILOG_DEBUG, policy_always_online_run(), and always_online_data::timeout_id.
Referenced by policy_always_online_flightmode(), and policy_always_online_run().
| static void policy_always_online_nw_params_changed | ( | GConfClient * | client, | |
| guint | cnxn_id, | |||
| GConfEntry * | entry, | |||
| gpointer | user_data | |||
| ) | [static] |
Notice a changed value in gconf
| client | GConf client | |
| cnxn_id | connection id | |
| entry | GConf entry | |
| user_data | always online policy data |
References always_online_data::always_change, always_online_data::always_online_value_changed, always_online_data::auto_conn, always_online_data::count_iaps_id, ILOG_DEBUG, ILOG_INFO, policy_always_online_check(), POLICY_ALWAYS_ONLINE_IAP_TIMEOUT, and always_online_data::timeout.
Referenced by policy_always_online_gconf_init().
| static void policy_always_online_run | ( | struct always_online_data * | data, | |
| gboolean | immediately | |||
| ) | [static] |
Check if always online is set and run either immediately or set a timeout according to settings
| data | always online policy data | |
| immediately | whether to start immediately or after a timeout |
References always_online_data::always_change, always_online_data::always_online_value_changed, always_online_data::auto_conn, always_online_data::connection_count, always_online_data::highest_network_priority, always_online_data::iap_count, ILOG_DEBUG, ILOG_INFO, policy_always_online_cancel_timer(), policy_always_online_make_request(), policy_always_online_make_request_cb(), always_online_data::srv_check, always_online_data::timeout, and always_online_data::timeout_id.
Referenced by policy_always_online_check(), policy_always_online_disconnected(), and policy_always_online_make_request_cb().
1.5.6