Tracking of D-Bus users for a request
[ICd internal functions]


Classes

struct  icd_tracking_info

Enumerations

enum  icd_tracking_info_api { ICD_TRACKING_INFO_ICD, ICD_TRACKING_INFO_ICD2 }

Functions

static gpointer icd_tracking_info_foreach (struct icd_request *request, gpointer user_data)
struct icd_tracking_infoicd_tracking_info_find (const gchar *sender)
void icd_tracking_info_free (struct icd_tracking_info *track)
struct icd_tracking_infoicd_tracking_info_new (enum icd_tracking_info_api interface, const gchar *sender, DBusMessage *message)
gboolean icd_tracking_info_update (struct icd_tracking_info *track, const gchar *sender, DBusMessage *message)

Enumeration Type Documentation

which D-Bus interface the tracking info is for

Enumerator:
ICD_TRACKING_INFO_ICD  old icd API
ICD_TRACKING_INFO_ICD2  new icd2 API


Function Documentation

struct icd_tracking_info * icd_tracking_info_find ( const gchar *  sender  )  [read]

Find tracking info based on the sender

Parameters:
sender the D-Bus sender
Returns:
tracking info or NULL if not found

References icd_request_foreach(), and icd_tracking_info_foreach().

Referenced by icd_name_owner_filter(), icd_osso_ic_bg_killed(), and icd_osso_ic_disconnect().

static gpointer icd_tracking_info_foreach ( struct icd_request request,
gpointer  user_data 
) [static]

Foreach function for finding a sender

Parameters:
request the request
user_data tracking info
Returns:
the request or NULL if not found

References sender, and icd_request::users.

Referenced by icd_tracking_info_find().

void icd_tracking_info_free ( struct icd_tracking_info track  ) 

Free a tracking info structure

Parameters:
track tracking info

References request, and sender.

Referenced by icd_request_tracking_info_delete_foreach(), and icd_request_tracking_info_free().

struct icd_tracking_info * icd_tracking_info_new ( enum icd_tracking_info_api  interface,
const gchar *  sender,
DBusMessage *  message 
) [read]

Create a new tracking info structure

Parameters:
interface the D-Bus interface this sender is on
sender the D-Bus sender
message optional D-Bus message to send (n)acks to on connect and disconnect API calls
Returns:
a newly allocated tracking info structure

References interface, request, and sender.

Referenced by icd_dbus_api_connect_req(), icd_dbus_api_select_req(), icd_osso_ic_connect(), icd_osso_ic_disconnect(), and icd_request_merge().

gboolean icd_tracking_info_update ( struct icd_tracking_info track,
const gchar *  sender,
DBusMessage *  message 
)

Update the D-Bus request message for an existing sender

Parameters:
track tracking info
sender the new sender or NULL to leave unchanged
message the new message to send replies to or NULL to leave unchanged
Returns:
FALSE if the tracking information still contains a non-acked message, TRUE on success

References ILOG_DEBUG, ILOG_ERR, request, and sender.

Referenced by icd_name_owner_filter(), icd_osso_ic_bg_killed(), and icd_osso_ic_disconnect().


Generated on Thu Mar 11 09:04:50 2010 for ICd2 by  doxygen 1.5.6