Always online policy
[Policy modules]


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)
void icd_policy_init (struct icd_policy_api *policy_api, icd_policy_nw_add_fn add_network, icd_policy_request_merge_fn merge_requests, icd_policy_request_make_new_fn make_request, icd_policy_scan_start_fn not_used_1, icd_policy_scan_stop_fn not_used_2, icd_policy_nw_close_fn not_used_3, icd_policy_network_priority_fn priority)
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 Documentation

#define POLICY_ALWAYS_ONLINE_IAP_TIMEOUT   500

how long to wait befor counting IAPs after gconf has changed

#define POLICY_ALWAYS_ONLINE_MCE_FILTER   "member='" MCE_DEVICE_MODE_SIG "'"

extra filter for mce signals

#define POLICY_ALWAYS_ONLINE_MCE_TIMEOUT   5000

timeout for MCE method call


Function Documentation

void icd_policy_init ( struct icd_policy_api policy_api,
icd_policy_nw_add_fn  add_network,
icd_policy_request_merge_fn  merge_requests,
icd_policy_request_make_new_fn  make_request,
icd_policy_scan_start_fn  not_used_1,
icd_policy_scan_stop_fn  not_used_2,
icd_policy_nw_close_fn  not_used_3,
icd_policy_network_priority_fn  priority 
)

Policy module initialization function.

Parameters:
policy_api policy API structure to be filled in by the module
add_network function to add a network in response to a policy
merge_requests function to merge requests
make_request function for creating a new request

static void policy_always_online_cancel_pending ( struct always_online_data data  )  [static]

Cancel pending call to MCE

Parameters:
data always online policy data

static void policy_always_online_cancel_timer ( struct always_online_data data  )  [static]

Cancel always online timer

Parameters:
data always online policy data

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

Parameters:
user_data always_online_policy_data
Returns:
FALSE;

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

Parameters:
network the network to connect
existing_connections existing network connections
private private data

static void policy_always_online_connections_changed ( GConfClient *  client,
guint  cnxn_id,
GConfEntry *  entry,
gpointer  user_data 
) [static]

Notice a changed value in gconf

Parameters:
client GConf client
cnxn_id connection id
entry GConf entry
user_data always online policy data

static guint policy_always_online_count_iaps ( void   )  [static]

Count how many IAPs there are in GConf

Returns:
number of IAPs

static void policy_always_online_destruct ( gpointer *  private  )  [static]

Policy module destruction function. Will be called before unloading the module.

Parameters:
private a reference to the private data

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

Parameters:
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

static void policy_always_online_flightmode ( DBusMessage *  message,
struct always_online_data data 
) [static]

Parse flight mode message

Parameters:
message the D-Bus message
data always online policy data

static void policy_always_online_flightmode_cb ( DBusPendingCall *  pending,
void *  user_data 
) [static]

Flight mode status pending call callback

Parameters:
pending the pending call
user_data always online policy data

static gboolean policy_always_online_flightmode_init ( struct always_online_data data  )  [static]

Initialize flight mode information fetching from MCE

Parameters:
data always online policy data
Returns:
TRUE on success, FALSE on failure

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()

Parameters:
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
Returns:
DBUS_HANDLER_RESULT_NOT_YET_HANDLED as some other part of this program might also be interested in the signal

static gboolean policy_always_online_gconf_init ( struct always_online_data data  )  [static]

Initialize GConf notifications

Parameters:
data always online policy data
Returns:
TRUE on success, FALSE on failure

static void policy_always_online_make_request ( struct always_online_data data  )  [static]

Make a request for OSSO_IAP_ANY, no user prompting

Parameters:
data always online policy data

static gboolean policy_always_online_make_request_cb ( gpointer  user_data  )  [static]

Timeout callback for a new request

Parameters:
user_data always online policy data
Returns:
TRUE to run again

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

Parameters:
client GConf client
cnxn_id connection id
entry GConf entry
user_data always online policy data

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

Parameters:
data always online policy data
immediately whether to start immediately or after a timeout


Generated on Tue Feb 24 16:21:36 2009 for ICd2 by  doxygen 1.5.1