| 23 /* Hold ephemeral information about buddies, for proto_data of PurpleBuddy. */ |
23 /* Hold ephemeral information about buddies, for proto_data of PurpleBuddy. */ |
| 24 /* GHashTable? */ |
24 /* GHashTable? */ |
| 25 typedef struct _MsimUser |
25 typedef struct _MsimUser |
| 26 { |
26 { |
| 27 PurpleBuddy *buddy; |
27 PurpleBuddy *buddy; |
| |
28 /* Note: id is also &buddy->node (set_blist_node_int), when buddy is non-NULL */ |
| |
29 int id; |
| 28 guint client_cv; |
30 guint client_cv; |
| 29 gchar *client_info; |
31 gchar *client_info; |
| 30 guint age; |
32 guint age; |
| 31 gchar *gender; |
33 gchar *gender; |
| 32 gchar *location; |
34 gchar *location; |
| 33 guint total_friends; |
35 guint total_friends; |
| 34 gchar *headline; |
36 gchar *headline; |
| 35 gchar *display_name; |
37 gchar *display_name; |
| 36 /* Note: uid is in &buddy->node (set_blist_node_int), since it never changes */ |
|
| 37 gchar *username; |
38 gchar *username; |
| 38 gchar *band_name, *song_name; |
39 gchar *band_name, *song_name; |
| 39 gchar *image_url; |
40 gchar *image_url; |
| 40 guint last_image_updated; |
41 guint last_image_updated; |
| 41 gboolean temporary_user; |
42 gboolean temporary_user; |
| 42 } MsimUser; |
43 } MsimUser; |
| 43 |
44 |
| 44 /* Callback function pointer type for when a user's information is received, |
45 /* Callback function pointer type for when a user's information is received, |
| 45 * initiated from a user lookup. */ |
46 * initiated from a user lookup. */ |
| 46 typedef void (*MSIM_USER_LOOKUP_CB)(MsimSession *session, MsimMessage *userinfo, gpointer data); |
47 typedef void (*MSIM_USER_LOOKUP_CB)(MsimSession *session, const MsimMessage *userinfo, gpointer data); |
| 47 |
48 |
| 48 MsimUser *msim_get_user_from_buddy(PurpleBuddy *buddy, gboolean create); |
49 MsimUser *msim_get_user_from_buddy(PurpleBuddy *buddy, gboolean create); |
| 49 MsimUser *msim_find_user(MsimSession *session, const gchar *username); |
50 MsimUser *msim_find_user(MsimSession *session, const gchar *username); |
| 50 void msim_append_user_info(MsimSession *session, PurpleNotifyUserInfo *user_info, MsimUser *user, gboolean full); |
51 void msim_append_user_info(MsimSession *session, PurpleNotifyUserInfo *user_info, MsimUser *user, gboolean full); |
| 51 gboolean msim_store_user_info(MsimSession *session, MsimMessage *msg, MsimUser *user); |
52 gboolean msim_store_user_info(MsimSession *session, const MsimMessage *msg, MsimUser *user); |
| 52 gboolean msim_is_userid(const gchar *user); |
53 gboolean msim_is_userid(const gchar *user); |
| 53 gboolean msim_is_email(const gchar *user); |
|
| 54 gboolean msim_is_valid_username(const gchar *user); |
|
| 55 void msim_lookup_user(MsimSession *session, const gchar *user, MSIM_USER_LOOKUP_CB cb, gpointer data); |
54 void msim_lookup_user(MsimSession *session, const gchar *user, MSIM_USER_LOOKUP_CB cb, gpointer data); |
| 56 void msim_set_username_cb(PurpleConnection *gc); |
55 void msim_set_username_cb(PurpleConnection *gc); |
| 57 void msim_do_not_set_username_cb(PurpleConnection *gc); |
56 void msim_do_not_set_username_cb(PurpleConnection *gc); |
| 58 |
57 |
| 59 #endif /* !_MYSPACE_USER_H */ |
58 #endif /* !_MYSPACE_USER_H */ |