#include "addr_compl.h"
#include "main.h"
+#include "passwordstore.h"
#include "prefs_common.h"
#include "mainwindow.h"
#include "common/log.h"
static void query()
{
+ gchar *token;
+
if(cm_gdata_contacts_query_running)
{
debug_print("GData plugin: Network query already in progress");
{
#if GDATA_CHECK_VERSION(0,17,2)
/* Try to restore from saved refresh token.*/
- if(cm_gdata_config.oauth2_refresh_token)
+ if((token = passwd_store_get(PWS_PLUGIN,
+ "GData", GDATA_TOKEN_PWD_STRING)) != NULL)
{
log_message(LOG_PROTOCOL, _("GData plugin: Trying to refresh authorization\n"));
- gdata_oauth2_authorizer_set_refresh_token(authorizer, cm_gdata_config.oauth2_refresh_token);
+ gdata_oauth2_authorizer_set_refresh_token(authorizer, token);
+ memset(token, 0, strlen(token));
+ g_free(token);
gdata_authorizer_refresh_authorization_async(GDATA_AUTHORIZER(authorizer), NULL, (GAsyncReadyCallback)cm_gdata_refresh_ready, NULL);
}
else
void cm_gdata_contacts_done(void)
{
+ gchar *pass;
+
g_free(contacts_group_id);
contacts_group_id = NULL;
{
#if GDATA_CHECK_VERSION(0,17,2)
/* store refresh token */
- cm_gdata_config.oauth2_refresh_token = gdata_oauth2_authorizer_dup_refresh_token(authorizer);
+ pass = gdata_oauth2_authorizer_dup_refresh_token(authorizer);
+ if (pass != NULL) {
+ passwd_store_set(PWS_PLUGIN, "GData", GDATA_TOKEN_PWD_STRING, pass,
+ FALSE);
+ memset(pass, 0, strlen(pass));
+ g_free(pass);
+ }
#endif
g_object_unref(G_OBJECT(authorizer));