| 146 PurpleAccount *account, |
146 PurpleAccount *account, |
| 147 GCancellable *cancellable, |
147 GCancellable *cancellable, |
| 148 GAsyncReadyCallback callback, |
148 GAsyncReadyCallback callback, |
| 149 gpointer data) |
149 gpointer data) |
| 150 { |
150 { |
| 151 PurpleContactInfo *info = PURPLE_CONTACT_INFO(account); |
|
| 152 GTask *task = NULL; |
151 GTask *task = NULL; |
| 153 |
152 |
| 154 task = g_task_new(provider, cancellable, callback, data); |
153 task = g_task_new(provider, cancellable, callback, data); |
| 155 g_task_set_source_tag(task, purple_libsecret_read_password_async); |
154 g_task_set_source_tag(task, purple_libsecret_read_password_async); |
| 156 |
155 |
| 157 secret_password_lookup(&purple_libsecret_schema, cancellable, |
156 secret_password_lookup(&purple_libsecret_schema, cancellable, |
| 158 purple_libsecret_read_password_callback, task, |
157 purple_libsecret_read_password_callback, task, |
| 159 "user", purple_contact_info_get_username(info), |
158 "user", purple_account_get_username(account), |
| 160 "protocol", purple_account_get_protocol_id(account), |
159 "protocol", purple_account_get_protocol_id(account), |
| 161 NULL); |
160 NULL); |
| 162 } |
161 } |
| 163 |
162 |
| 164 static gchar * |
163 static gchar * |
| 173 } |
172 } |
| 174 |
173 |
| 175 static void |
174 static void |
| 176 purple_libsecret_write_password_async(PurpleCredentialProvider *provider, |
175 purple_libsecret_write_password_async(PurpleCredentialProvider *provider, |
| 177 PurpleAccount *account, |
176 PurpleAccount *account, |
| 178 const gchar *password, |
177 const char *password, |
| 179 GCancellable *cancellable, |
178 GCancellable *cancellable, |
| 180 GAsyncReadyCallback callback, |
179 GAsyncReadyCallback callback, |
| 181 gpointer data) |
180 gpointer data) |
| 182 { |
181 { |
| 183 PurpleContactInfo *info = PURPLE_CONTACT_INFO(account); |
|
| 184 GTask *task = NULL; |
182 GTask *task = NULL; |
| 185 gchar *label = NULL; |
183 char *label = NULL; |
| 186 const gchar *username = NULL; |
184 const char *username = NULL; |
| 187 |
185 |
| 188 task = g_task_new(provider, cancellable, callback, data); |
186 task = g_task_new(provider, cancellable, callback, data); |
| 189 g_task_set_source_tag(task, purple_libsecret_write_password_async); |
187 g_task_set_source_tag(task, purple_libsecret_write_password_async); |
| 190 username = purple_contact_info_get_username(info); |
188 |
| |
189 username = purple_account_get_username(account); |
| 191 |
190 |
| 192 label = g_strdup_printf(_("libpurple password for account %s"), username); |
191 label = g_strdup_printf(_("libpurple password for account %s"), username); |
| 193 secret_password_store(&purple_libsecret_schema, |
192 secret_password_store(&purple_libsecret_schema, |
| 194 SECRET_COLLECTION_DEFAULT, label, password, |
193 SECRET_COLLECTION_DEFAULT, label, password, |
| 195 cancellable, |
194 cancellable, |
| 216 PurpleAccount *account, |
215 PurpleAccount *account, |
| 217 GCancellable *cancellable, |
216 GCancellable *cancellable, |
| 218 GAsyncReadyCallback callback, |
217 GAsyncReadyCallback callback, |
| 219 gpointer data) |
218 gpointer data) |
| 220 { |
219 { |
| 221 PurpleContactInfo *info = PURPLE_CONTACT_INFO(account); |
|
| 222 GTask *task = NULL; |
220 GTask *task = NULL; |
| 223 |
221 |
| 224 task = g_task_new(provider, cancellable, callback, data); |
222 task = g_task_new(provider, cancellable, callback, data); |
| 225 g_task_set_source_tag(task, purple_libsecret_clear_password_async); |
223 g_task_set_source_tag(task, purple_libsecret_clear_password_async); |
| 226 |
224 |
| 227 secret_password_clear(&purple_libsecret_schema, cancellable, |
225 secret_password_clear(&purple_libsecret_schema, cancellable, |
| 228 purple_libsecret_clear_password_callback, task, |
226 purple_libsecret_clear_password_callback, task, |
| 229 "user", purple_contact_info_get_username(info), |
227 "user", purple_account_get_username(account), |
| 230 "protocol", purple_account_get_protocol_id(account), |
228 "protocol", purple_account_get_protocol_id(account), |
| 231 NULL); |
229 NULL); |
| 232 } |
230 } |
| 233 |
231 |
| 234 static gboolean |
232 static gboolean |