summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Zeuthen <davidz@redhat.com>2011-05-17 14:39:26 -0400
committerDavid Zeuthen <davidz@redhat.com>2011-05-17 14:39:26 -0400
commite0c8a5249b6edd36ead695ce382e631bec6345d8 (patch)
tree78e1b0e1a1a1be312b68cd9cd297a32d0cfee259
parent9aa3d09cd354e50195a441896a1eda34827e93a3 (diff)
Move backend code into own dir and strip the word Backend from identifiers
Signed-off-by: David Zeuthen <davidz@redhat.com>
-rw-r--r--configure.ac1
-rw-r--r--doc/Makefile.am16
-rw-r--r--doc/goa-docs.xml22
-rw-r--r--doc/goa-sections.txt256
-rw-r--r--doc/goa.types23
-rw-r--r--src/Makefile.am2
-rw-r--r--src/daemon/Makefile.am2
-rw-r--r--src/daemon/goadaemon.c30
-rw-r--r--src/goa/Makefile.am71
-rw-r--r--src/goa/goabackendimapauth.h88
-rw-r--r--src/goa/goabackendimapauthoauth.h46
-rw-r--r--src/goa/goabackendimapclient.h65
-rw-r--r--src/goa/goabackendoauth2provider.h133
-rw-r--r--src/goa/goabackendoauthprovider.h137
-rw-r--r--src/goa/goabackendprovider.h164
-rw-r--r--src/goabackend/goabackend.h (renamed from src/goa/goabackend.h)26
-rw-r--r--src/goabackend/goabackendenums.h (renamed from src/goa/goabackendenums.h)2
-rw-r--r--src/goabackend/goabackendenumtypes.c.template (renamed from src/goa/goabackendenumtypes.c.template)0
-rw-r--r--src/goabackend/goabackendenumtypes.h.template (renamed from src/goa/goabackendenumtypes.h.template)0
-rw-r--r--src/goabackend/goabackendtypes.h (renamed from src/goa/goabackendtypes.h)48
-rw-r--r--src/goabackend/goafacebookprovider.c (renamed from src/goa/goabackendfacebookprovider.c)92
-rw-r--r--src/goabackend/goafacebookprovider.h (renamed from src/goa/goabackendyahooprovider.h)18
-rw-r--r--src/goabackend/goagoogleprovider.c (renamed from src/goa/goabackendgoogleprovider.c)115
-rw-r--r--src/goabackend/goagoogleprovider.h (renamed from src/goa/goabackendgoogleprovider.h)18
-rw-r--r--src/goabackend/goaimapauth.c (renamed from src/goa/goabackendimapauth.c)34
-rw-r--r--src/goabackend/goaimapauth.h88
-rw-r--r--src/goabackend/goaimapauthoauth.c (renamed from src/goa/goabackendimapauthoauth.c)140
-rw-r--r--src/goabackend/goaimapauthoauth.h (renamed from src/goa/goabackendimapmail.h)25
-rw-r--r--src/goabackend/goaimapclient.c (renamed from src/goa/goabackendimapclient.c)140
-rw-r--r--src/goabackend/goaimapclient.h63
-rw-r--r--src/goabackend/goaimapmail.c (renamed from src/goa/goabackendimapmail.c)142
-rw-r--r--src/goabackend/goaimapmail.h (renamed from src/goa/goabackendtwitterprovider.h)21
-rw-r--r--src/goabackend/goaoauth2provider.c (renamed from src/goa/goabackendoauth2provider.c)392
-rw-r--r--src/goabackend/goaoauth2provider.h130
-rw-r--r--src/goabackend/goaoauthprovider.c (renamed from src/goa/goabackendoauthprovider.c)372
-rw-r--r--src/goabackend/goaoauthprovider.h134
-rw-r--r--src/goabackend/goaprovider.c (renamed from src/goa/goabackendprovider.c)262
-rw-r--r--src/goabackend/goaprovider.h159
-rw-r--r--src/goabackend/goatwitterprovider.c (renamed from src/goa/goabackendtwitterprovider.c)96
-rw-r--r--src/goabackend/goatwitterprovider.h (renamed from src/goa/goabackendfacebookprovider.h)18
-rw-r--r--src/goabackend/goayahooprovider.c (renamed from src/goa/goabackendyahooprovider.c)106
-rw-r--r--src/goabackend/goayahooprovider.h42
-rw-r--r--src/panel/Makefile.am2
-rw-r--r--src/panel/goapanel.c44
44 files changed, 1851 insertions, 1934 deletions
diff --git a/configure.ac b/configure.ac
index e79ae2c..48f14dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,6 +82,7 @@ Makefile
data/Makefile
src/Makefile
src/goa/Makefile
+src/goabackend/Makefile
src/daemon/Makefile
src/panel/Makefile
src/examples/Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 693d5ac..c867b7e 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -13,10 +13,10 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml
SCAN_OPTIONS=
# The directory containing the source code. Relative to $(srcdir)
-DOC_SOURCE_DIR=$(top_srcdir)/src/goa
+DOC_SOURCE_DIR=$(top_srcdir)/src
-HFILE_GLOB=$(top_srcdir)/src/goa/*.h
-CFILE_GLOB=$(top_srcdir)/src/goa/*.c
+HFILE_GLOB=$(top_srcdir)/src/goa/*.h $(top_srcdir)/src/goabackend/*.h
+CFILE_GLOB=$(top_srcdir)/src/goa/*.c $(top_srcdir)/src/goabackend/*.c
# Headers to ignore
IGNORE_HFILES= \
@@ -33,11 +33,11 @@ INCLUDES = \
$(GIO_CFLAGS) \
$(NULL)
-GTKDOC_LIBS = \
- $(GLIB_LIBS) \
- $(GIO_LIBS) \
- $(top_builddir)/src/goa/libgoa.la \
- $(top_builddir)/src/goa/libgoa-backend.la \
+GTKDOC_LIBS = \
+ $(GLIB_LIBS) \
+ $(GIO_LIBS) \
+ $(top_builddir)/src/goa/libgoa.la \
+ $(top_builddir)/src/goabackend/libgoa-backend.la \
$(NULL)
# Extra options to supply to gtkdoc-mkdb
diff --git a/doc/goa-docs.xml b/doc/goa-docs.xml
index 05910b8..05eee4b 100644
--- a/doc/goa-docs.xml
+++ b/doc/goa-docs.xml
@@ -131,17 +131,17 @@
<part id="ref-backend-library">
<title>Backend Library API Reference</title>
- <xi:include href="xml/goabackendprovider.xml"/>
- <xi:include href="xml/goabackendoauthprovider.xml"/>
- <xi:include href="xml/goabackendoauth2provider.xml"/>
- <xi:include href="xml/goabackendgoogleprovider.xml"/>
- <xi:include href="xml/goabackendfacebookprovider.xml"/>
- <xi:include href="xml/goabackendyahooprovider.xml"/>
- <xi:include href="xml/goabackendtwitterprovider.xml"/>
- <xi:include href="xml/goabackendimapauth.xml"/>
- <xi:include href="xml/goabackendimapauthoauth.xml"/>
- <xi:include href="xml/goabackendimapclient.xml"/>
- <xi:include href="xml/goabackendimapmail.xml"/>
+ <xi:include href="xml/goaprovider.xml"/>
+ <xi:include href="xml/goaoauthprovider.xml"/>
+ <xi:include href="xml/goaoauth2provider.xml"/>
+ <xi:include href="xml/goagoogleprovider.xml"/>
+ <xi:include href="xml/goafacebookprovider.xml"/>
+ <xi:include href="xml/goayahooprovider.xml"/>
+ <xi:include href="xml/goatwitterprovider.xml"/>
+ <xi:include href="xml/goaimapauth.xml"/>
+ <xi:include href="xml/goaimapauthoauth.xml"/>
+ <xi:include href="xml/goaimapclient.xml"/>
+ <xi:include href="xml/goaimapmail.xml"/>
</part>
<part id="tools-fileformats">
diff --git a/doc/goa-sections.txt b/doc/goa-sections.txt
index f99c7ab..a3f4b83 100644
--- a/doc/goa-sections.txt
+++ b/doc/goa-sections.txt
@@ -484,122 +484,122 @@ goa_error_get_type
</SECTION>
<SECTION>
-<FILE>goabackendprovider</FILE>
-GoaBackendProvider
-GoaBackendProviderClass
-goa_backend_provider_get_provider_type
-goa_backend_provider_get_name
-goa_backend_provider_build_object
-goa_backend_provider_add_account
-goa_backend_provider_refresh_account
-goa_backend_provider_store_credentials_sync
-goa_backend_provider_lookup_credentials_sync
-goa_backend_provider_ensure_credentials
-goa_backend_provider_ensure_credentials_finish
-goa_backend_provider_ensure_credentials_sync
-GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME
-goa_backend_provider_get_all
-goa_backend_provider_get_for_provider_type
+<FILE>goaprovider</FILE>
+GoaProvider
+GoaProviderClass
+goa_provider_get_provider_type
+goa_provider_get_name
+goa_provider_build_object
+goa_provider_add_account
+goa_provider_refresh_account
+goa_provider_store_credentials_sync
+goa_provider_lookup_credentials_sync
+goa_provider_ensure_credentials
+goa_provider_ensure_credentials_finish
+goa_provider_ensure_credentials_sync
+GOA_PROVIDER_EXTENSION_POINT_NAME
+goa_provider_get_all
+goa_provider_get_for_provider_type
<SUBSECTION Standard>
-GOA_BACKEND_PROVIDER
-GOA_BACKEND_PROVIDER_CLASS
-GOA_BACKEND_PROVIDER_GET_CLASS
-GOA_IS_BACKEND_PROVIDER
-GOA_IS_BACKEND_PROVIDER_CLASS
-GOA_TYPE_BACKEND_PROVIDER
-GoaBackendProviderPrivate
-goa_backend_provider_get_type
+GOA_PROVIDER
+GOA_PROVIDER_CLASS
+GOA_PROVIDER_GET_CLASS
+GOA_IS_PROVIDER
+GOA_IS_PROVIDER_CLASS
+GOA_TYPE_PROVIDER
+GoaProviderPrivate
+goa_provider_get_type
</SECTION>
<SECTION>
-<FILE>goabackendoauth2provider</FILE>
-GoaBackendOAuth2Provider
-GoaBackendOAuth2ProviderClass
-goa_backend_oauth2_provider_get_authorization_uri
-goa_backend_oauth2_provider_get_token_uri
-goa_backend_oauth2_provider_get_redirect_uri
-goa_backend_oauth2_provider_get_scope
-goa_backend_oauth2_provider_get_client_id
-goa_backend_oauth2_provider_get_client_secret
-goa_backend_oauth2_provider_build_authorization_uri
-goa_backend_oauth2_provider_get_use_external_browser
-goa_backend_oauth2_provider_get_identity_sync
-goa_backend_oauth2_provider_get_access_token_sync
+<FILE>goaoauth2provider</FILE>
+GoaOAuth2Provider
+GoaOAuth2ProviderClass
+goa_oauth2_provider_get_authorization_uri
+goa_oauth2_provider_get_token_uri
+goa_oauth2_provider_get_redirect_uri
+goa_oauth2_provider_get_scope
+goa_oauth2_provider_get_client_id
+goa_oauth2_provider_get_client_secret
+goa_oauth2_provider_build_authorization_uri
+goa_oauth2_provider_get_use_external_browser
+goa_oauth2_provider_get_identity_sync
+goa_oauth2_provider_get_access_token_sync
<SUBSECTION Standard>
-GOA_BACKEND_OAUTH2_PROVIDER
-GOA_BACKEND_OAUTH2_PROVIDER_CLASS
-GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS
-GOA_IS_BACKEND_OAUTH2_PROVIDER
-GOA_IS_BACKEND_OAUTH2_PROVIDER_CLASS
-GOA_TYPE_BACKEND_OAUTH2_PROVIDER
-GoaBackendOAuth2ProviderPrivate
-goa_backend_oauth2_provider_get_type
+GOA_OAUTH2_PROVIDER
+GOA_OAUTH2_PROVIDER_CLASS
+GOA_OAUTH2_PROVIDER_GET_CLASS
+GOA_IS_OAUTH2_PROVIDER
+GOA_IS_OAUTH2_PROVIDER_CLASS
+GOA_TYPE_OAUTH2_PROVIDER
+GoaOAuth2ProviderPrivate
+goa_oauth2_provider_get_type
</SECTION>
<SECTION>
-<FILE>goabackendoauthprovider</FILE>
-GoaBackendOAuthProvider
-GoaBackendOAuthProviderClass
-goa_backend_oauth_provider_get_request_uri
-goa_backend_oauth_provider_get_request_uri_params
-goa_backend_oauth_provider_get_authorization_uri
-goa_backend_oauth_provider_get_token_uri
-goa_backend_oauth_provider_get_callback_uri
-goa_backend_oauth_provider_get_consumer_key
-goa_backend_oauth_provider_get_consumer_secret
-goa_backend_oauth_provider_build_authorization_uri
-goa_backend_oauth_provider_get_use_external_browser
-goa_backend_oauth_provider_get_identity_sync
-goa_backend_oauth_provider_get_access_token_sync
+<FILE>goaoauthprovider</FILE>
+GoaOAuthProvider
+GoaOAuthProviderClass
+goa_oauth_provider_get_request_uri
+goa_oauth_provider_get_request_uri_params
+goa_oauth_provider_get_authorization_uri
+goa_oauth_provider_get_token_uri
+goa_oauth_provider_get_callback_uri
+goa_oauth_provider_get_consumer_key
+goa_oauth_provider_get_consumer_secret
+goa_oauth_provider_build_authorization_uri
+goa_oauth_provider_get_use_external_browser
+goa_oauth_provider_get_identity_sync
+goa_oauth_provider_get_access_token_sync
<SUBSECTION Standard>
-GOA_BACKEND_OAUTH_PROVIDER
-GOA_BACKEND_OAUTH_PROVIDER_CLASS
-GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS
-GOA_IS_BACKEND_OAUTH_PROVIDER
-GOA_IS_BACKEND_OAUTH_PROVIDER_CLASS
-GOA_TYPE_BACKEND_OAUTH_PROVIDER
-GoaBackendOAuthProviderPrivate
-goa_backend_oauth_provider_get_type
+GOA_OAUTH_PROVIDER
+GOA_OAUTH_PROVIDER_CLASS
+GOA_OAUTH_PROVIDER_GET_CLASS
+GOA_IS_OAUTH_PROVIDER
+GOA_IS_OAUTH_PROVIDER_CLASS
+GOA_TYPE_OAUTH_PROVIDER
+GoaOAuthProviderPrivate
+goa_oauth_provider_get_type
</SECTION>
<SECTION>
-<FILE>goabackendgoogleprovider</FILE>
-GoaBackendGoogleProvider
+<FILE>goagoogleprovider</FILE>
+GoaGoogleProvider
<SUBSECTION Standard>
-GOA_BACKEND_GOOGLE_PROVIDER
-GOA_IS_BACKEND_GOOGLE_PROVIDER
-GOA_TYPE_BACKEND_GOOGLE_PROVIDER
-goa_backend_google_provider_get_type
+GOA_GOOGLE_PROVIDER
+GOA_IS_GOOGLE_PROVIDER
+GOA_TYPE_GOOGLE_PROVIDER
+goa_google_provider_get_type
</SECTION>
<SECTION>
-<FILE>goabackendfacebookprovider</FILE>
-GoaBackendFacebookProvider
+<FILE>goafacebookprovider</FILE>
+GoaFacebookProvider
<SUBSECTION Standard>
-GOA_BACKEND_FACEBOOK_PROVIDER
-GOA_IS_BACKEND_FACEBOOK_PROVIDER
-GOA_TYPE_BACKEND_FACEBOOK_PROVIDER
-goa_backend_facebook_provider_get_type
+GOA_FACEBOOK_PROVIDER
+GOA_IS_FACEBOOK_PROVIDER
+GOA_TYPE_FACEBOOK_PROVIDER
+goa_facebook_provider_get_type
</SECTION>
<SECTION>
-<FILE>goabackendyahooprovider</FILE>
-GoaBackendYahooProvider
+<FILE>goayahooprovider</FILE>
+GoaYahooProvider
<SUBSECTION Standard>
-GOA_BACKEND_YAHOO_PROVIDER
-GOA_IS_BACKEND_YAHOO_PROVIDER
-GOA_TYPE_BACKEND_YAHOO_PROVIDER
-goa_backend_yahoo_provider_get_type
+GOA_YAHOO_PROVIDER
+GOA_IS_YAHOO_PROVIDER
+GOA_TYPE_YAHOO_PROVIDER
+goa_yahoo_provider_get_type
</SECTION>
<SECTION>
-<FILE>goabackendtwitterprovider</FILE>
-GoaBackendTwitterProvider
+<FILE>goatwitterprovider</FILE>
+GoaTwitterProvider
<SUBSECTION Standard>
-GOA_BACKEND_TWITTER_PROVIDER
-GOA_IS_BACKEND_TWITTER_PROVIDER
-GOA_TYPE_BACKEND_TWITTER_PROVIDER
-goa_backend_twitter_provider_get_type
+GOA_TWITTER_PROVIDER
+GOA_IS_TWITTER_PROVIDER
+GOA_TYPE_TWITTER_PROVIDER
+goa_twitter_provider_get_type
</SECTION>
<SECTION>
@@ -699,54 +699,54 @@ goa_mail_monitor_skeleton_get_type
</SECTION>
<SECTION>
-<FILE>goabackendimapclient</FILE>
-GoaBackendImapClient
-goa_backend_imap_client_new
-goa_backend_imap_client_connect_sync
-goa_backend_imap_client_run_command_sync
-goa_backend_imap_client_idle_sync
-goa_backend_imap_client_disconnect_sync
+<FILE>goaimapclient</FILE>
+GoaImapClient
+goa_imap_client_new
+goa_imap_client_connect_sync
+goa_imap_client_run_command_sync
+goa_imap_client_idle_sync
+goa_imap_client_disconnect_sync
<SUBSECTION Standard>
-GOA_BACKEND_IMAP_CLIENT
-GOA_IS_BACKEND_IMAP_CLIENT
-GOA_TYPE_BACKEND_IMAP_CLIENT
-goa_backend_imap_client_get_type
+GOA_IMAP_CLIENT
+GOA_IS_IMAP_CLIENT
+GOA_TYPE_IMAP_CLIENT
+goa_imap_client_get_type
</SECTION>
<SECTION>
-<FILE>goabackendimapmail</FILE>
-GoaBackendImapMail
-goa_backend_imap_mail_new
+<FILE>goaimapmail</FILE>
+GoaImapMail
+goa_imap_mail_new
<SUBSECTION Standard>
-GOA_BACKEND_IMAP_MAIL
-GOA_IS_BACKEND_IMAP_MAIL
-GOA_TYPE_BACKEND_IMAP_MAIL
-goa_backend_imap_mail_get_type
+GOA_IMAP_MAIL
+GOA_IS_IMAP_MAIL
+GOA_TYPE_IMAP_MAIL
+goa_imap_mail_get_type
</SECTION>
<SECTION>
-<FILE>goabackendimapauth</FILE>
-GoaBackendImapAuth
-GoaBackendImapAuthClass
-goa_backend_imap_auth_run_sync
+<FILE>goaimapauth</FILE>
+GoaImapAuth
+GoaImapAuthClass
+goa_imap_auth_run_sync
<SUBSECTION Standard>
-GoaBackendImapAuthPrivate
-GOA_BACKEND_IMAP_AUTH
-GOA_IS_BACKEND_IMAP_AUTH
-GOA_TYPE_BACKEND_IMAP_AUTH
-GOA_BACKEND_IMAP_AUTH_CLASS
-GOA_IS_BACKEND_IMAP_AUTH_CLASS
-GOA_BACKEND_IMAP_AUTH_GET_CLASS
-goa_backend_imap_auth_get_type
+GoaImapAuthPrivate
+GOA_IMAP_AUTH
+GOA_IS_IMAP_AUTH
+GOA_TYPE_IMAP_AUTH
+GOA_IMAP_AUTH_CLASS
+GOA_IS_IMAP_AUTH_CLASS
+GOA_IMAP_AUTH_GET_CLASS
+goa_imap_auth_get_type
</SECTION>
<SECTION>
-<FILE>goabackendimapauthoauth</FILE>
-GoaBackendImapAuthOAuth
-goa_backend_imap_auth_oauth_new
+<FILE>goaimapauthoauth</FILE>
+GoaImapAuthOAuth
+goa_imap_auth_oauth_new
<SUBSECTION Standard>
-GOA_BACKEND_IMAP_AUTH_OAUTH
-GOA_IS_BACKEND_IMAP_AUTH_OAUTH
-GOA_TYPE_BACKEND_IMAP_AUTH_OAUTH
-goa_backend_imap_auth_oauth_get_type
+GOA_IMAP_AUTH_OAUTH
+GOA_IS_IMAP_AUTH_OAUTH
+GOA_TYPE_IMAP_AUTH_OAUTH
+goa_imap_auth_oauth_get_type
</SECTION>
diff --git a/doc/goa.types b/doc/goa.types
index f87f4b0..5a73646 100644
--- a/doc/goa.types
+++ b/doc/goa.types
@@ -1,11 +1,4 @@
goa_client_get_type
-goa_backend_provider_get_type
-goa_backend_oauth_provider_get_type
-goa_backend_oauth2_provider_get_type
-goa_backend_google_provider_get_type
-goa_backend_facebook_provider_get_type
-goa_backend_yahoo_provider_get_type
-goa_backend_twitter_provider_get_type
goa_account_get_type
goa_account_proxy_get_type
goa_account_skeleton_get_type
@@ -36,7 +29,15 @@ goa_mail_skeleton_get_type
goa_mail_monitor_get_type
goa_mail_monitor_proxy_get_type
goa_mail_monitor_skeleton_get_type
-goa_backend_imap_auth_get_type
-goa_backend_imap_auth_oauth_get_type
-goa_backend_imap_client_get_type
-goa_backend_imap_mail_get_type
+
+goa_provider_get_type
+goa_oauth_provider_get_type
+goa_oauth2_provider_get_type
+goa_google_provider_get_type
+goa_facebook_provider_get_type
+goa_yahoo_provider_get_type
+goa_twitter_provider_get_type
+goa_imap_auth_get_type
+goa_imap_auth_oauth_get_type
+goa_imap_client_get_type
+goa_imap_mail_get_type
diff --git a/src/Makefile.am b/src/Makefile.am
index 6027402..1bbe999 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,4 +1,4 @@
NULL =
-SUBDIRS = goa daemon panel examples
+SUBDIRS = goa goabackend daemon panel examples
diff --git a/src/daemon/Makefile.am b/src/daemon/Makefile.am
index 73476f2..32bf722 100644
--- a/src/daemon/Makefile.am
+++ b/src/daemon/Makefile.am
@@ -35,7 +35,7 @@ goa_daemon_CFLAGS = \
goa_daemon_LDADD = \
$(GLIB_LIBS) \
$(top_builddir)/src/goa/libgoa.la \
- $(top_builddir)/src/goa/libgoa-backend.la \
+ $(top_builddir)/src/goabackend/libgoa-backend.la \
$(GTK_LIBS) \
$(LIBNOTIFY_LIBS) \
$(REST_LIBS) \
diff --git a/src/daemon/goadaemon.c b/src/daemon/goadaemon.c
index ce57311..721bccd 100644
--- a/src/daemon/goadaemon.c
+++ b/src/daemon/goadaemon.c
@@ -36,7 +36,7 @@
#include <libsoup/soup.h>
#include "goadaemon.h"
-#include "goa/goabackend.h"
+#include "goabackend/goabackend.h"
struct _GoaDaemon
{
@@ -368,7 +368,7 @@ update_account_object (GoaDaemon *daemon,
gboolean just_added)
{
GoaAccount *account;
- GoaBackendProvider *provider;
+ GoaProvider *provider;
gboolean ret;
gchar *name;
gchar *type;
@@ -402,7 +402,7 @@ update_account_object (GoaDaemon *daemon,
goa_account_set_provider_type (account, type);
goa_account_set_name (account, name);
- provider = goa_backend_provider_get_for_provider_type (type);
+ provider = goa_provider_get_for_provider_type (type);
if (provider == NULL)
{
/* TODO: syslog */
@@ -411,7 +411,7 @@ update_account_object (GoaDaemon *daemon,
}
error = NULL;
- if (!goa_backend_provider_build_object (provider, object, key_file, group, &error))
+ if (!goa_provider_build_object (provider, object, key_file, group, &error))
{
/* TODO: syslog */
g_warning ("Error parsing account: %s (%s, %d)",
@@ -1174,16 +1174,16 @@ is_authorization_error (GError *error)
}
static void
-ensure_credentials_cb (GoaBackendProvider *provider,
- GAsyncResult *res,
- gpointer user_data)
+ensure_credentials_cb (GoaProvider *provider,
+ GAsyncResult *res,
+ gpointer user_data)
{
EnsureCredentialsData *data = user_data;
gint expires_in;
GError *error;
error= NULL;
- if (!goa_backend_provider_ensure_credentials_finish (provider, &expires_in, res, &error))
+ if (!goa_provider_ensure_credentials_finish (provider, &expires_in, res, &error))
{
/* Set AttentionNeeded only if the error is an authorization error */
if (is_authorization_error (error))
@@ -1230,11 +1230,11 @@ on_account_handle_ensure_credentials (GoaAccount *account,
gpointer user_data)
{
GoaDaemon *daemon = GOA_DAEMON (user_data);
- GoaBackendProvider *provider;
+ GoaProvider *provider;
GoaObject *object;
object = GOA_OBJECT (g_dbus_interface_get_object (G_DBUS_INTERFACE (account)));
- provider = goa_backend_provider_get_for_provider_type (goa_account_get_provider_type (account));
+ provider = goa_provider_get_for_provider_type (goa_account_get_provider_type (account));
if (provider == NULL)
{
/* TODO: syslog */
@@ -1247,11 +1247,11 @@ on_account_handle_ensure_credentials (GoaAccount *account,
goto out;
}
- goa_backend_provider_ensure_credentials (provider,
- object,
- NULL, /* GCancellable */
- (GAsyncReadyCallback) ensure_credentials_cb,
- ensure_credentials_data_new (daemon, object, invocation));
+ goa_provider_ensure_credentials (provider,
+ object,
+ NULL, /* GCancellable */
+ (GAsyncReadyCallback) ensure_credentials_cb,
+ ensure_credentials_data_new (daemon, object, invocation));
out:
return TRUE; /* invocation was handled */
diff --git a/src/goa/Makefile.am b/src/goa/Makefile.am
index fab70e2..2458cae 100644
--- a/src/goa/Makefile.am
+++ b/src/goa/Makefile.am
@@ -42,19 +42,8 @@ goaenumtypes.c: goaenums.h goaenumtypes.c.template
cd $(srcdir) && glib-mkenums --template goaenumtypes.c.template goaenums.h ) > \
goaenumtypes.c.tmp && mv goaenumtypes.c.tmp goaenumtypes.c
-goabackendenumtypes.h: goabackendenums.h goabackendenumtypes.h.template
- ( top_builddir=`cd $(top_builddir) && pwd`; \
- cd $(srcdir) && glib-mkenums --template goabackendenumtypes.h.template goabackendenums.h ) > \
- goabackendenumtypes.h.tmp && mv goabackendenumtypes.h.tmp goabackendenumtypes.h
-
-goabackendenumtypes.c: goabackendenums.h goabackendenumtypes.c.template
- ( top_builddir=`cd $(top_builddir) && pwd`; \
- cd $(srcdir) && glib-mkenums --template goabackendenumtypes.c.template goabackendenums.h ) > \
- goabackendenumtypes.c.tmp && mv goabackendenumtypes.c.tmp goabackendenumtypes.c
-
enum_built_sources = \
goaenumtypes.h goaenumtypes.c \
- goabackendenumtypes.h goabackendenumtypes.c \
$(NULL)
# ----------------------------------------------------------------------------------------------------
@@ -125,65 +114,5 @@ endif # HAVE_INTROSPECTION
# ----------------------------------------------------------------------------------------------------
-lib_LTLIBRARIES += libgoa-backend.la
-
-libgoa_backend_ladir = $(includedir)/goa/goa
-
-libgoa_backend_la_HEADERS = \
- goabackend.h \
- goabackendtypes.h \
- goabackendprovider.h \
- goabackendoauthprovider.h \
- goabackendoauth2provider.h \
- goabackendgoogleprovider.h \
- goabackendfacebookprovider.h \
- goabackendyahooprovider.h \
- goabackendtwitterprovider.h \
- goabackendimapauth.h \
- goabackendimapauthoauth.h \
- goabackendimapclient.h \
- goabackendenums.h \
- goabackendenumtypes.h \
- $(NULL)
-
-libgoa_backend_la_SOURCES = \
- goabackend.h \
- goabackendtypes.h \
- goabackendprovider.h goabackendprovider.c \
- goabackendoauthprovider.h goabackendoauthprovider.c \
- goabackendoauth2provider.h goabackendoauth2provider.c \
- goabackendgoogleprovider.h goabackendgoogleprovider.c \
- goabackendfacebookprovider.h goabackendfacebookprovider.c \
- goabackendyahooprovider.h goabackendyahooprovider.c \
- goabackendtwitterprovider.h goabackendtwitterprovider.c \
- goabackendimapauth.h goabackendimapauth.c \
- goabackendimapauthoauth.h goabackendimapauthoauth.c \
- goabackendimapclient.h goabackendimapclient.c \
- goabackendimapmail.h goabackendimapmail.c \
- goabackendenumtypes.h goabackendenumtypes.c \
- $(NULL)
-
-libgoa_backend_la_CFLAGS = \
- -DGOA_BACKEND_COMPILATION \
- -DGOA_API_IS_SUBJECT_TO_CHANGE \
- $(WEBKIT_GTK_CFLAGS) \
- $(JSON_GLIB_CFLAGS) \
- $(GLIB_CFLAGS) \
- $(GTK_CFLAGS) \
- $(GNOME_KEYRING_CFLAGS) \
- $(REST_CFLAGS) \
- $(NULL)
-
-libgoa_backend_la_LIBADD = \
- $(WEBKIT_GTK_LIBS) \
- $(JSON_GLIB_LIBS) \
- $(GLIB_LIBS) \
- $(GTK_LIBS) \
- $(GNOME_KEYRING_LIBS) \
- $(REST_LIBS) \
- $(NULL)
-
-# ----------------------------------------------------------------------------------------------------
-
clean-local :
rm -f *~ goa-generated-doc-*.xml $(dbus_built_sources) $(enum_built_sources)
diff --git a/src/goa/goabackendimapauth.h b/src/goa/goabackendimapauth.h
deleted file mode 100644
index 37ac521..0000000
--- a/src/goa/goabackendimapauth.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
-#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
-#endif
-
-#ifndef __GOA_BACKEND_IMAP_AUTH_H__
-#define __GOA_BACKEND_IMAP_AUTH_H__
-
-#include <goa/goabackendtypes.h>
-
-G_BEGIN_DECLS
-
-#define GOA_TYPE_BACKEND_IMAP_AUTH (goa_backend_imap_auth_get_type ())
-#define GOA_BACKEND_IMAP_AUTH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_IMAP_AUTH, GoaBackendImapAuth))
-#define GOA_BACKEND_IMAP_AUTH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_BACKEND_IMAP_AUTH, GoaBackendImapAuthClass))
-#define GOA_BACKEND_IMAP_AUTH_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_BACKEND_IMAP_AUTH, GoaBackendImapAuthClass))
-#define GOA_IS_BACKEND_IMAP_AUTH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_IMAP_AUTH))
-#define GOA_IS_BACKEND_IMAP_AUTH_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_BACKEND_IMAP_AUTH))
-
-struct _GoaBackendImapAuthClass;
-struct _GoaBackendImapAuthPrivate;
-typedef struct _GoaBackendImapAuthClass GoaBackendImapAuthClass;
-typedef struct _GoaBackendImapAuthPrivate GoaBackendImapAuthPrivate;
-
-/**
- * GoaBackendImapAuth:
- *
- * The #GoaBackendImapAuth structure contains only private data and
- * should only be accessed using the provided API.
- */
-struct _GoaBackendImapAuth
-{
- /*< private >*/
- GObject parent_instance;
- GoaBackendImapAuthPrivate *priv;
-};
-
-/**
- * GoaBackendImapAuthClass:
- * @parent_class: The parent class
- * @run_sync: Virtual function for the goa_backend_imap_auth_run_sync() method.
- *
- * Class structure for #GoaBackendImapAuth.
- */
-struct _GoaBackendImapAuthClass
-{
- GObjectClass parent_class;
- gboolean (*run_sync) (GoaBackendImapAuth *auth,
- GDataInputStream *input,
- GDataOutputStream *output,
- GCancellable *cancellable,
- GError **error);
- /*< private >*/
- /* Padding for future expansion */
- gpointer goa_reserved[8];
-};
-
-GType goa_backend_imap_auth_get_type (void) G_GNUC_CONST;
-gboolean goa_backend_imap_auth_run_sync (GoaBackendImapAuth *auth,
- GDataInputStream *input,
- GDataOutputStream *output,
- GCancellable *cancellable,
- GError **error);
-
-G_END_DECLS
-
-#endif /* __GOA_BACKEND_IMAP_AUTH_H__ */
diff --git a/src/goa/goabackendimapauthoauth.h b/src/goa/goabackendimapauthoauth.h
deleted file mode 100644
index 3899117..0000000
--- a/src/goa/goabackendimapauthoauth.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
-#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
-#endif
-
-#ifndef __GOA_BACKEND_IMAP_AUTH_OAUTH_H__
-#define __GOA_BACKEND_IMAP_AUTH_OAUTH_H__
-
-#include <goa/goabackendtypes.h>
-
-G_BEGIN_DECLS
-
-#define GOA_TYPE_BACKEND_IMAP_AUTH_OAUTH (goa_backend_imap_auth_oauth_get_type ())
-#define GOA_BACKEND_IMAP_AUTH_OAUTH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_IMAP_AUTH_OAUTH, GoaBackendImapAuthOAuth))
-#define GOA_IS_BACKEND_IMAP_AUTH_OAUTH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_IMAP_AUTH_OAUTH))
-
-
-GType goa_backend_imap_auth_oauth_get_type (void) G_GNUC_CONST;
-GoaBackendImapAuth *goa_backend_imap_auth_oauth_new (GoaBackendOAuthProvider *provider,
- GoaObject *object,
- const gchar *request_uri);
-
-G_END_DECLS
-
-#endif /* __GOA_BACKEND_IMAP_AUTH_OAUTH_H__ */
diff --git a/src/goa/goabackendimapclient.h b/src/goa/goabackendimapclient.h
deleted file mode 100644
index 8582c41..0000000
--- a/src/goa/goabackendimapclient.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
-#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
-#endif
-
-#ifndef __GOA_BACKEND_IMAP_CLIENT_H__
-#define __GOA_BACKEND_IMAP_CLIENT_H__
-
-#include <goa/goabackendtypes.h>
-
-G_BEGIN_DECLS
-
-#define GOA_TYPE_BACKEND_IMAP_CLIENT (goa_backend_imap_client_get_type ())
-#define GOA_BACKEND_IMAP_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_IMAP_CLIENT, GoaBackendImapClient))
-#define GOA_IS_BACKEND_IMAP_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_IMAP_CLIENT))
-
-GType goa_backend_imap_client_get_type (void) G_GNUC_CONST;
-GoaBackendImapClient *goa_backend_imap_client_new (void);
-gboolean goa_backend_imap_client_connect_sync (GoaBackendImapClient *client,
- const gchar *host_and_port,
- gboolean use_tls,
- GoaBackendImapAuth *auth,
- GCancellable *cancellable,
- GError **error);
-gchar *goa_backend_imap_client_run_command_sync (GoaBackendImapClient *client,
- const gchar *command,
- GCancellable *cancellable,
- GError **error);
-
-gboolean goa_backend_imap_client_idle_sync (GoaBackendImapClient *client,
- guint max_idle_seconds,
- GCancellable *cancellable,
- GError **error);
-
-gboolean goa_backend_imap_client_disconnect_sync (GoaBackendImapClient *client,
- GCancellable *cancellable,
- GError **error);
-
-// TODO: gint goa_backend_imap_client_get_socket_fd (GoaBackendImapClient *client);
-
-
-G_END_DECLS
-
-#endif /* __GOA_BACKEND_IMAP_CLIENT_H__ */
diff --git a/src/goa/goabackendoauth2provider.h b/src/goa/goabackendoauth2provider.h
deleted file mode 100644
index f1f0426..0000000
--- a/src/goa/goabackendoauth2provider.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
-#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
-#endif
-
-#ifndef __GOA_BACKEND_OAUTH2_PROVIDER_H__
-#define __GOA_BACKEND_OAUTH2_PROVIDER_H__
-
-#include <goa/goabackendtypes.h>
-
-G_BEGIN_DECLS
-
-#define GOA_TYPE_BACKEND_OAUTH2_PROVIDER (goa_backend_oauth2_provider_get_type ())
-#define GOA_BACKEND_OAUTH2_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_OAUTH2_PROVIDER, GoaBackendOAuth2Provider))
-#define GOA_BACKEND_OAUTH2_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_BACKEND_OAUTH2_PROVIDER, GoaBackendOAuth2ProviderClass))
-#define GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_BACKEND_OAUTH2_PROVIDER, GoaBackendOAuth2ProviderClass))
-#define GOA_IS_BACKEND_OAUTH2_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_OAUTH2_PROVIDER))
-
-#define GOA_IS_BACKEND_OAUTH2_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_BACKEND_OAUTH2_PROVIDER))
-
-typedef struct _GoaBackendOAuth2ProviderClass GoaBackendOAuth2ProviderClass;
-typedef struct _GoaBackendOAuth2ProviderPrivate GoaBackendOAuth2ProviderPrivate;
-
-/**
- * GoaBackendOAuth2Provider:
- *
- * The #GoaBackendOAuth2Provider structure contains only private data and should
- * only be accessed using the provided API.
- */
-struct _GoaBackendOAuth2Provider
-{
- /*< private >*/
- GoaBackendProvider parent_instance;
- GoaBackendOAuth2ProviderPrivate *priv;
-};
-
-/**
- * GoaBackendOAuth2ProviderClass:
- * @parent_class: The parent class.
- * @get_authorization_uri: Virtual function for goa_backend_oauth2_provider_get_authorization_uri().
- * @get_token_uri: Virtual function for goa_backend_oauth2_provider_get_token_uri().
- * @get_redirect_uri: Virtual function for goa_backend_oauth2_provider_get_redirect_uri().
- * @get_scope: Virtual function for goa_backend_oauth2_provider_get_scope().
- * @get_client_id: Virtual function for goa_backend_oauth2_provider_get_client_id().
- * @get_client_secret: Virtual function for goa_backend_oauth2_provider_get_client_secret().
- * @get_identity_sync: Virtual function for goa_backend_oauth2_provider_get_identity_sync().
- * @build_authorization_uri: Virtual function for goa_backend_oauth2_provider_build_authorization_uri().
- * @get_use_external_browser: Virtual function for goa_backend_oauth2_provider_get_use_external_browser().
- *
- * Class structure for #GoaBackendOAuth2Provider.
- */
-struct _GoaBackendOAuth2ProviderClass
-{
- GoaBackendProviderClass parent_class;
-
- /* pure virtual */
- const gchar *(*get_authorization_uri) (GoaBackendOAuth2Provider *provider);
- const gchar *(*get_token_uri) (GoaBackendOAuth2Provider *provider);
- const gchar *(*get_redirect_uri) (GoaBackendOAuth2Provider *provider);
- const gchar *(*get_scope) (GoaBackendOAuth2Provider *provider);
- const gchar *(*get_client_id) (GoaBackendOAuth2Provider *provider);
- const gchar *(*get_client_secret) (GoaBackendOAuth2Provider *provider);
- gchar *(*get_identity_sync) (GoaBackendOAuth2Provider *provider,
- const gchar *access_token,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error);
-
- /* virtual but with default implementation */
- gchar *(*build_authorization_uri) (GoaBackendOAuth2Provider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_redirect_uri,
- const gchar *escaped_client_id,
- const gchar *escaped_scope);
- gboolean (*get_use_external_browser) (GoaBackendOAuth2Provider *provider);
-
- /*< private >*/
- /* Padding for future expansion */
- gpointer goa_reserved[32];
-};
-
-GType goa_backend_oauth2_provider_get_type (void) G_GNUC_CONST;
-const gchar *goa_backend_oauth2_provider_get_authorization_uri (GoaBackendOAuth2Provider *provider);
-const gchar *goa_backend_oauth2_provider_get_token_uri (GoaBackendOAuth2Provider *provider);
-const gchar *goa_backend_oauth2_provider_get_redirect_uri (GoaBackendOAuth2Provider *provider);
-const gchar *goa_backend_oauth2_provider_get_scope (GoaBackendOAuth2Provider *provider);
-const gchar *goa_backend_oauth2_provider_get_client_id (GoaBackendOAuth2Provider *provider);
-const gchar *goa_backend_oauth2_provider_get_client_secret (GoaBackendOAuth2Provider *provider);
-gchar *goa_backend_oauth2_provider_get_identity_sync (GoaBackendOAuth2Provider *provider,
- const gchar *access_token,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error);
-gchar *goa_backend_oauth2_provider_get_access_token_sync (GoaBackendOAuth2Provider *provider,
- GoaObject *object,
- gboolean force_refresh,
- gint *out_access_token_expires_in,
- GCancellable *cancellable,
- GError **error);
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-gchar *goa_backend_oauth2_provider_build_authorization_uri (GoaBackendOAuth2Provider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_redirect_uri,
- const gchar *escaped_client_id,
- const gchar *escaped_scope);
-gboolean goa_backend_oauth2_provider_get_use_external_browser (GoaBackendOAuth2Provider *provider);
-
-G_END_DECLS
-
-#endif /* __GOA_BACKEND_OAUTH2_PROVIDER_H__ */
diff --git a/src/goa/goabackendoauthprovider.h b/src/goa/goabackendoauthprovider.h
deleted file mode 100644
index 4b8e457..0000000
--- a/src/goa/goabackendoauthprovider.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
-#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
-#endif
-
-#ifndef __GOA_BACKEND_OAUTH_PROVIDER_H__
-#define __GOA_BACKEND_OAUTH_PROVIDER_H__
-
-#include <goa/goabackendtypes.h>
-#include <goa/goabackendprovider.h>
-
-G_BEGIN_DECLS
-
-#define GOA_TYPE_BACKEND_OAUTH_PROVIDER (goa_backend_oauth_provider_get_type ())
-#define GOA_BACKEND_OAUTH_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_OAUTH_PROVIDER, GoaBackendOAuthProvider))
-#define GOA_BACKEND_OAUTH_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_BACKEND_OAUTH_PROVIDER, GoaBackendOAuthProviderClass))
-#define GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_BACKEND_OAUTH_PROVIDER, GoaBackendOAuthProviderClass))
-#define GOA_IS_BACKEND_OAUTH_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_OAUTH_PROVIDER))
-
-#define GOA_IS_BACKEND_OAUTH_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_BACKEND_OAUTH_PROVIDER))
-
-typedef struct _GoaBackendOAuthProviderClass GoaBackendOAuthProviderClass;
-typedef struct _GoaBackendOAuthProviderPrivate GoaBackendOAuthProviderPrivate;
-
-/**
- * GoaBackendOAuthProvider:
- *
- * The #GoaBackendOAuthProvider structure contains only private data and should
- * only be accessed using the provided API.
- */
-struct _GoaBackendOAuthProvider
-{
- /*< private >*/
- GoaBackendProvider parent_instance;
- GoaBackendOAuthProviderPrivate *priv;
-};
-
-/**
- * GoaBackendOAuthProviderClass:
- * @parent_class: The parent class.
- * @get_consumer_key: Virtual function for goa_backend_oauth_provider_get_consumer_key().
- * @get_consumer_secret: Virtual function for goa_backend_oauth_provider_get_consumer_secret().
- * @get_request_uri: Virtual function for goa_backend_oauth_provider_get_request_uri().
- * @get_authorization_uri: Virtual function for goa_backend_oauth_provider_get_authorization_uri().
- * @get_token_uri: Virtual function for goa_backend_oauth_provider_get_token_uri().
- * @get_callback_uri: Virtual function for goa_backend_oauth_provider_get_callback_uri().
- * @get_identity_sync: Virtual function for goa_backend_oauth_provider_get_identity_sync().
- * @build_authorization_uri: Virtual function for goa_backend_oauth_provider_build_authorization_uri().
- * @get_use_external_browser: Virtual function for goa_backend_oauth_provider_get_use_external_browser().
- * @get_request_uri_params: Virtual function for goa_backend_oauth_provider_get_request_uri_params().
- *
- * Class structure for #GoaBackendOAuthProvider.
- */
-struct _GoaBackendOAuthProviderClass
-{
- GoaBackendProviderClass parent_class;
-
- /* pure virtual */
- const gchar *(*get_consumer_key) (GoaBackendOAuthProvider *provider);
- const gchar *(*get_consumer_secret) (GoaBackendOAuthProvider *provider);
- const gchar *(*get_request_uri) (GoaBackendOAuthProvider *provider);
- const gchar *(*get_authorization_uri) (GoaBackendOAuthProvider *provider);
- const gchar *(*get_token_uri) (GoaBackendOAuthProvider *provider);
- const gchar *(*get_callback_uri) (GoaBackendOAuthProvider *provider);
-
- gchar *(*get_identity_sync) (GoaBackendOAuthProvider *provider,
- const gchar *access_token,
- const gchar *access_token_secret,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error);
-
- /* virtual but with default implementation */
- gchar *(*build_authorization_uri) (GoaBackendOAuthProvider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_oauth_token);
- gboolean (*get_use_external_browser) (GoaBackendOAuthProvider *provider);
- gchar **(*get_request_uri_params) (GoaBackendOAuthProvider *provider);
-
- /*< private >*/
- /* Padding for future expansion */
- gpointer goa_reserved[32];
-};
-
-GType goa_backend_oauth_provider_get_type (void) G_GNUC_CONST;
-const gchar *goa_backend_oauth_provider_get_consumer_key (GoaBackendOAuthProvider *provider);
-const gchar *goa_backend_oauth_provider_get_consumer_secret (GoaBackendOAuthProvider *provider);
-const gchar *goa_backend_oauth_provider_get_request_uri (GoaBackendOAuthProvider *provider);
-gchar **goa_backend_oauth_provider_get_request_uri_params (GoaBackendOAuthProvider *provider);
-const gchar *goa_backend_oauth_provider_get_authorization_uri (GoaBackendOAuthProvider *provider);
-const gchar *goa_backend_oauth_provider_get_token_uri (GoaBackendOAuthProvider *provider);
-const gchar *goa_backend_oauth_provider_get_callback_uri (GoaBackendOAuthProvider *provider);
-gchar *goa_backend_oauth_provider_get_identity_sync (GoaBackendOAuthProvider *provider,
- const gchar *access_token,
- const gchar *access_token_secret,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error);
-gchar *goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *provider,
- GoaObject *object,
- gboolean force_refresh,
- gchar **out_access_token_secret,
- gint *out_access_token_expires_in,
- GCancellable *cancellable,
- GError **error);
-
-/* ---------------------------------------------------------------------------------------------------- */
-
-gchar *goa_backend_oauth_provider_build_authorization_uri (GoaBackendOAuthProvider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_oauth_token);
-gboolean goa_backend_oauth_provider_get_use_external_browser (GoaBackendOAuthProvider *provider);
-
-G_END_DECLS
-
-#endif /* __GOA_BACKEND_OAUTH_PROVIDER_H__ */
diff --git a/src/goa/goabackendprovider.h b/src/goa/goabackendprovider.h
deleted file mode 100644
index e1a4fa2..0000000
--- a/src/goa/goabackendprovider.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
-/*
- * Copyright (C) 2011 Red Hat, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Author: David Zeuthen <davidz@redhat.com>
- */
-
-#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
-#endif
-
-#ifndef __GOA_BACKEND_PROVIDER_H__
-#define __GOA_BACKEND_PROVIDER_H__
-
-#include <goa/goabackendtypes.h>
-
-G_BEGIN_DECLS
-
-#define GOA_TYPE_BACKEND_PROVIDER (goa_backend_provider_get_type ())
-#define GOA_BACKEND_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_PROVIDER, GoaBackendProvider))
-#define GOA_BACKEND_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_BACKEND_PROVIDER, GoaBackendProviderClass))
-#define GOA_BACKEND_PROVIDER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_BACKEND_PROVIDER, GoaBackendProviderClass))
-#define GOA_IS_BACKEND_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_PROVIDER))
-#define GOA_IS_BACKEND_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_BACKEND_PROVIDER))
-
-typedef struct _GoaBackendProviderClass GoaBackendProviderClass;
-typedef struct _GoaBackendProviderPrivate GoaBackendProviderPrivate;
-
-/**
- * GoaBackendProvider:
- *
- * The #GoaBackendProvider structure contains only private data and should
- * only be accessed using the provided API.
- */
-struct _GoaBackendProvider
-{
- /*< private >*/
- GObject parent_instance;
- GoaBackendProviderPrivate *priv;
-};
-
-/**
- * GoaBackendProviderClass:
- * @parent_class: The parent class.
- * @get_provider_type: Virtual function for goa_backend_provider_get_provider_type().
- * @get_name: Virtual function for goa_backend_provider_get_name().
- * @add_account: Virtual function for goa_backend_provider_add_account().
- * @refresh_account: Virtual function for goa_backend_provider_refresh_account().
- * @build_object: Virtual function for goa_backend_provider_build_object().
- * @ensure_credentials_sync: Virtual function for goa_backend_provider_ensure_credentials_sync().
- *
- * Class structure for #GoaBackendProvider.
- */
-struct _GoaBackendProviderClass
-{
- GObjectClass parent_class;
-
- /* pure virtual */
- const gchar *(*get_provider_type) (GoaBackendProvider *provider);
- const gchar *(*get_name) (GoaBackendProvider *provider);
- GoaObject *(*add_account) (GoaBackendProvider *provider,
- GoaClient *client,
- GtkDialog *dialog,
- GtkBox *vbox,
- GError **error);
- gboolean (*refresh_account) (GoaBackendProvider *provider,
- GoaClient *client,
- GoaObject *object,
- GtkWindow *parent,
- GError **error);
- gboolean (*build_object) (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error);
-
- /* virtual but with default implementation */
- gboolean (*ensure_credentials_sync) (GoaBackendProvider *provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error);
-
- /*< private >*/
- /* Padding for future expansion */
- gpointer goa_reserved[32];
-};
-
-GType goa_backend_provider_get_type (void) G_GNUC_CONST;
-const gchar *goa_backend_provider_get_provider_type (GoaBackendProvider *provider);
-const gchar *goa_backend_provider_get_name (GoaBackendProvider *provider);
-GoaObject *goa_backend_provider_add_account (GoaBackendProvider *provider,
- GoaClient *client,
- GtkDialog *dialog,
- GtkBox *vbox,
- GError **error);
-gboolean goa_backend_provider_refresh_account (GoaBackendProvider *provider,
- GoaClient *client,
- GoaObject *object,
- GtkWindow *parent,
- GError **error);
-gboolean goa_backend_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error);
-
-gboolean goa_backend_provider_store_credentials_sync (GoaBackendProvider *provider,
- const gchar *identity,
- GVariant *credentials,
- GCancellable *cancellable,
- GError **error);
-
-GVariant *goa_backend_provider_lookup_credentials_sync (GoaBackendProvider *provider,
- const gchar *identity,
- GCancellable *cancellable,
- GError **error);
-
-void goa_backend_provider_ensure_credentials (GoaBackendProvider *provider,
- GoaObject *object,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data);
-
-gboolean goa_backend_provider_ensure_credentials_finish (GoaBackendProvider *provider,
- gint *out_expires_in,
- GAsyncResult *res,
- GError **error);
-
-gboolean goa_backend_provider_ensure_credentials_sync (GoaBackendProvider *provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error);
-
-
-/**
- * GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME:
- *
- * Extension point for #GoaBackendProvider implementations.
- */
-#define GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME "goa-backend-provider"
-
-GList *goa_backend_provider_get_all (void);
-GoaBackendProvider *goa_backend_provider_get_for_provider_type (const gchar *provider_type);
-
-G_END_DECLS
-
-#endif /* __GOA_BACKEND_PROVIDER_H__ */
diff --git a/src/goa/goabackend.h b/src/goabackend/goabackend.h
index df265ce..670d513 100644
--- a/src/goa/goabackend.h
+++ b/src/goabackend/goabackend.h
@@ -24,22 +24,22 @@
#define __GOA_BACKEND_H__
#if !defined(GOA_BACKEND_API_IS_SUBJECT_TO_CHANGE) && !defined(GOA_BACKEND_COMPILATION)
-#error libgoa-backend is unstable API. You must define GOA_API_IS_SUBJECT_TO_CHANGE before including goa/goabackend.h
+#error libgoa-backend is unstable API. You must define GOA_API_IS_SUBJECT_TO_CHANGE before including goabackend/goabackend.h
#endif
#define __GOA_BACKEND_INSIDE_GOA_BACKEND_H__
-#include <goa/goabackendtypes.h>
-#include <goa/goabackendprovider.h>
-#include <goa/goabackendoauthprovider.h>
-#include <goa/goabackendoauth2provider.h>
-#include <goa/goabackendgoogleprovider.h>
-#include <goa/goabackendfacebookprovider.h>
-#include <goa/goabackendyahooprovider.h>
-#include <goa/goabackendtwitterprovider.h>
-#include <goa/goabackendimapauth.h>
-#include <goa/goabackendimapauthoauth.h>
-#include <goa/goabackendimapclient.h>
-#include <goa/goabackendimapmail.h>
+#include <goabackend/goabackendtypes.h>
+#include <goabackend/goaprovider.h>
+#include <goabackend/goaoauthprovider.h>
+#include <goabackend/goaoauth2provider.h>
+#include <goabackend/goagoogleprovider.h>
+#include <goabackend/goafacebookprovider.h>
+#include <goabackend/goayahooprovider.h>
+#include <goabackend/goatwitterprovider.h>
+#include <goabackend/goaimapauth.h>
+#include <goabackend/goaimapauthoauth.h>
+#include <goabackend/goaimapclient.h>
+#include <goabackend/goaimapmail.h>
#undef __GOA_BACKEND_INSIDE_GOA_BACKEND_H__
#endif /* __GOA_BACKEND_H__ */
diff --git a/src/goa/goabackendenums.h b/src/goabackend/goabackendenums.h
index c13587e..8cd0899 100644
--- a/src/goa/goabackendenums.h
+++ b/src/goabackend/goabackendenums.h
@@ -21,7 +21,7 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
#ifndef __GOA_BACKEND_ENUMS_H__
diff --git a/src/goa/goabackendenumtypes.c.template b/src/goabackend/goabackendenumtypes.c.template
index 7a76459..7a76459 100644
--- a/src/goa/goabackendenumtypes.c.template
+++ b/src/goabackend/goabackendenumtypes.c.template
diff --git a/src/goa/goabackendenumtypes.h.template b/src/goabackend/goabackendenumtypes.h.template
index 7321076..7321076 100644
--- a/src/goa/goabackendenumtypes.h.template
+++ b/src/goabackend/goabackendenumtypes.h.template
diff --git a/src/goa/goabackendtypes.h b/src/goabackend/goabackendtypes.h
index ee98a63..2ffb784 100644
--- a/src/goa/goabackendtypes.h
+++ b/src/goabackend/goabackendtypes.h
@@ -21,50 +21,50 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
#ifndef __GOA_BACKEND_TYPES_H__
#define __GOA_BACKEND_TYPES_H__
#include <goa/goa.h>
-#include <goa/goabackendenums.h>
+#include <goabackend/goabackendenums.h>
#include <gtk/gtk.h>
G_BEGIN_DECLS
-struct _GoaBackendProvider;
-typedef struct _GoaBackendProvider GoaBackendProvider;
+struct _GoaProvider;
+typedef struct _GoaProvider GoaProvider;
-struct _GoaBackendOAuthProvider;
-typedef struct _GoaBackendOAuthProvider GoaBackendOAuthProvider;
+struct _GoaOAuthProvider;
+typedef struct _GoaOAuthProvider GoaOAuthProvider;
-struct _GoaBackendOAuth2Provider;
-typedef struct _GoaBackendOAuth2Provider GoaBackendOAuth2Provider;
+struct _GoaOAuth2Provider;
+typedef struct _GoaOAuth2Provider GoaOAuth2Provider;
-struct _GoaBackendGoogleProvider;
-typedef struct _GoaBackendGoogleProvider GoaBackendGoogleProvider;
+struct _GoaGoogleProvider;
+typedef struct _GoaGoogleProvider GoaGoogleProvider;
-struct _GoaBackendFacebookProvider;
-typedef struct _GoaBackendFacebookProvider GoaBackendFacebookProvider;
+struct _GoaFacebookProvider;
+typedef struct _GoaFacebookProvider GoaFacebookProvider;
-struct _GoaBackendYahooProvider;
-typedef struct _GoaBackendYahooProvider GoaBackendYahooProvider;
+struct _GoaYahooProvider;
+typedef struct _GoaYahooProvider GoaYahooProvider;
-struct _GoaBackendTwitterProvider;
-typedef struct _GoaBackendTwitterProvider GoaBackendTwitterProvider;
+struct _GoaTwitterProvider;
+typedef struct _GoaTwitterProvider GoaTwitterProvider;
-struct _GoaBackendImapAuth;
-typedef struct _GoaBackendImapAuth GoaBackendImapAuth;
+struct _GoaImapAuth;
+typedef struct _GoaImapAuth GoaImapAuth;
-struct _GoaBackendImapAuthOAuth;
-typedef struct _GoaBackendImapAuthOAuth GoaBackendImapAuthOAuth;
+struct _GoaImapAuthOAuth;
+typedef struct _GoaImapAuthOAuth GoaImapAuthOAuth;
-struct _GoaBackendImapClient;
-typedef struct _GoaBackendImapClient GoaBackendImapClient;
+struct _GoaImapClient;
+typedef struct _GoaImapClient GoaImapClient;
-struct _GoaBackendImapMail;
-typedef struct _GoaBackendImapMail GoaBackendImapMail;
+struct _GoaImapMail;
+typedef struct _GoaImapMail GoaImapMail;
G_END_DECLS
diff --git a/src/goa/goabackendfacebookprovider.c b/src/goabackend/goafacebookprovider.c
index 92a1c22..bf39d16 100644
--- a/src/goa/goabackendfacebookprovider.c
+++ b/src/goabackend/goafacebookprovider.c
@@ -26,39 +26,39 @@
#include <rest/rest-proxy.h>
#include <json-glib/json-glib.h>
-#include "goabackendprovider.h"
-#include "goabackendoauth2provider.h"
-#include "goabackendfacebookprovider.h"
+#include "goaprovider.h"
+#include "goaoauth2provider.h"
+#include "goafacebookprovider.h"
/**
- * GoaBackendFacebookProvider:
+ * GoaFacebookProvider:
*
- * The #GoaBackendFacebookProvider structure contains only private data and should
+ * The #GoaFacebookProvider structure contains only private data and should
* only be accessed using the provided API.
*/
-struct _GoaBackendFacebookProvider
+struct _GoaFacebookProvider
{
/*< private >*/
- GoaBackendOAuth2Provider parent_instance;
+ GoaOAuth2Provider parent_instance;
};
-typedef struct _GoaBackendFacebookProviderClass GoaBackendFacebookProviderClass;
+typedef struct _GoaFacebookProviderClass GoaFacebookProviderClass;
-struct _GoaBackendFacebookProviderClass
+struct _GoaFacebookProviderClass
{
- GoaBackendOAuth2ProviderClass parent_class;
+ GoaOAuth2ProviderClass parent_class;
};
/**
- * SECTION:goabackendfacebookprovider
- * @title: GoaBackendFacebookProvider
+ * SECTION:goafacebookprovider
+ * @title: GoaFacebookProvider
* @short_description: A provider for Facebook
*
- * #GoaBackendFacebookProvider is used for handling Facebook accounts.
+ * #GoaFacebookProvider is used for handling Facebook accounts.
*/
-G_DEFINE_TYPE_WITH_CODE (GoaBackendFacebookProvider, goa_backend_facebook_provider, GOA_TYPE_BACKEND_OAUTH2_PROVIDER,
- g_io_extension_point_implement (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME,
+G_DEFINE_TYPE_WITH_CODE (GoaFacebookProvider, goa_facebook_provider, GOA_TYPE_OAUTH2_PROVIDER,
+ g_io_extension_point_implement (GOA_PROVIDER_EXTENSION_POINT_NAME,
g_define_type_id,
"facebook",
0));
@@ -66,39 +66,39 @@ G_DEFINE_TYPE_WITH_CODE (GoaBackendFacebookProvider, goa_backend_facebook_provid
/* ---------------------------------------------------------------------------------------------------- */
static const gchar *
-get_provider_type (GoaBackendProvider *_provider)
+get_provider_type (GoaProvider *_provider)
{
return "facebook";
}
static const gchar *
-get_name (GoaBackendProvider *_provider)
+get_name (GoaProvider *_provider)
{
return _("Facebook Account");
}
static const gchar *
-get_authorization_uri (GoaBackendOAuth2Provider *provider)
+get_authorization_uri (GoaOAuth2Provider *provider)
{
return "https://www.facebook.com/dialog/oauth";
}
static const gchar *
-get_token_uri (GoaBackendOAuth2Provider *provider)
+get_token_uri (GoaOAuth2Provider *provider)
{
return "https://graph.facebook.com/oauth/access_token";
}
static const gchar *
-get_redirect_uri (GoaBackendOAuth2Provider *provider)
+get_redirect_uri (GoaOAuth2Provider *provider)
{
return "https://www.gnome.org/goa-1.0/oauth2?callback=1";
}
static const gchar *
-get_scope (GoaBackendOAuth2Provider *provider)
+get_scope (GoaOAuth2Provider *provider)
{
/* see https://developers.facebook.com/docs/authentication/permissions/ */
return
@@ -108,13 +108,13 @@ get_scope (GoaBackendOAuth2Provider *provider)
}
static const gchar *
-get_client_id (GoaBackendOAuth2Provider *provider)
+get_client_id (GoaOAuth2Provider *provider)
{
return "103995033022129";
}
static const gchar *
-get_client_secret (GoaBackendOAuth2Provider *provider)
+get_client_secret (GoaOAuth2Provider *provider)
{
return "c3a9f8d49188a6dd8b596df48a90b94a";
}
@@ -122,11 +122,11 @@ get_client_secret (GoaBackendOAuth2Provider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-get_identity_sync (GoaBackendOAuth2Provider *provider,
- const gchar *access_token,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error)
+get_identity_sync (GoaOAuth2Provider *provider,
+ const gchar *access_token,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error)
{
RestProxy *proxy;
RestProxyCall *call;
@@ -215,11 +215,11 @@ get_identity_sync (GoaBackendOAuth2Provider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_facebook_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
GoaAccount *account;
GoaFacebookAccount *facebook_account;
@@ -232,11 +232,11 @@ goa_backend_facebook_provider_build_object (GoaBackendProvider *provider,
ret = FALSE;
/* Chain up */
- if (!GOA_BACKEND_PROVIDER_CLASS (goa_backend_facebook_provider_parent_class)->build_object (provider,
- object,
- key_file,
- group,
- error))
+ if (!GOA_PROVIDER_CLASS (goa_facebook_provider_parent_class)->build_object (provider,
+ object,
+ key_file,
+ group,
+ error))
goto out;
account = goa_object_get_account (GOA_OBJECT (object));
@@ -272,7 +272,7 @@ goa_backend_facebook_provider_build_object (GoaBackendProvider *provider,
}
static gboolean
-get_use_external_browser (GoaBackendOAuth2Provider *provider)
+get_use_external_browser (GoaOAuth2Provider *provider)
{
return FALSE;
}
@@ -280,22 +280,22 @@ get_use_external_browser (GoaBackendOAuth2Provider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_facebook_provider_init (GoaBackendFacebookProvider *client)
+goa_facebook_provider_init (GoaFacebookProvider *client)
{
}
static void
-goa_backend_facebook_provider_class_init (GoaBackendFacebookProviderClass *klass)
+goa_facebook_provider_class_init (GoaFacebookProviderClass *klass)
{
- GoaBackendProviderClass *provider_class;
- GoaBackendOAuth2ProviderClass *oauth2_class;
+ GoaProviderClass *provider_class;
+ GoaOAuth2ProviderClass *oauth2_class;
- provider_class = GOA_BACKEND_PROVIDER_CLASS (klass);
+ provider_class = GOA_PROVIDER_CLASS (klass);
provider_class->get_provider_type = get_provider_type;
provider_class->get_name = get_name;
- provider_class->build_object = goa_backend_facebook_provider_build_object;
+ provider_class->build_object = build_object;
- oauth2_class = GOA_BACKEND_OAUTH2_PROVIDER_CLASS (klass);
+ oauth2_class = GOA_OAUTH2_PROVIDER_CLASS (klass);
oauth2_class->get_authorization_uri = get_authorization_uri;
oauth2_class->get_token_uri = get_token_uri;
oauth2_class->get_redirect_uri = get_redirect_uri;
diff --git a/src/goa/goabackendyahooprovider.h b/src/goabackend/goafacebookprovider.h
index cd6c106..be9655f 100644
--- a/src/goa/goabackendyahooprovider.h
+++ b/src/goabackend/goafacebookprovider.h
@@ -21,22 +21,22 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
-#ifndef __GOA_BACKEND_YAHOO_PROVIDER_H__
-#define __GOA_BACKEND_YAHOO_PROVIDER_H__
+#ifndef __GOA_FACEBOOK_PROVIDER_H__
+#define __GOA_FACEBOOK_PROVIDER_H__
-#include <goa/goabackendtypes.h>
+#include <goabackend/goabackendtypes.h>
G_BEGIN_DECLS
-#define GOA_TYPE_BACKEND_YAHOO_PROVIDER (goa_backend_yahoo_provider_get_type ())
-#define GOA_BACKEND_YAHOO_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_YAHOO_PROVIDER, GoaBackendYahooProvider))
-#define GOA_IS_BACKEND_YAHOO_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_YAHOO_PROVIDER))
+#define GOA_TYPE_FACEBOOK_PROVIDER (goa_facebook_provider_get_type ())
+#define GOA_FACEBOOK_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_FACEBOOK_PROVIDER, GoaFacebookProvider))
+#define GOA_IS_FACEBOOK_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_FACEBOOK_PROVIDER))
-GType goa_backend_yahoo_provider_get_type (void) G_GNUC_CONST;
+GType goa_facebook_provider_get_type (void) G_GNUC_CONST;
G_END_DECLS
-#endif /* __GOA_BACKEND_YAHOO_PROVIDER_H__ */
+#endif /* __GOA_FACEBOOK_PROVIDER_H__ */
diff --git a/src/goa/goabackendgoogleprovider.c b/src/goabackend/goagoogleprovider.c
index 0bbd8fb..8653eb8 100644
--- a/src/goa/goabackendgoogleprovider.c
+++ b/src/goabackend/goagoogleprovider.c
@@ -26,42 +26,42 @@
#include <rest/oauth-proxy.h>
#include <json-glib/json-glib.h>
-#include "goabackendprovider.h"
-#include "goabackendoauthprovider.h"
-#include "goabackendgoogleprovider.h"
+#include "goaprovider.h"
+#include "goaoauthprovider.h"
+#include "goagoogleprovider.h"
-#include "goabackendimapmail.h"
-#include "goabackendimapauthoauth.h"
+#include "goaimapmail.h"
+#include "goaimapauthoauth.h"
/**
- * GoaBackendGoogleProvider:
+ * GoaGoogleProvider:
*
- * The #GoaBackendGoogleProvider structure contains only private data and should
+ * The #GoaGoogleProvider structure contains only private data and should
* only be accessed using the provided API.
*/
-struct _GoaBackendGoogleProvider
+struct _GoaGoogleProvider
{
/*< private >*/
- GoaBackendOAuthProvider parent_instance;
+ GoaOAuthProvider parent_instance;
};
-typedef struct _GoaBackendGoogleProviderClass GoaBackendGoogleProviderClass;
+typedef struct _GoaGoogleProviderClass GoaGoogleProviderClass;
-struct _GoaBackendGoogleProviderClass
+struct _GoaGoogleProviderClass
{
- GoaBackendOAuthProviderClass parent_class;
+ GoaOAuthProviderClass parent_class;
};
/**
- * SECTION:goabackendgoogleprovider
- * @title: GoaBackendGoogleProvider
+ * SECTION:goagoogleprovider
+ * @title: GoaGoogleProvider
* @short_description: A provider for Google
*
- * #GoaBackendGoogleProvider is used for handling Google accounts.
+ * #GoaGoogleProvider is used for handling Google accounts.
*/
-G_DEFINE_TYPE_WITH_CODE (GoaBackendGoogleProvider, goa_backend_google_provider, GOA_TYPE_BACKEND_OAUTH_PROVIDER,
- g_io_extension_point_implement (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME,
+G_DEFINE_TYPE_WITH_CODE (GoaGoogleProvider, goa_google_provider, GOA_TYPE_OAUTH_PROVIDER,
+ g_io_extension_point_implement (GOA_PROVIDER_EXTENSION_POINT_NAME,
g_define_type_id,
"google",
0));
@@ -69,37 +69,37 @@ G_DEFINE_TYPE_WITH_CODE (GoaBackendGoogleProvider, goa_backend_google_provider,
/* ---------------------------------------------------------------------------------------------------- */
static const gchar *
-get_provider_type (GoaBackendProvider *_provider)
+get_provider_type (GoaProvider *_provider)
{
return "google";
}
static const gchar *
-get_name (GoaBackendProvider *_provider)
+get_name (GoaProvider *_provider)
{
return _("Google Account");
}
static const gchar *
-get_consumer_key (GoaBackendOAuthProvider *provider)
+get_consumer_key (GoaOAuthProvider *provider)
{
return "anonymous";
}
static const gchar *
-get_consumer_secret (GoaBackendOAuthProvider *provider)
+get_consumer_secret (GoaOAuthProvider *provider)
{
return "anonymous";
}
static const gchar *
-get_request_uri (GoaBackendOAuthProvider *provider)
+get_request_uri (GoaOAuthProvider *provider)
{
return "https://www.google.com/accounts/OAuthGetRequestToken";
}
static gchar **
-get_request_uri_params (GoaBackendOAuthProvider *provider)
+get_request_uri_params (GoaOAuthProvider *provider)
{
GPtrArray *p;
p = g_ptr_array_new ();
@@ -118,21 +118,20 @@ get_request_uri_params (GoaBackendOAuthProvider *provider)
return (gchar **) g_ptr_array_free (p, FALSE);
}
-
static const gchar *
-get_authorization_uri (GoaBackendOAuthProvider *provider)
+get_authorization_uri (GoaOAuthProvider *provider)
{
return "https://www.google.com/accounts/OAuthAuthorizeToken";
}
static const gchar *
-get_token_uri (GoaBackendOAuthProvider *provider)
+get_token_uri (GoaOAuthProvider *provider)
{
return "https://www.google.com/accounts/OAuthGetAccessToken";
}
static const gchar *
-get_callback_uri (GoaBackendOAuthProvider *provider)
+get_callback_uri (GoaOAuthProvider *provider)
{
return "https://www.gnome.org/goa-1.0/oauth";
}
@@ -140,12 +139,12 @@ get_callback_uri (GoaBackendOAuthProvider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-get_identity_sync (GoaBackendOAuthProvider *provider,
- const gchar *access_token,
- const gchar *access_token_secret,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error)
+get_identity_sync (GoaOAuthProvider *provider,
+ const gchar *access_token,
+ const gchar *access_token_secret,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error)
{
RestProxy *proxy;
RestProxyCall *call;
@@ -163,8 +162,8 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* TODO: cancellable */
- proxy = oauth_proxy_new_with_token (goa_backend_oauth_provider_get_consumer_key (provider),
- goa_backend_oauth_provider_get_consumer_secret (provider),
+ proxy = oauth_proxy_new_with_token (goa_oauth_provider_get_consumer_key (provider),
+ goa_oauth_provider_get_consumer_secret (provider),
access_token,
access_token_secret,
"https://www.googleapis.com/userinfo/email",
@@ -235,11 +234,11 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_google_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
GoaAccount *account;
GoaGoogleAccount *google_account;
@@ -254,11 +253,11 @@ goa_backend_google_provider_build_object (GoaBackendProvider *provider,
ret = FALSE;
/* Chain up */
- if (!GOA_BACKEND_PROVIDER_CLASS (goa_backend_google_provider_parent_class)->build_object (provider,
- object,
- key_file,
- group,
- error))
+ if (!GOA_PROVIDER_CLASS (goa_google_provider_parent_class)->build_object (provider,
+ object,
+ key_file,
+ group,
+ error))
goto out;
account = goa_object_get_account (GOA_OBJECT (object));
@@ -286,13 +285,13 @@ goa_backend_google_provider_build_object (GoaBackendProvider *provider,
mail = goa_object_get_mail (GOA_OBJECT (object));
if (mail == NULL)
{
- GoaBackendImapAuth *auth;
+ GoaImapAuth *auth;
gchar *request_uri;
request_uri = g_strdup_printf ("https://mail.google.com/mail/b/%s/imap/", email_address);
- auth = goa_backend_imap_auth_oauth_new (GOA_BACKEND_OAUTH_PROVIDER (provider),
- GOA_OBJECT (object),
- request_uri);
- mail = goa_backend_imap_mail_new ("imap.gmail.com", TRUE, auth);
+ auth = goa_imap_auth_oauth_new (GOA_OAUTH_PROVIDER (provider),
+ GOA_OBJECT (object),
+ request_uri);
+ mail = goa_imap_mail_new ("imap.gmail.com", TRUE, auth);
goa_object_skeleton_set_mail (object, mail);
g_object_unref (auth);
g_free (request_uri);
@@ -314,7 +313,7 @@ goa_backend_google_provider_build_object (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-get_use_external_browser (GoaBackendOAuthProvider *provider)
+get_use_external_browser (GoaOAuthProvider *provider)
{
return FALSE;
}
@@ -322,22 +321,22 @@ get_use_external_browser (GoaBackendOAuthProvider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_google_provider_init (GoaBackendGoogleProvider *client)
+goa_google_provider_init (GoaGoogleProvider *client)
{
}
static void
-goa_backend_google_provider_class_init (GoaBackendGoogleProviderClass *klass)
+goa_google_provider_class_init (GoaGoogleProviderClass *klass)
{
- GoaBackendProviderClass *provider_class;
- GoaBackendOAuthProviderClass *oauth_class;
+ GoaProviderClass *provider_class;
+ GoaOAuthProviderClass *oauth_class;
- provider_class = GOA_BACKEND_PROVIDER_CLASS (klass);
+ provider_class = GOA_PROVIDER_CLASS (klass);
provider_class->get_provider_type = get_provider_type;
provider_class->get_name = get_name;
- provider_class->build_object = goa_backend_google_provider_build_object;
+ provider_class->build_object = build_object;
- oauth_class = GOA_BACKEND_OAUTH_PROVIDER_CLASS (klass);
+ oauth_class = GOA_OAUTH_PROVIDER_CLASS (klass);
oauth_class->get_identity_sync = get_identity_sync;
oauth_class->get_consumer_key = get_consumer_key;
oauth_class->get_consumer_secret = get_consumer_secret;
diff --git a/src/goa/goabackendgoogleprovider.h b/src/goabackend/goagoogleprovider.h
index 74d1265..b7b07d4 100644
--- a/src/goa/goabackendgoogleprovider.h
+++ b/src/goabackend/goagoogleprovider.h
@@ -21,22 +21,22 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
-#ifndef __GOA_BACKEND_GOOGLE_PROVIDER_H__
-#define __GOA_BACKEND_GOOGLE_PROVIDER_H__
+#ifndef __GOA_GOOGLE_PROVIDER_H__
+#define __GOA_GOOGLE_PROVIDER_H__
-#include <goa/goabackendtypes.h>
+#include <goabackend/goabackendtypes.h>
G_BEGIN_DECLS
-#define GOA_TYPE_BACKEND_GOOGLE_PROVIDER (goa_backend_google_provider_get_type ())
-#define GOA_BACKEND_GOOGLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_GOOGLE_PROVIDER, GoaBackendGoogleProvider))
-#define GOA_IS_BACKEND_GOOGLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_GOOGLE_PROVIDER))
+#define GOA_TYPE_GOOGLE_PROVIDER (goa_google_provider_get_type ())
+#define GOA_GOOGLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_GOOGLE_PROVIDER, GoaGoogleProvider))
+#define GOA_IS_GOOGLE_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_GOOGLE_PROVIDER))
-GType goa_backend_google_provider_get_type (void) G_GNUC_CONST;
+GType goa_google_provider_get_type (void) G_GNUC_CONST;
G_END_DECLS
-#endif /* __GOA_BACKEND_GOOGLE_PROVIDER_H__ */
+#endif /* __GOA_GOOGLE_PROVIDER_H__ */
diff --git a/src/goa/goabackendimapauth.c b/src/goabackend/goaimapauth.c
index 2f8f02b..f8d0bf3 100644
--- a/src/goa/goabackendimapauth.c
+++ b/src/goabackend/goaimapauth.c
@@ -24,37 +24,37 @@
#include <glib/gi18n-lib.h>
#include <stdlib.h>
-#include "goabackendimapauth.h"
+#include "goaimapauth.h"
/**
- * SECTION:goabackendimapauth
- * @title: GoaBackendImapAuth
+ * SECTION:goaimapauth
+ * @title: GoaImapAuth
* @short_description: Helper type for authenticating IMAP connections
*
- * #GoaBackendImapAuth is an abstract type used for authenticating
- * IMAP connections. See #GoaBackendImapAuthOAuth for a concrete
+ * #GoaImapAuth is an abstract type used for authenticating
+ * IMAP connections. See #GoaImapAuthOAuth for a concrete
* implementation.
*/
-G_DEFINE_ABSTRACT_TYPE (GoaBackendImapAuth, goa_backend_imap_auth, G_TYPE_OBJECT);
+G_DEFINE_ABSTRACT_TYPE (GoaImapAuth, goa_imap_auth, G_TYPE_OBJECT);
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_imap_auth_init (GoaBackendImapAuth *client)
+goa_imap_auth_init (GoaImapAuth *client)
{
}
static void
-goa_backend_imap_auth_class_init (GoaBackendImapAuthClass *klass)
+goa_imap_auth_class_init (GoaImapAuthClass *klass)
{
}
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_imap_auth_run_sync:
- * @auth: A #GoaBackendImapAuth.
+ * goa_imap_auth_run_sync:
+ * @auth: A #GoaImapAuth.
* @input: A valid #GDataInputStream.
* @output: A valid #GDataOutputStream.
* @cancellable: (allow-none): A #GCancellable or %NULL.
@@ -68,17 +68,17 @@ goa_backend_imap_auth_class_init (GoaBackendImapAuthClass *klass)
* set.
*/
gboolean
-goa_backend_imap_auth_run_sync (GoaBackendImapAuth *auth,
- GDataInputStream *input,
- GDataOutputStream *output,
- GCancellable *cancellable,
- GError **error)
+goa_imap_auth_run_sync (GoaImapAuth *auth,
+ GDataInputStream *input,
+ GDataOutputStream *output,
+ GCancellable *cancellable,
+ GError **error)
{
- g_return_val_if_fail (GOA_IS_BACKEND_IMAP_AUTH (auth), FALSE);
+ g_return_val_if_fail (GOA_IS_IMAP_AUTH (auth), FALSE);
g_return_val_if_fail (G_IS_DATA_INPUT_STREAM (input), FALSE);
g_return_val_if_fail (G_IS_DATA_OUTPUT_STREAM (output), FALSE);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
- return GOA_BACKEND_IMAP_AUTH_GET_CLASS (auth)->run_sync (auth, input, output, cancellable, error);
+ return GOA_IMAP_AUTH_GET_CLASS (auth)->run_sync (auth, input, output, cancellable, error);
}
/* ---------------------------------------------------------------------------------------------------- */
diff --git a/src/goabackend/goaimapauth.h b/src/goabackend/goaimapauth.h
new file mode 100644
index 0000000..b60e08c
--- /dev/null
+++ b/src/goabackend/goaimapauth.h
@@ -0,0 +1,88 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
+#error "Only <goabackend/goabackend.h> can be included directly."
+#endif
+
+#ifndef __GOA_IMAP_AUTH_H__
+#define __GOA_IMAP_AUTH_H__
+
+#include <goabackend/goabackendtypes.h>
+
+G_BEGIN_DECLS
+
+#define GOA_TYPE_IMAP_AUTH (goa_imap_auth_get_type ())
+#define GOA_IMAP_AUTH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_IMAP_AUTH, GoaImapAuth))
+#define GOA_IMAP_AUTH_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_IMAP_AUTH, GoaImapAuthClass))
+#define GOA_IMAP_AUTH_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_IMAP_AUTH, GoaImapAuthClass))
+#define GOA_IS_IMAP_AUTH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_IMAP_AUTH))
+#define GOA_IS_IMAP_AUTH_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_IMAP_AUTH))
+
+struct _GoaImapAuthClass;
+struct _GoaImapAuthPrivate;
+typedef struct _GoaImapAuthClass GoaImapAuthClass;
+typedef struct _GoaImapAuthPrivate GoaImapAuthPrivate;
+
+/**
+ * GoaImapAuth:
+ *
+ * The #GoaImapAuth structure contains only private data and
+ * should only be accessed using the provided API.
+ */
+struct _GoaImapAuth
+{
+ /*< private >*/
+ GObject parent_instance;
+ GoaImapAuthPrivate *priv;
+};
+
+/**
+ * GoaImapAuthClass:
+ * @parent_class: The parent class
+ * @run_sync: Virtual function for the goa_imap_auth_run_sync() method.
+ *
+ * Class structure for #GoaImapAuth.
+ */
+struct _GoaImapAuthClass
+{
+ GObjectClass parent_class;
+ gboolean (*run_sync) (GoaImapAuth *auth,
+ GDataInputStream *input,
+ GDataOutputStream *output,
+ GCancellable *cancellable,
+ GError **error);
+ /*< private >*/
+ /* Padding for future expansion */
+ gpointer goa_reserved[8];
+};
+
+GType goa_imap_auth_get_type (void) G_GNUC_CONST;
+gboolean goa_imap_auth_run_sync (GoaImapAuth *auth,
+ GDataInputStream *input,
+ GDataOutputStream *output,
+ GCancellable *cancellable,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __GOA_IMAP_AUTH_H__ */
diff --git a/src/goa/goabackendimapauthoauth.c b/src/goabackend/goaimapauthoauth.c
index 4c5bed7..5b100f5 100644
--- a/src/goa/goabackendimapauthoauth.c
+++ b/src/goabackend/goaimapauthoauth.c
@@ -24,40 +24,40 @@
#include <glib/gi18n-lib.h>
#include <stdlib.h>
-#include "goabackendimapauth.h"
-#include "goabackendimapauthoauth.h"
-#include "goabackendoauthprovider.h"
+#include "goaimapauth.h"
+#include "goaimapauthoauth.h"
+#include "goaoauthprovider.h"
/**
- * SECTION:goabackendimapauthoauth
- * @title: GoaBackendImapAuthOAuth
+ * SECTION:goaimapauthoauth
+ * @title: GoaImapAuthOAuth
* @short_description: XOAUTH authentication method for IMAP
*
- * #GoaBackendImapAuthOAuth implements the <ulink
+ * #GoaImapAuthOAuth implements the <ulink
* url="http://code.google.com/apis/gmail/oauth/protocol.html">XOAUTH</ulink>
* authentication method for IMAP.
*/
/**
- * GoaBackendImapAuthOAuth:
+ * GoaImapAuthOAuth:
*
- * The #GoaBackendImapAuthOAuth structure contains only private data
+ * The #GoaImapAuthOAuth structure contains only private data
* and should only be accessed using the provided API.
*/
-struct _GoaBackendImapAuthOAuth
+struct _GoaImapAuthOAuth
{
- GoaBackendImapAuth parent_instance;
+ GoaImapAuth parent_instance;
- GoaBackendOAuthProvider *provider;
+ GoaOAuthProvider *provider;
GoaObject *object;
gchar *request_uri;
};
typedef struct
{
- GoaBackendImapAuthClass parent_class;
+ GoaImapAuthClass parent_class;
-} GoaBackendImapAuthOAuthClass;
+} GoaImapAuthOAuthClass;
enum
{
@@ -67,34 +67,34 @@ enum
PROP_REQUEST_URI
};
-static gboolean goa_backend_imap_auth_oauth_run_sync (GoaBackendImapAuth *_auth,
- GDataInputStream *input,
- GDataOutputStream *output,
- GCancellable *cancellable,
- GError **error);
+static gboolean goa_imap_auth_oauth_run_sync (GoaImapAuth *_auth,
+ GDataInputStream *input,
+ GDataOutputStream *output,
+ GCancellable *cancellable,
+ GError **error);
-G_DEFINE_TYPE (GoaBackendImapAuthOAuth, goa_backend_imap_auth_oauth, GOA_TYPE_BACKEND_IMAP_AUTH);
+G_DEFINE_TYPE (GoaImapAuthOAuth, goa_imap_auth_oauth, GOA_TYPE_IMAP_AUTH);
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_imap_auth_oauth_finalize (GObject *object)
+goa_imap_auth_oauth_finalize (GObject *object)
{
- GoaBackendImapAuthOAuth *auth = GOA_BACKEND_IMAP_AUTH_OAUTH (object);
+ GoaImapAuthOAuth *auth = GOA_IMAP_AUTH_OAUTH (object);
g_object_unref (auth->provider);
g_object_unref (auth->object);
- G_OBJECT_CLASS (goa_backend_imap_auth_oauth_parent_class)->finalize (object);
+ G_OBJECT_CLASS (goa_imap_auth_oauth_parent_class)->finalize (object);
}
static void
-goa_backend_imap_auth_oauth_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+goa_imap_auth_oauth_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- GoaBackendImapAuthOAuth *auth = GOA_BACKEND_IMAP_AUTH_OAUTH (object);
+ GoaImapAuthOAuth *auth = GOA_IMAP_AUTH_OAUTH (object);
switch (prop_id)
{
@@ -117,12 +117,12 @@ goa_backend_imap_auth_oauth_get_property (GObject *object,
}
static void
-goa_backend_imap_auth_oauth_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+goa_imap_auth_oauth_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- GoaBackendImapAuthOAuth *auth = GOA_BACKEND_IMAP_AUTH_OAUTH (object);
+ GoaImapAuthOAuth *auth = GOA_IMAP_AUTH_OAUTH (object);
switch (prop_id)
{
@@ -148,42 +148,42 @@ goa_backend_imap_auth_oauth_set_property (GObject *object,
static void
-goa_backend_imap_auth_oauth_init (GoaBackendImapAuthOAuth *client)
+goa_imap_auth_oauth_init (GoaImapAuthOAuth *client)
{
}
static void
-goa_backend_imap_auth_oauth_class_init (GoaBackendImapAuthOAuthClass *klass)
+goa_imap_auth_oauth_class_init (GoaImapAuthOAuthClass *klass)
{
GObjectClass *gobject_class;
- GoaBackendImapAuthClass *auth_class;
+ GoaImapAuthClass *auth_class;
gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = goa_backend_imap_auth_oauth_finalize;
- gobject_class->get_property = goa_backend_imap_auth_oauth_get_property;
- gobject_class->set_property = goa_backend_imap_auth_oauth_set_property;
+ gobject_class->finalize = goa_imap_auth_oauth_finalize;
+ gobject_class->get_property = goa_imap_auth_oauth_get_property;
+ gobject_class->set_property = goa_imap_auth_oauth_set_property;
- auth_class = GOA_BACKEND_IMAP_AUTH_CLASS (klass);
- auth_class->run_sync = goa_backend_imap_auth_oauth_run_sync;
+ auth_class = GOA_IMAP_AUTH_CLASS (klass);
+ auth_class->run_sync = goa_imap_auth_oauth_run_sync;
/**
- * GoaBackendImapAuthOAuth:provider:
+ * GoaImapAuthOAuth:provider:
*
- * The #GoaBackendOAuthProvider object to use when calculating the XOAUTH mechanism parameter.
+ * The #GoaOAuthProvider object to use when calculating the XOAUTH mechanism parameter.
*/
g_object_class_install_property (gobject_class,
PROP_PROVIDER,
g_param_spec_object ("provider",
"provider",
"provider",
- GOA_TYPE_BACKEND_OAUTH_PROVIDER,
+ GOA_TYPE_OAUTH_PROVIDER,
G_PARAM_READABLE |
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
/**
- * GoaBackendImapAuthOAuth:object:
+ * GoaImapAuthOAuth:object:
*
* The #GoaObject object to use when calculating the XOAUTH mechanism parameter.
*/
@@ -199,7 +199,7 @@ goa_backend_imap_auth_oauth_class_init (GoaBackendImapAuthOAuthClass *klass)
G_PARAM_STATIC_STRINGS));
/**
- * GoaBackendImapAuthOAuth:request-uri:
+ * GoaImapAuthOAuth:request-uri:
*
* The request URI to use when calculating the XOAUTH mechanism parameter.
*/
@@ -218,23 +218,23 @@ goa_backend_imap_auth_oauth_class_init (GoaBackendImapAuthOAuthClass *klass)
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_imap_auth_oauth_new:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_imap_auth_oauth_new:
+ * @provider: A #GoaOAuthProvider.
* @object: An account object.
* @request_uri: The request URI to use.
*
- * Creates a new #GoaBackendImapAuth to be used for XOAUTH authentication.
+ * Creates a new #GoaImapAuth to be used for XOAUTH authentication.
*
- * Returns: (type GoaBackendImapAuthOAuth): A #GoaBackendImapAuthOAuth. Free with g_object_unref().
+ * Returns: (type GoaImapAuthOAuth): A #GoaImapAuthOAuth. Free with g_object_unref().
*/
-GoaBackendImapAuth *
-goa_backend_imap_auth_oauth_new (GoaBackendOAuthProvider *provider,
- GoaObject *object,
- const gchar *request_uri)
+GoaImapAuth *
+goa_imap_auth_oauth_new (GoaOAuthProvider *provider,
+ GoaObject *object,
+ const gchar *request_uri)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
g_return_val_if_fail (GOA_IS_OBJECT (object), NULL);
- return GOA_BACKEND_IMAP_AUTH (g_object_new (GOA_TYPE_BACKEND_IMAP_AUTH_OAUTH,
+ return GOA_IMAP_AUTH (g_object_new (GOA_TYPE_IMAP_AUTH_OAUTH,
"provider", provider,
"object", object,
"request-uri", request_uri,
@@ -492,13 +492,13 @@ calculate_xoauth_param (const gchar *request_uri,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_imap_auth_oauth_run_sync (GoaBackendImapAuth *_auth,
- GDataInputStream *input,
- GDataOutputStream *output,
- GCancellable *cancellable,
- GError **error)
+goa_imap_auth_oauth_run_sync (GoaImapAuth *_auth,
+ GDataInputStream *input,
+ GDataOutputStream *output,
+ GCancellable *cancellable,
+ GError **error)
{
- GoaBackendImapAuthOAuth *auth = GOA_BACKEND_IMAP_AUTH_OAUTH (_auth);
+ GoaImapAuthOAuth *auth = GOA_IMAP_AUTH_OAUTH (_auth);
gchar *access_token;
gchar *access_token_secret;
gchar *xoauth_param;
@@ -513,19 +513,19 @@ goa_backend_imap_auth_oauth_run_sync (GoaBackendImapAuth *_auth,
response = NULL;
ret = FALSE;
- access_token = goa_backend_oauth_provider_get_access_token_sync (auth->provider,
- auth->object,
- FALSE, /* force_refresh */
- &access_token_secret,
- NULL, /* out_access_token_expires_in */
- NULL, /* GCancellable */
- error); /* GError */
+ access_token = goa_oauth_provider_get_access_token_sync (auth->provider,
+ auth->object,
+ FALSE, /* force_refresh */
+ &access_token_secret,
+ NULL, /* out_access_token_expires_in */
+ NULL, /* GCancellable */
+ error); /* GError */
if (access_token == NULL)
goto out;
xoauth_param = calculate_xoauth_param (auth->request_uri,
- goa_backend_oauth_provider_get_consumer_key (auth->provider),
- goa_backend_oauth_provider_get_consumer_secret (auth->provider),
+ goa_oauth_provider_get_consumer_key (auth->provider),
+ goa_oauth_provider_get_consumer_secret (auth->provider),
access_token,
access_token_secret,
error);
diff --git a/src/goa/goabackendimapmail.h b/src/goabackend/goaimapauthoauth.h
index 2d87aaf..746c442 100644
--- a/src/goa/goabackendimapmail.h
+++ b/src/goabackend/goaimapauthoauth.h
@@ -21,25 +21,26 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
-#ifndef __GOA_BACKEND_IMAP_MAIL_H__
-#define __GOA_BACKEND_IMAP_MAIL_H__
+#ifndef __GOA_IMAP_AUTH_OAUTH_H__
+#define __GOA_IMAP_AUTH_OAUTH_H__
-#include <goa/goabackendtypes.h>
+#include <goabackend/goabackendtypes.h>
G_BEGIN_DECLS
-#define GOA_TYPE_BACKEND_IMAP_MAIL (goa_backend_imap_mail_get_type ())
-#define GOA_BACKEND_IMAP_MAIL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_IMAP_MAIL, GoaBackendImapMail))
-#define GOA_IS_BACKEND_IMAP_MAIL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_IMAP_MAIL))
+#define GOA_TYPE_IMAP_AUTH_OAUTH (goa_imap_auth_oauth_get_type ())
+#define GOA_IMAP_AUTH_OAUTH(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_IMAP_AUTH_OAUTH, GoaImapAuthOAuth))
+#define GOA_IS_IMAP_AUTH_OAUTH(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_IMAP_AUTH_OAUTH))
-GType goa_backend_imap_mail_get_type (void) G_GNUC_CONST;
-GoaMail *goa_backend_imap_mail_new (const gchar *host_and_port,
- gboolean use_tls,
- GoaBackendImapAuth *auth);
+
+GType goa_imap_auth_oauth_get_type (void) G_GNUC_CONST;
+GoaImapAuth *goa_imap_auth_oauth_new (GoaOAuthProvider *provider,
+ GoaObject *object,
+ const gchar *request_uri);
G_END_DECLS
-#endif /* __GOA_BACKEND_IMAP_MAIL_H__ */
+#endif /* __GOA_IMAP_AUTH_OAUTH_H__ */
diff --git a/src/goa/goabackendimapclient.c b/src/goabackend/goaimapclient.c
index 0c30e4c..73c3c36 100644
--- a/src/goa/goabackendimapclient.c
+++ b/src/goabackend/goaimapclient.c
@@ -24,19 +24,19 @@
#include <glib/gi18n-lib.h>
#include <stdlib.h>
-#include "goabackendimapauth.h"
-#include "goabackendimapclient.h"
+#include "goaimapauth.h"
+#include "goaimapclient.h"
/* The timeout used for non-IDLE commands */
#define COMMAND_TIMEOUT_SEC 30
/**
- * GoaBackendImapClient:
+ * GoaImapClient:
*
- * The #GoaBackendImapClient structure contains only private data and should
+ * The #GoaImapClient structure contains only private data and should
* only be accessed using the provided API.
*/
-struct _GoaBackendImapClient
+struct _GoaImapClient
{
/*< private >*/
GObject parent_instance;
@@ -54,21 +54,21 @@ struct _GoaBackendImapClient
GMutex *lock;
};
-typedef struct _GoaBackendImapClientClass GoaBackendImapClientClass;
+typedef struct _GoaImapClientClass GoaImapClientClass;
-struct _GoaBackendImapClientClass
+struct _GoaImapClientClass
{
GObjectClass parent_class;
- void (*untagged_response) (GoaBackendImapClient *client,
+ void (*untagged_response) (GoaImapClient *client,
const gchar *response);
};
/**
- * SECTION:goabackendimapclient
- * @title: GoaBackendImapClient
+ * SECTION:goaimapclient
+ * @title: GoaImapClient
* @short_description: A simple IMAP client
*
- * #GoaBackendImapClient provides a way to talk to
+ * #GoaImapClient provides a way to talk to
* <ulink url="http://tools.ietf.org/html/rfc3501">IMAP</ulink>
* servers.
*/
@@ -81,14 +81,14 @@ enum
static guint signals[LAST_SIGNAL] = {0};
-G_DEFINE_TYPE (GoaBackendImapClient, goa_backend_imap_client, G_TYPE_OBJECT);
+G_DEFINE_TYPE (GoaImapClient, goa_imap_client, G_TYPE_OBJECT);
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_imap_client_finalize (GObject *object)
+goa_imap_client_finalize (GObject *object)
{
- GoaBackendImapClient *client = GOA_BACKEND_IMAP_CLIENT (object);
+ GoaImapClient *client = GOA_IMAP_CLIENT (object);
g_clear_object (&client->sc);
g_clear_object (&client->c);
@@ -96,26 +96,26 @@ goa_backend_imap_client_finalize (GObject *object)
g_clear_object (&client->dos);
g_mutex_free (client->lock);
- G_OBJECT_CLASS (goa_backend_imap_client_parent_class)->finalize (object);
+ G_OBJECT_CLASS (goa_imap_client_parent_class)->finalize (object);
}
static void
-goa_backend_imap_client_init (GoaBackendImapClient *client)
+goa_imap_client_init (GoaImapClient *client)
{
client->lock = g_mutex_new ();
}
static void
-goa_backend_imap_client_class_init (GoaBackendImapClientClass *klass)
+goa_imap_client_class_init (GoaImapClientClass *klass)
{
GObjectClass *gobject_class;
gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = goa_backend_imap_client_finalize;
+ gobject_class->finalize = goa_imap_client_finalize;
/**
- * GoaBackendImapClient::untagged-response:
- * @client: The #GoaBackendImapClient emitting the signal.
+ * GoaImapClient::untagged-response:
+ * @client: The #GoaImapClient emitting the signal.
* @untagged_response: The untagged response.
*
* Signal emitted every an <ulink
@@ -123,13 +123,13 @@ goa_backend_imap_client_class_init (GoaBackendImapClientClass *klass)
* response</ulink> has been received.
*
* This signal is emitted in the same thread that calls the
- * goa_backend_imap_client_run_command_sync() method.
+ * goa_imap_client_run_command_sync() method.
*/
signals[UNTAGGED_RESPONSE_SIGNAL] =
g_signal_new ("untagged-response",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GoaBackendImapClientClass, untagged_response),
+ G_STRUCT_OFFSET (GoaImapClientClass, untagged_response),
NULL,
NULL,
g_cclosure_marshal_VOID__STRING,
@@ -141,37 +141,37 @@ goa_backend_imap_client_class_init (GoaBackendImapClientClass *klass)
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_imap_client_new:
+ * goa_imap_client_new:
*
- * Creates a new #GoaBackendImapClient instance.
+ * Creates a new #GoaImapClient instance.
*
* Typical usage includes connecting to the
- * #GoaBackendImapClient::untagged-response signals and then invoking
- * goa_backend_imap_client_connect_sync().
+ * #GoaImapClient::untagged-response signals and then invoking
+ * goa_imap_client_connect_sync().
*
- * You can then use goa_backend_imap_client_connect_sync(),
- * goa_backend_imap_client_idle_sync() and the
- * #GoaBackendImapClient::untagged-response handler to interact with
+ * You can then use goa_imap_client_connect_sync(),
+ * goa_imap_client_idle_sync() and the
+ * #GoaImapClient::untagged-response handler to interact with
* the IMAP server. If the connection fails then the appropriate error
* e.g. #G_IO_ERROR_TIMED_OUT or %G_IO_ERROR_NETWORK_UNREACHABLE is
* returned.
*
* You can only make a single successful connection with each
- * #GoaBackendImapClient instance - just create a new instance if the
+ * #GoaImapClient instance - just create a new instance if the
* connection breaks and you need to reconnect.
*
- * Returns: (transfer full): A #GoaBackendImapClient that should be freed with g_object_unref().
+ * Returns: (transfer full): A #GoaImapClient that should be freed with g_object_unref().
*/
-GoaBackendImapClient *
-goa_backend_imap_client_new (void)
+GoaImapClient *
+goa_imap_client_new (void)
{
- return GOA_BACKEND_IMAP_CLIENT (g_object_new (GOA_TYPE_BACKEND_IMAP_CLIENT, NULL));
+ return GOA_IMAP_CLIENT (g_object_new (GOA_TYPE_IMAP_CLIENT, NULL));
}
/**
- * goa_backend_imap_client_connect_sync:
- * @client: A #GoaBackendImapClient.
+ * goa_imap_client_connect_sync:
+ * @client: A #GoaImapClient.
* @host_and_port: The name and optionally port to connect to.
* @use_tls: Whether TLS should be used.
* @auth: Object used for authenticating the connection.
@@ -186,18 +186,18 @@ goa_backend_imap_client_new (void)
* worked, %FALSE if @error is set.
*/
gboolean
-goa_backend_imap_client_connect_sync (GoaBackendImapClient *client,
- const gchar *host_and_port,
- gboolean use_tls,
- GoaBackendImapAuth *auth,
- GCancellable *cancellable,
- GError **error)
+goa_imap_client_connect_sync (GoaImapClient *client,
+ const gchar *host_and_port,
+ gboolean use_tls,
+ GoaImapAuth *auth,
+ GCancellable *cancellable,
+ GError **error)
{
gboolean ret;
- g_return_val_if_fail (GOA_IS_BACKEND_IMAP_CLIENT (client), FALSE);
+ g_return_val_if_fail (GOA_IS_IMAP_CLIENT (client), FALSE);
g_return_val_if_fail (host_and_port != NULL, FALSE);
- g_return_val_if_fail (GOA_IS_BACKEND_IMAP_AUTH (auth), FALSE);
+ g_return_val_if_fail (GOA_IS_IMAP_AUTH (auth), FALSE);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
@@ -238,7 +238,7 @@ goa_backend_imap_client_connect_sync (GoaBackendImapClient *client,
g_data_input_stream_set_newline_type (client->dis, G_DATA_STREAM_NEWLINE_TYPE_CR_LF);
/* Authenticate via the passed in auth helper */
- if (!goa_backend_imap_auth_run_sync (auth,
+ if (!goa_imap_auth_run_sync (auth,
client->dis,
client->dos,
cancellable,
@@ -263,8 +263,8 @@ goa_backend_imap_client_connect_sync (GoaBackendImapClient *client,
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_imap_client_run_command_sync:
- * @client: A #GoaBackendImapClient.
+ * goa_imap_client_run_command_sync:
+ * @client: A #GoaImapClient.
* @command: The command to run.
* @cancellable: A #GCancellable or %NULL.
* @error: Return location for error.
@@ -285,13 +285,13 @@ goa_backend_imap_client_connect_sync (GoaBackendImapClient *client,
* <literal>DONE</literal> is written out automatically.
* While this method <emphasis>can</emphasis> be used for to submit
* the <literal>IDLE</literal> IMAP command, the
- * goa_backend_imap_client_idle_sync() method should be used instead.
+ * goa_imap_client_idle_sync() method should be used instead.
*
* The timeout on the underlying socket will be set to 30 seconds
* except for the the <literal>IDLE</literal> command which never
* times out.
*
- * Note that #GoaBackendImapClient::untagged-response signals are
+ * Note that #GoaImapClient::untagged-response signals are
* emitted in the <emphasis role="strong">same</emphasis> thread that
* you call this method from - not the
* <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
@@ -301,10 +301,10 @@ goa_backend_imap_client_connect_sync (GoaBackendImapClient *client,
* Returns: The response or %NULL if error is set.
*/
gchar *
-goa_backend_imap_client_run_command_sync (GoaBackendImapClient *client,
- const gchar *command,
- GCancellable *cancellable,
- GError **error)
+goa_imap_client_run_command_sync (GoaImapClient *client,
+ const gchar *command,
+ GCancellable *cancellable,
+ GError **error)
{
gchar *s;
gchar *tag;
@@ -315,7 +315,7 @@ goa_backend_imap_client_run_command_sync (GoaBackendImapClient *client,
gboolean idle_has_sent_done;
GError *local_error;
- g_return_val_if_fail (GOA_IS_BACKEND_IMAP_CLIENT (client), NULL);
+ g_return_val_if_fail (GOA_IS_IMAP_CLIENT (client), NULL);
g_return_val_if_fail (command != NULL, NULL);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
@@ -514,7 +514,7 @@ goa_backend_imap_client_run_command_sync (GoaBackendImapClient *client,
typedef struct
{
- GoaBackendImapClient *client;
+ GoaImapClient *client;
GCancellable *local_cancellable;
gboolean timed_out;
} IdleData;
@@ -554,8 +554,8 @@ cancelled_while_idling_cb (GCancellable *cancellable,
}
/**
- * goa_backend_imap_client_idle_sync:
- * @client: A #GoaBackendImapClient.
+ * goa_imap_client_idle_sync:
+ * @client: A #GoaImapClient.
* @max_idle_seconds: Max number of seconds to idle for. This should be no longer than 29 minutes.
* @cancellable: (allow-none): A #GCancellable or %NULL.
* @error: Return location for error or %NULL.
@@ -572,7 +572,7 @@ cancelled_while_idling_cb (GCancellable *cancellable,
* url="http://tools.ietf.org/html/rfc2177">IDLE</ulink> command then
* it is used. Otherwise: TODO: handle servers not using IMAP IDLE.
*
- * Note that #GoaBackendImapClient::untagged-response signals are
+ * Note that #GoaImapClient::untagged-response signals are
* emitted in the <emphasis role="strong">same</emphasis> thread that
* you call this method from - not the
* <link linkend="g-main-context-push-thread-default">thread-default main loop</link>
@@ -582,10 +582,10 @@ cancelled_while_idling_cb (GCancellable *cancellable,
* Returns: %TRUE if the request completed, %FALSE if @error is set.
*/
gboolean
-goa_backend_imap_client_idle_sync (GoaBackendImapClient *client,
- guint max_idle_seconds,
- GCancellable *cancellable,
- GError **error)
+goa_imap_client_idle_sync (GoaImapClient *client,
+ guint max_idle_seconds,
+ GCancellable *cancellable,
+ GError **error)
{
GError *local_error;
gboolean ret;
@@ -594,7 +594,7 @@ goa_backend_imap_client_idle_sync (GoaBackendImapClient *client,
IdleData data;
gulong cancelled_id;
- g_return_val_if_fail (GOA_IS_BACKEND_IMAP_CLIENT (client), FALSE);
+ g_return_val_if_fail (GOA_IS_IMAP_CLIENT (client), FALSE);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
@@ -627,7 +627,7 @@ goa_backend_imap_client_idle_sync (GoaBackendImapClient *client,
* (TODO: actually handle IDLE not being available)
*/
local_error = NULL;
- response = goa_backend_imap_client_run_command_sync (client,
+ response = goa_imap_client_run_command_sync (client,
"IDLE",
data.local_cancellable,
&local_error);
@@ -662,8 +662,8 @@ goa_backend_imap_client_idle_sync (GoaBackendImapClient *client,
}
/**
- * goa_backend_imap_client_disconnect_sync:
- * @client: A #GoaBackendImapClient.
+ * goa_imap_client_disconnect_sync:
+ * @client: A #GoaImapClient.
* @cancellable: (allow-none): A #GCancellable or %NULL.
* @error: Return location for error or %NULL.
*
@@ -673,13 +673,13 @@ goa_backend_imap_client_idle_sync (GoaBackendImapClient *client,
* Returns: %TRUE if the connection was closed, %FALSE if @error is set.
*/
gboolean
-goa_backend_imap_client_disconnect_sync (GoaBackendImapClient *client,
- GCancellable *cancellable,
- GError **error)
+goa_imap_client_disconnect_sync (GoaImapClient *client,
+ GCancellable *cancellable,
+ GError **error)
{
gboolean ret;
- g_return_val_if_fail (GOA_IS_BACKEND_IMAP_CLIENT (client), FALSE);
+ g_return_val_if_fail (GOA_IS_IMAP_CLIENT (client), FALSE);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
diff --git a/src/goabackend/goaimapclient.h b/src/goabackend/goaimapclient.h
new file mode 100644
index 0000000..0a9f2ea
--- /dev/null
+++ b/src/goabackend/goaimapclient.h
@@ -0,0 +1,63 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
+#error "Only <goabackend/goabackend.h> can be included directly."
+#endif
+
+#ifndef __GOA_IMAP_CLIENT_H__
+#define __GOA_IMAP_CLIENT_H__
+
+#include <goabackend/goabackendtypes.h>
+
+G_BEGIN_DECLS
+
+#define GOA_TYPE_IMAP_CLIENT (goa_imap_client_get_type ())
+#define GOA_IMAP_CLIENT(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_IMAP_CLIENT, GoaImapClient))
+#define GOA_IS_IMAP_CLIENT(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_IMAP_CLIENT))
+
+GType goa_imap_client_get_type (void) G_GNUC_CONST;
+GoaImapClient *goa_imap_client_new (void);
+gboolean goa_imap_client_connect_sync (GoaImapClient *client,
+ const gchar *host_and_port,
+ gboolean use_tls,
+ GoaImapAuth *auth,
+ GCancellable *cancellable,
+ GError **error);
+gchar *goa_imap_client_run_command_sync (GoaImapClient *client,
+ const gchar *command,
+ GCancellable *cancellable,
+ GError **error);
+gboolean goa_imap_client_idle_sync (GoaImapClient *client,
+ guint max_idle_seconds,
+ GCancellable *cancellable,
+ GError **error);
+gboolean goa_imap_client_disconnect_sync (GoaImapClient *client,
+ GCancellable *cancellable,
+ GError **error);
+
+// TODO: gint goa_imap_client_get_socket_fd (GoaImapClient *client);
+
+
+G_END_DECLS
+
+#endif /* __GOA_IMAP_CLIENT_H__ */
diff --git a/src/goa/goabackendimapmail.c b/src/goabackend/goaimapmail.c
index f52617b..c3f7c8d 100644
--- a/src/goa/goabackendimapmail.c
+++ b/src/goabackend/goaimapmail.c
@@ -28,29 +28,29 @@
#include <json-glib/json-glib.h>
#include <stdlib.h>
-#include "goabackendimapauth.h"
-#include "goabackendimapclient.h"
-#include "goabackendimapmail.h"
+#include "goaimapauth.h"
+#include "goaimapclient.h"
+#include "goaimapmail.h"
/**
- * GoaBackendImapMail:
+ * GoaImapMail:
*
- * The #GoaBackendImapMail structure contains only private data and should
+ * The #GoaImapMail structure contains only private data and should
* only be accessed using the provided API.
*/
-struct _GoaBackendImapMail
+struct _GoaImapMail
{
/*< private >*/
GoaMailSkeleton parent_instance;
gchar *host_and_port;
gboolean use_tls;
- GoaBackendImapAuth *auth;
+ GoaImapAuth *auth;
};
-typedef struct _GoaBackendImapMailClass GoaBackendImapMailClass;
+typedef struct _GoaImapMailClass GoaImapMailClass;
-struct _GoaBackendImapMailClass
+struct _GoaImapMailClass
{
GoaMailSkeletonClass parent_class;
};
@@ -64,40 +64,40 @@ enum
};
/**
- * SECTION:goabackendimapmail
- * @title: GoaBackendImapMail
+ * SECTION:goaimapmail
+ * @title: GoaImapMail
* @short_description: Implementation of the #GoaMail interface for IMAP servers
*
- * #GoaBackendImapMail is an implementation of the #GoaMail D-Bus
- * interface that uses a #GoaBackendImapClient instance to speak to a
+ * #GoaImapMail is an implementation of the #GoaMail D-Bus
+ * interface that uses a #GoaImapClient instance to speak to a
* remote IMAP server.
*/
-static void goa_backend_imap_mail__goa_mail_iface_init (GoaMailIface *iface);
+static void goa_imap_mail__goa_mail_iface_init (GoaMailIface *iface);
-G_DEFINE_TYPE_WITH_CODE (GoaBackendImapMail, goa_backend_imap_mail, GOA_TYPE_MAIL_SKELETON,
- G_IMPLEMENT_INTERFACE (GOA_TYPE_MAIL, goa_backend_imap_mail__goa_mail_iface_init));
+G_DEFINE_TYPE_WITH_CODE (GoaImapMail, goa_imap_mail, GOA_TYPE_MAIL_SKELETON,
+ G_IMPLEMENT_INTERFACE (GOA_TYPE_MAIL, goa_imap_mail__goa_mail_iface_init));
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_imap_mail_finalize (GObject *object)
+goa_imap_mail_finalize (GObject *object)
{
- GoaBackendImapMail *mail = GOA_BACKEND_IMAP_MAIL (object);
+ GoaImapMail *mail = GOA_IMAP_MAIL (object);
g_free (mail->host_and_port);
g_object_unref (mail->auth);
- G_OBJECT_CLASS (goa_backend_imap_mail_parent_class)->finalize (object);
+ G_OBJECT_CLASS (goa_imap_mail_parent_class)->finalize (object);
}
static void
-goa_backend_imap_mail_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+goa_imap_mail_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- GoaBackendImapMail *mail = GOA_BACKEND_IMAP_MAIL (object);
+ GoaImapMail *mail = GOA_IMAP_MAIL (object);
switch (prop_id)
{
@@ -120,12 +120,12 @@ goa_backend_imap_mail_get_property (GObject *object,
}
static void
-goa_backend_imap_mail_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+goa_imap_mail_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- GoaBackendImapMail *mail = GOA_BACKEND_IMAP_MAIL (object);
+ GoaImapMail *mail = GOA_IMAP_MAIL (object);
switch (prop_id)
{
@@ -148,7 +148,7 @@ goa_backend_imap_mail_set_property (GObject *object,
}
static void
-goa_backend_imap_mail_init (GoaBackendImapMail *mail)
+goa_imap_mail_init (GoaImapMail *mail)
{
/* Ensure D-Bus method invocations run in their own thread */
g_dbus_interface_skeleton_set_flags (G_DBUS_INTERFACE_SKELETON (mail),
@@ -156,14 +156,14 @@ goa_backend_imap_mail_init (GoaBackendImapMail *mail)
}
static void
-goa_backend_imap_mail_class_init (GoaBackendImapMailClass *klass)
+goa_imap_mail_class_init (GoaImapMailClass *klass)
{
GObjectClass *gobject_class;
gobject_class = G_OBJECT_CLASS (klass);
- gobject_class->finalize = goa_backend_imap_mail_finalize;
- gobject_class->set_property = goa_backend_imap_mail_set_property;
- gobject_class->get_property = goa_backend_imap_mail_get_property;
+ gobject_class->finalize = goa_imap_mail_finalize;
+ gobject_class->set_property = goa_imap_mail_set_property;
+ gobject_class->get_property = goa_imap_mail_get_property;
g_object_class_install_property (gobject_class,
PROP_HOST_AND_PORT,
@@ -192,7 +192,7 @@ goa_backend_imap_mail_class_init (GoaBackendImapMailClass *klass)
g_param_spec_object ("auth",
"auth",
"auth",
- GOA_TYPE_BACKEND_IMAP_AUTH,
+ GOA_TYPE_IMAP_AUTH,
G_PARAM_READABLE |
G_PARAM_WRITABLE |
G_PARAM_CONSTRUCT_ONLY |
@@ -202,22 +202,22 @@ goa_backend_imap_mail_class_init (GoaBackendImapMailClass *klass)
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_imap_mail_new:
+ * goa_imap_mail_new:
* @host_and_port: The name and optionally port to connect to.
* @use_tls: Whether TLS should be used.
* @auth: Object used for authenticating the connection.
*
* Creates a new #GoaMail object.
*
- * Returns: (type GoaBackendImapMail): A new #GoaMail instance.
+ * Returns: (type GoaImapMail): A new #GoaMail instance.
*/
GoaMail *
-goa_backend_imap_mail_new (const gchar *host_and_port,
- gboolean use_tls,
- GoaBackendImapAuth *auth)
+goa_imap_mail_new (const gchar *host_and_port,
+ gboolean use_tls,
+ GoaImapAuth *auth)
{
g_return_val_if_fail (host_and_port != NULL, NULL);
- return GOA_MAIL (g_object_new (GOA_TYPE_BACKEND_IMAP_MAIL,
+ return GOA_MAIL (g_object_new (GOA_TYPE_IMAP_MAIL,
"host-and-port", host_and_port,
"use-tls", use_tls,
"auth", auth,
@@ -230,7 +230,7 @@ typedef struct
{
volatile gint ref_count;
- GoaBackendImapMail *mail;
+ GoaImapMail *mail;
GoaMailMonitor *monitor;
/* Used so we can nuke the monitor if the creator vanishes */
@@ -602,9 +602,9 @@ imap_client_handle_fetch_response (ImapClientData *data,
}
static void
-imap_client_on_untagged_response (GoaBackendImapClient *client,
- const gchar *response,
- gpointer user_data)
+imap_client_on_untagged_response (GoaImapClient *client,
+ const gchar *response,
+ gpointer user_data)
{
ImapClientData *data = user_data;
gchar s[64+1];
@@ -644,18 +644,18 @@ imap_client_sync_single (ImapClientData *data)
{
GError *error;
gchar *response;
- GoaBackendImapClient *client;
+ GoaImapClient *client;
/* Get ourselves an IMAP client and connect to the server */
data->num_exists = -1;
- client = goa_backend_imap_client_new ();
+ client = goa_imap_client_new ();
error = NULL;
- if (!goa_backend_imap_client_connect_sync (client,
- data->monitor_data->mail->host_and_port,
- data->monitor_data->mail->use_tls,
- data->monitor_data->mail->auth,
- NULL, /* GCancellable */
- &error))
+ if (!goa_imap_client_connect_sync (client,
+ data->monitor_data->mail->host_and_port,
+ data->monitor_data->mail->use_tls,
+ data->monitor_data->mail->auth,
+ NULL, /* GCancellable */
+ &error))
goto out;
/* Houston, we have a connection */
@@ -668,10 +668,10 @@ imap_client_sync_single (ImapClientData *data)
/* First, select the INBOX - this is guaranteed to emit the EXISTS untagged response */
error = NULL;
- response = goa_backend_imap_client_run_command_sync (client,
- "SELECT INBOX",
- NULL, /* GCancellable */
- &error);
+ response = goa_imap_client_run_command_sync (client,
+ "SELECT INBOX",
+ NULL, /* GCancellable */
+ &error);
if (response == NULL)
goto out;
g_free (response);
@@ -694,10 +694,10 @@ imap_client_sync_single (ImapClientData *data)
/* If the connection is closed/severed, this is the way we find out since
* the IDLE command submitted above disables timeouts
*/
- response = goa_backend_imap_client_run_command_sync (client,
- "NOOP",
- NULL, /* GCancellable */
- &error);
+ response = goa_imap_client_run_command_sync (client,
+ "NOOP",
+ NULL, /* GCancellable */
+ &error);
if (response == NULL)
goto out;
g_free (response);
@@ -728,7 +728,7 @@ imap_client_sync_single (ImapClientData *data)
"BODY.PEEK[TEXT]<0.1000>"
")");
error = NULL;
- response = goa_backend_imap_client_run_command_sync (client,
+ response = goa_imap_client_run_command_sync (client,
request_str->str,
NULL, /* GCancellable */
&error);
@@ -749,10 +749,10 @@ imap_client_sync_single (ImapClientData *data)
* in RFC 2177: http://tools.ietf.org/html/rfc2177
*/
error = NULL;
- if (!goa_backend_imap_client_idle_sync (client,
- 25 * 60,
- data->monitor_data->imap_cancellable,
- &error))
+ if (!goa_imap_client_idle_sync (client,
+ 25 * 60,
+ data->monitor_data->imap_cancellable,
+ &error))
{
if (error->domain == G_IO_ERROR && error->code == G_IO_ERROR_CANCELLED)
{
@@ -795,9 +795,9 @@ imap_client_sync_single (ImapClientData *data)
G_CALLBACK (imap_client_on_untagged_response),
data);
error = NULL;
- if (!goa_backend_imap_client_disconnect_sync (client,
- NULL, /* GCancellable */
- &error))
+ if (!goa_imap_client_disconnect_sync (client,
+ NULL, /* GCancellable */
+ &error))
{
g_warning ("%s:Error closing connection: %s (%s, %d)",
G_STRFUNC,
@@ -972,7 +972,7 @@ static gboolean
handle_create_monitor (GoaMail *_mail,
GDBusMethodInvocation *invocation)
{
- GoaBackendImapMail *mail = GOA_BACKEND_IMAP_MAIL (_mail);
+ GoaImapMail *mail = GOA_IMAP_MAIL (_mail);
gchar *monitor_object_path;
GError *error;
MonitorData *data;
@@ -1050,7 +1050,7 @@ handle_create_monitor (GoaMail *_mail,
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_imap_mail__goa_mail_iface_init (GoaMailIface *iface)
+goa_imap_mail__goa_mail_iface_init (GoaMailIface *iface)
{
iface->handle_create_monitor = handle_create_monitor;
}
diff --git a/src/goa/goabackendtwitterprovider.h b/src/goabackend/goaimapmail.h
index 89a37ff..6f30fee 100644
--- a/src/goa/goabackendtwitterprovider.h
+++ b/src/goabackend/goaimapmail.h
@@ -21,22 +21,25 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
-#ifndef __GOA_BACKEND_TWITTER_PROVIDER_H__
-#define __GOA_BACKEND_TWITTER_PROVIDER_H__
+#ifndef __GOA_IMAP_MAIL_H__
+#define __GOA_IMAP_MAIL_H__
-#include <goa/goabackendtypes.h>
+#include <goabackend/goabackendtypes.h>
G_BEGIN_DECLS
-#define GOA_TYPE_BACKEND_TWITTER_PROVIDER (goa_backend_twitter_provider_get_type ())
-#define GOA_BACKEND_TWITTER_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_TWITTER_PROVIDER, GoaBackendTwitterProvider))
-#define GOA_IS_BACKEND_TWITTER_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_TWITTER_PROVIDER))
+#define GOA_TYPE_IMAP_MAIL (goa_imap_mail_get_type ())
+#define GOA_IMAP_MAIL(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_IMAP_MAIL, GoaImapMail))
+#define GOA_IS_IMAP_MAIL(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_IMAP_MAIL))
-GType goa_backend_twitter_provider_get_type (void) G_GNUC_CONST;
+GType goa_imap_mail_get_type (void) G_GNUC_CONST;
+GoaMail *goa_imap_mail_new (const gchar *host_and_port,
+ gboolean use_tls,
+ GoaImapAuth *auth);
G_END_DECLS
-#endif /* __GOA_BACKEND_TWITTER_PROVIDER_H__ */
+#endif /* __GOA_IMAP_MAIL_H__ */
diff --git a/src/goa/goabackendoauth2provider.c b/src/goabackend/goaoauth2provider.c
index 4713d53..74cc6c1 100644
--- a/src/goa/goabackendoauth2provider.c
+++ b/src/goabackend/goaoauth2provider.c
@@ -28,42 +28,42 @@
#include <webkit/webkit.h>
#include <json-glib/json-glib.h>
-#include "goabackendprovider.h"
-#include "goabackendoauth2provider.h"
+#include "goaprovider.h"
+#include "goaoauth2provider.h"
/**
- * SECTION:goabackendoauth2provider
- * @title: GoaBackendOAuth2Provider
+ * SECTION:goaoauth2provider
+ * @title: GoaOAuth2Provider
* @short_description: Abstract base class for OAuth 2.0 providers
*
- * #GoaBackendOAuth2Provider is an abstract base class for <ulink
+ * #GoaOAuth2Provider is an abstract base class for <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15">OAuth
* 2.0</ulink> based providers.
*
* Subclasses must implement
- * #GoaBackendOAuth2ProviderClass.get_authorization_uri,
- * #GoaBackendOAuth2ProviderClass.get_token_uri,
- * #GoaBackendOAuth2ProviderClass.get_redirect_uri,
- * #GoaBackendOAuth2ProviderClass.get_scope,
- * #GoaBackendOAuth2ProviderClass.get_client_id,
- * #GoaBackendOAuth2ProviderClass.get_client_secret and
- * #GoaBackendOAuth2ProviderClass.get_identity_sync methods.
+ * #GoaOAuth2ProviderClass.get_authorization_uri,
+ * #GoaOAuth2ProviderClass.get_token_uri,
+ * #GoaOAuth2ProviderClass.get_redirect_uri,
+ * #GoaOAuth2ProviderClass.get_scope,
+ * #GoaOAuth2ProviderClass.get_client_id,
+ * #GoaOAuth2ProviderClass.get_client_secret and
+ * #GoaOAuth2ProviderClass.get_identity_sync methods.
*
* Additionally, the
- * #GoaBackendProviderClass.get_provider_type,
- * #GoaBackendProviderClass.get_name,
- * #GoaBackendProviderClass.build_object (this should chain up to its
+ * #GoaProviderClass.get_provider_type,
+ * #GoaProviderClass.get_name,
+ * #GoaProviderClass.build_object (this should chain up to its
* parent class) methods must be implemented.
*
- * Note that the #GoaBackendProviderClass.add_account,
- * #GoaBackendProviderClass.refresh_account and
- * #GoaBackendProviderClass.ensure_credentials_sync methods do not
+ * Note that the #GoaProviderClass.add_account,
+ * #GoaProviderClass.refresh_account and
+ * #GoaProviderClass.ensure_credentials_sync methods do not
* need to be implemented - this type implements these methods..
*/
G_LOCK_DEFINE_STATIC (provider_lock);
-G_DEFINE_ABSTRACT_TYPE (GoaBackendOAuth2Provider, goa_backend_oauth2_provider, GOA_TYPE_BACKEND_PROVIDER);
+G_DEFINE_ABSTRACT_TYPE (GoaOAuth2Provider, goa_oauth2_provider, GOA_TYPE_PROVIDER);
static gboolean
is_authorization_error (GError *error)
@@ -84,21 +84,21 @@ is_authorization_error (GError *error)
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_oauth2_provider_get_use_external_browser_default (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_use_external_browser_default (GoaOAuth2Provider *provider)
{
return FALSE;
}
/**
- * goa_backend_oauth2_provider_get_use_external_browser:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_use_external_browser:
+ * @provider: A #GoaOAuth2Provider.
*
* Returns whether an external browser (the users default browser)
* should be used for user interaction.
*
* If an external browser is used, then the dialogs presented in
- * goa_backend_provider_add_account() and
- * goa_backend_provider_refresh_account() will show a simple "Paste
+ * goa_provider_add_account() and
+ * goa_provider_refresh_account() will show a simple "Paste
* authorization code here" instructions along with an entry and
* button.
*
@@ -109,20 +109,20 @@ goa_backend_oauth2_provider_get_use_external_browser_default (GoaBackendOAuth2Pr
* browser, %FALSE to use an embedded browser widget.
*/
gboolean
-goa_backend_oauth2_provider_get_use_external_browser (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_use_external_browser (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), FALSE);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_use_external_browser (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), FALSE);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_use_external_browser (provider);
}
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-goa_backend_oauth2_provider_build_authorization_uri_default (GoaBackendOAuth2Provider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_redirect_uri,
- const gchar *escaped_client_id,
- const gchar *escaped_scope)
+goa_oauth2_provider_build_authorization_uri_default (GoaOAuth2Provider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_redirect_uri,
+ const gchar *escaped_client_id,
+ const gchar *escaped_scope)
{
return g_strdup_printf ("%s"
"?response_type=code"
@@ -136,8 +136,8 @@ goa_backend_oauth2_provider_build_authorization_uri_default (GoaBackendOAuth2Pro
}
/**
- * goa_backend_oauth2_provider_build_authorization_uri:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_build_authorization_uri:
+ * @provider: A #GoaOAuth2Provider.
* @authorization_uri: An authorization URI.
* @escaped_redirect_uri: An escaped redirect URI
* @escaped_client_id: An escaped client id
@@ -153,25 +153,25 @@ goa_backend_oauth2_provider_build_authorization_uri_default (GoaBackendOAuth2Pro
*
* The @authorization_uri, @escaped_redirect_uri, @escaped_client_id
* and @escaped_scope parameters originate from the result of the
- * the goa_backend_oauth2_provider_get_authorization_uri(), goa_backend_oauth2_provider_get_redirect_uri(), goa_backend_oauth2_provider_get_client_id()
- * and goa_backend_oauth2_provider_get_scope() methods with the latter
+ * the goa_oauth2_provider_get_authorization_uri(), goa_oauth2_provider_get_redirect_uri(), goa_oauth2_provider_get_client_id()
+ * and goa_oauth2_provider_get_scope() methods with the latter
* three escaped using g_uri_escape_string().
*
* Returns: (transfer full): An authorization URI that must be freed with g_free().
*/
gchar *
-goa_backend_oauth2_provider_build_authorization_uri (GoaBackendOAuth2Provider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_redirect_uri,
- const gchar *escaped_client_id,
- const gchar *escaped_scope)
+goa_oauth2_provider_build_authorization_uri (GoaOAuth2Provider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_redirect_uri,
+ const gchar *escaped_client_id,
+ const gchar *escaped_scope)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
g_return_val_if_fail (authorization_uri != NULL, NULL);
g_return_val_if_fail (escaped_redirect_uri != NULL, NULL);
g_return_val_if_fail (escaped_client_id != NULL, NULL);
g_return_val_if_fail (escaped_scope != NULL, NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->build_authorization_uri (provider,
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->build_authorization_uri (provider,
authorization_uri,
escaped_redirect_uri,
escaped_client_id,
@@ -179,8 +179,8 @@ goa_backend_oauth2_provider_build_authorization_uri (GoaBackendOAuth2Provider *
}
/**
- * goa_backend_oauth2_provider_get_authorization_uri:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_authorization_uri:
+ * @provider: A #GoaOAuth2Provider.
*
* Gets the <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-2.1">authorization
@@ -189,8 +189,8 @@ goa_backend_oauth2_provider_build_authorization_uri (GoaBackendOAuth2Provider *
*
* You should not include any parameters in the returned URI. If you
* need to include additional parameters than the standard ones,
- * override #GoaBackendOAuth2ProviderClass.build_authorization_uri -
- * see goa_backend_oauth2_provider_build_authorization_uri() for more
+ * override #GoaOAuth2ProviderClass.build_authorization_uri -
+ * see goa_oauth2_provider_build_authorization_uri() for more
* details.
*
* This is a pure virtual method - a subclass must provide an
@@ -199,15 +199,15 @@ goa_backend_oauth2_provider_build_authorization_uri (GoaBackendOAuth2Provider *
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth2_provider_get_authorization_uri (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_authorization_uri (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_authorization_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_authorization_uri (provider);
}
/**
- * goa_backend_oauth2_provider_get_token_uri:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_token_uri:
+ * @provider: A #GoaOAuth2Provider.
*
* Gets the <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-2.2">token
@@ -221,15 +221,15 @@ goa_backend_oauth2_provider_get_authorization_uri (GoaBackendOAuth2Provider *pro
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth2_provider_get_token_uri (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_token_uri (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_token_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_token_uri (provider);
}
/**
- * goa_backend_oauth2_provider_get_redirect_uri:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_redirect_uri:
+ * @provider: A #GoaOAuth2Provider.
*
* Gets the <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-2.1.1">redirect_uri</ulink>
@@ -241,15 +241,15 @@ goa_backend_oauth2_provider_get_token_uri (GoaBackendOAuth2Provider *provider)
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth2_provider_get_redirect_uri (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_redirect_uri (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_redirect_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_redirect_uri (provider);
}
/**
- * goa_backend_oauth2_provider_get_scope:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_scope:
+ * @provider: A #GoaOAuth2Provider.
*
* Gets the <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-2.1.1">scope</ulink>
@@ -261,15 +261,15 @@ goa_backend_oauth2_provider_get_redirect_uri (GoaBackendOAuth2Provider *provider
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth2_provider_get_scope (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_scope (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_scope (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_scope (provider);
}
/**
- * goa_backend_oauth2_provider_get_client_id:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_client_id:
+ * @provider: A #GoaOAuth2Provider.
*
* Gets the <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-3">client_id</ulink>
@@ -281,15 +281,15 @@ goa_backend_oauth2_provider_get_scope (GoaBackendOAuth2Provider *provider)
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth2_provider_get_client_id (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_client_id (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_client_id (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_client_id (provider);
}
/**
- * goa_backend_oauth2_provider_get_client_secret:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_client_secret:
+ * @provider: A #GoaOAuth2Provider.
*
* Gets the <ulink
* url="http://tools.ietf.org/html/draft-ietf-oauth-v2-15#section-3">client_secret</ulink>
@@ -301,15 +301,15 @@ goa_backend_oauth2_provider_get_client_id (GoaBackendOAuth2Provider *provider)
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth2_provider_get_client_secret (GoaBackendOAuth2Provider *provider)
+goa_oauth2_provider_get_client_secret (GoaOAuth2Provider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_client_secret (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_client_secret (provider);
}
/**
- * goa_backend_oauth2_provider_get_identity_sync:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_identity_sync:
+ * @provider: A #GoaOAuth2Provider.
* @access_token: A valid OAuth 2.0 access token.
* @out_name: (out): Return location for name or %NULL.
* @cancellable: (allow-none): A #GCancellable or %NULL.
@@ -320,8 +320,8 @@ goa_backend_oauth2_provider_get_client_secret (GoaBackendOAuth2Provider *provide
*
* The identity is needed because all authentication happens out of
* band. The only requirement is that the returned identity is unique
- * - for example, for #GoaBackendGoogleProvider the returned identity
- * is the email address, for #GoaBackendFacebookProvider it's the user
+ * - for example, for #GoaGoogleProvider the returned identity
+ * is the email address, for #GoaFacebookProvider it's the user
* name. In addition to the identity, an implementation also returns a
* <emphasis>name</emphasis> that is more suitable for presentation
* (the identity could be a GUID for example) and doesn't have to be
@@ -333,29 +333,29 @@ goa_backend_oauth2_provider_get_client_secret (GoaBackendOAuth2Provider *provide
* must be freed with g_free().
*/
gchar *
-goa_backend_oauth2_provider_get_identity_sync (GoaBackendOAuth2Provider *provider,
- const gchar *access_token,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error)
+goa_oauth2_provider_get_identity_sync (GoaOAuth2Provider *provider,
+ const gchar *access_token,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
g_return_val_if_fail (access_token != NULL, NULL);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
- return GOA_BACKEND_OAUTH2_PROVIDER_GET_CLASS (provider)->get_identity_sync (provider, access_token, out_name, cancellable, error);
+ return GOA_OAUTH2_PROVIDER_GET_CLASS (provider)->get_identity_sync (provider, access_token, out_name, cancellable, error);
}
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-get_tokens_sync (GoaBackendOAuth2Provider *provider,
- const gchar *authorization_code,
- const gchar *refresh_token,
- gchar **out_refresh_token,
- gint *out_access_token_expires_in,
- GCancellable *cancellable,
- GError **error)
+get_tokens_sync (GoaOAuth2Provider *provider,
+ const gchar *authorization_code,
+ const gchar *refresh_token,
+ gchar **out_refresh_token,
+ gint *out_access_token_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
RestProxy *proxy;
RestProxyCall *call;
@@ -372,26 +372,26 @@ get_tokens_sync (GoaBackendOAuth2Provider *provider,
ret_access_token_expires_in = 0;
ret_refresh_token = NULL;
- proxy = rest_proxy_new (goa_backend_oauth2_provider_get_token_uri (provider), FALSE);
+ proxy = rest_proxy_new (goa_oauth2_provider_get_token_uri (provider), FALSE);
call = rest_proxy_new_call (proxy);
rest_proxy_call_set_method (call, "POST");
rest_proxy_call_add_header (call, "Content-Type", "application/x-www-form-urlencoded");
if (refresh_token != NULL)
{
/* Swell, we have a refresh code - just use that */
- rest_proxy_call_add_param (call, "client_id", goa_backend_oauth2_provider_get_client_id (provider));
- rest_proxy_call_add_param (call, "client_secret", goa_backend_oauth2_provider_get_client_secret (provider));
+ rest_proxy_call_add_param (call, "client_id", goa_oauth2_provider_get_client_id (provider));
+ rest_proxy_call_add_param (call, "client_secret", goa_oauth2_provider_get_client_secret (provider));
rest_proxy_call_add_param (call, "grant_type", "refresh_token");
rest_proxy_call_add_param (call, "refresh_token", refresh_token);
}
else
{
/* No refresh code.. request an access token using the authorization code instead */
- rest_proxy_call_add_param (call, "client_id", goa_backend_oauth2_provider_get_client_id (provider));
- rest_proxy_call_add_param (call, "client_secret", goa_backend_oauth2_provider_get_client_secret (provider));
+ rest_proxy_call_add_param (call, "client_id", goa_oauth2_provider_get_client_id (provider));
+ rest_proxy_call_add_param (call, "client_secret", goa_oauth2_provider_get_client_secret (provider));
rest_proxy_call_add_param (call, "grant_type", "authorization_code");
rest_proxy_call_add_param (call, "code", authorization_code);
- rest_proxy_call_add_param (call, "redirect_uri", goa_backend_oauth2_provider_get_redirect_uri (provider));
+ rest_proxy_call_add_param (call, "redirect_uri", goa_oauth2_provider_get_redirect_uri (provider));
}
/* TODO: cancellable support? */
@@ -494,7 +494,7 @@ get_tokens_sync (GoaBackendOAuth2Provider *provider,
/* ---------------------------------------------------------------------------------------------------- */
typedef struct
{
- GoaBackendOAuth2Provider *provider;
+ GoaOAuth2Provider *provider;
GtkDialog *dialog;
GError *error;
GMainLoop *loop;
@@ -524,7 +524,7 @@ on_web_view_navigation_policy_decision_requested (WebKitWebView *web
requested_uri = webkit_network_request_get_uri (request);
//g_debug ("requested_uri is %s", requested_uri);
- redirect_uri = goa_backend_oauth2_provider_get_redirect_uri (data->provider);
+ redirect_uri = goa_oauth2_provider_get_redirect_uri (data->provider);
if (g_str_has_prefix (requested_uri, redirect_uri))
{
SoupMessage *message;
@@ -573,16 +573,16 @@ on_entry_changed (GtkEditable *editable,
}
static gboolean
-get_tokens_and_identity (GoaBackendOAuth2Provider *provider,
- GtkDialog *dialog,
- GtkBox *vbox,
- gchar **out_authorization_code,
- gchar **out_access_token,
- gint *out_access_token_expires_in,
- gchar **out_refresh_token,
- gchar **out_identity,
- gchar **out_name,
- GError **error)
+get_tokens_and_identity (GoaOAuth2Provider *provider,
+ GtkDialog *dialog,
+ GtkBox *vbox,
+ gchar **out_authorization_code,
+ gchar **out_access_token,
+ gint *out_access_token_expires_in,
+ gchar **out_refresh_token,
+ gchar **out_identity,
+ gchar **out_name,
+ GError **error)
{
gboolean ret;
gchar *url;
@@ -591,7 +591,7 @@ get_tokens_and_identity (GoaBackendOAuth2Provider *provider,
gchar *escaped_client_id;
gchar *escaped_scope;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), FALSE);
g_return_val_if_fail (GTK_IS_DIALOG (dialog), FALSE);
g_return_val_if_fail (GTK_IS_BOX (vbox), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
@@ -608,17 +608,17 @@ get_tokens_and_identity (GoaBackendOAuth2Provider *provider,
data.loop = g_main_loop_new (NULL, FALSE);
/* TODO: use oauth2_proxy_build_login_url_full() */
- escaped_redirect_uri = g_uri_escape_string (goa_backend_oauth2_provider_get_redirect_uri (provider), NULL, TRUE);
- escaped_client_id = g_uri_escape_string (goa_backend_oauth2_provider_get_client_id (provider), NULL, TRUE);
- escaped_scope = g_uri_escape_string (goa_backend_oauth2_provider_get_scope (provider), NULL, TRUE);
- url = goa_backend_oauth2_provider_build_authorization_uri (provider,
- goa_backend_oauth2_provider_get_authorization_uri (provider),
- escaped_redirect_uri,
- escaped_client_id,
- escaped_scope);
+ escaped_redirect_uri = g_uri_escape_string (goa_oauth2_provider_get_redirect_uri (provider), NULL, TRUE);
+ escaped_client_id = g_uri_escape_string (goa_oauth2_provider_get_client_id (provider), NULL, TRUE);
+ escaped_scope = g_uri_escape_string (goa_oauth2_provider_get_scope (provider), NULL, TRUE);
+ url = goa_oauth2_provider_build_authorization_uri (provider,
+ goa_oauth2_provider_get_authorization_uri (provider),
+ escaped_redirect_uri,
+ escaped_client_id,
+ escaped_scope);
//g_debug ("url = %s", url);
- if (goa_backend_oauth2_provider_get_use_external_browser (provider))
+ if (goa_oauth2_provider_get_use_external_browser (provider))
{
GtkWidget *label;
GtkWidget *entry;
@@ -726,11 +726,11 @@ get_tokens_and_identity (GoaBackendOAuth2Provider *provider,
}
/* TODO: run in worker thread */
- data.identity = goa_backend_oauth2_provider_get_identity_sync (provider,
- data.access_token,
- &data.name,
- NULL, /* TODO: GCancellable */
- error);
+ data.identity = goa_oauth2_provider_get_identity_sync (provider,
+ data.access_token,
+ &data.name,
+ NULL, /* TODO: GCancellable */
+ error);
if (data.identity == NULL)
{
g_prefix_error (&data.error, _("Error getting identity: "));
@@ -824,13 +824,13 @@ abs_usec_to_duration (gint64 abs_usec)
}
static GoaObject *
-goa_backend_oauth2_provider_add_account (GoaBackendProvider *_provider,
+goa_oauth2_provider_add_account (GoaProvider *_provider,
GoaClient *client,
GtkDialog *dialog,
GtkBox *vbox,
GError **error)
{
- GoaBackendOAuth2Provider *provider = GOA_BACKEND_OAUTH2_PROVIDER (_provider);
+ GoaOAuth2Provider *provider = GOA_OAUTH2_PROVIDER (_provider);
GoaObject *ret;
gchar *authorization_code;
gchar *access_token;
@@ -843,7 +843,7 @@ goa_backend_oauth2_provider_add_account (GoaBackendProvider *_provider,
AddData data;
GVariantBuilder builder;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
g_return_val_if_fail (GOA_IS_CLIENT (client), NULL);
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
g_return_val_if_fail (GTK_IS_BOX (vbox), NULL);
@@ -889,7 +889,7 @@ goa_backend_oauth2_provider_add_account (GoaBackendProvider *_provider,
continue;
if (g_strcmp0 (goa_account_get_provider_type (account),
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider))) != 0)
+ goa_provider_get_provider_type (GOA_PROVIDER (provider))) != 0)
continue;
identity_from_object = goa_oauth2_based_get_identity (oauth2_based);
@@ -909,7 +909,7 @@ goa_backend_oauth2_provider_add_account (GoaBackendProvider *_provider,
* waiting for this to complete
*/
goa_manager_call_add_account (goa_client_get_manager (client),
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider)),
+ goa_provider_get_provider_type (GOA_PROVIDER (provider)),
name, /* Name */
g_variant_new_parsed ("{'Identity': %s}",
identity),
@@ -929,11 +929,11 @@ goa_backend_oauth2_provider_add_account (GoaBackendProvider *_provider,
if (refresh_token != NULL)
g_variant_builder_add (&builder, "{sv}", "refresh_token", g_variant_new_string (refresh_token));
/* TODO: run in worker thread */
- if (!goa_backend_provider_store_credentials_sync (GOA_BACKEND_PROVIDER (provider),
- identity,
- g_variant_builder_end (&builder),
- NULL, /* GCancellable */
- &data.error))
+ if (!goa_provider_store_credentials_sync (GOA_PROVIDER (provider),
+ identity,
+ g_variant_builder_end (&builder),
+ NULL, /* GCancellable */
+ &data.error))
goto out;
ret = GOA_OBJECT (g_dbus_object_manager_get_object (goa_client_get_object_manager (client),
@@ -966,13 +966,13 @@ goa_backend_oauth2_provider_add_account (GoaBackendProvider *_provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_oauth2_provider_refresh_account (GoaBackendProvider *_provider,
- GoaClient *client,
- GoaObject *object,
- GtkWindow *parent,
- GError **error)
+goa_oauth2_provider_refresh_account (GoaProvider *_provider,
+ GoaClient *client,
+ GoaObject *object,
+ GtkWindow *parent,
+ GError **error)
{
- GoaBackendOAuth2Provider *provider = GOA_BACKEND_OAUTH2_PROVIDER (_provider);
+ GoaOAuth2Provider *provider = GOA_OAUTH2_PROVIDER (_provider);
GtkWidget *dialog;
gchar *authorization_code;
gchar *access_token;
@@ -983,7 +983,7 @@ goa_backend_oauth2_provider_refresh_account (GoaBackendProvider *_provider,
GVariantBuilder builder;
gboolean ret;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), FALSE);
g_return_val_if_fail (GOA_IS_CLIENT (client), FALSE);
g_return_val_if_fail (GOA_IS_OBJECT (object), FALSE);
g_return_val_if_fail (parent == NULL || GTK_IS_WINDOW (parent), FALSE);
@@ -1035,7 +1035,7 @@ goa_backend_oauth2_provider_refresh_account (GoaBackendProvider *_provider,
g_variant_new_int64 (duration_to_abs_usec (access_token_expires_in)));
if (refresh_token != NULL)
g_variant_builder_add (&builder, "{sv}", "refresh_token", g_variant_new_string (refresh_token));
- if (!goa_backend_provider_store_credentials_sync (GOA_BACKEND_PROVIDER (provider),
+ if (!goa_provider_store_credentials_sync (GOA_PROVIDER (provider),
identity,
g_variant_builder_end (&builder),
NULL, /* GCancellable */
@@ -1067,8 +1067,8 @@ free_mutex (GMutex *mutex)
}
/**
- * goa_backend_oauth2_provider_get_access_token_sync:
- * @provider: A #GoaBackendOAuth2Provider.
+ * goa_oauth2_provider_get_access_token_sync:
+ * @provider: A #GoaOAuth2Provider.
* @object: A #GoaObject.
* @force_refresh: If set to %TRUE, forces a refresh of the access token, if possible.
* @out_access_token_expires_in: (out): Return location for how many seconds the returned token is valid for (0 if unknown) or %NULL.
@@ -1091,19 +1091,19 @@ free_mutex (GMutex *mutex)
* This operation may fail if e.g. unable to refresh the credentials
* or if network connectivity is not available. Note that even if a
* token is returned, the returned token isn't guaranteed to work -
- * use goa_backend_provider_ensure_credentials_sync() if you need
+ * use goa_provider_ensure_credentials_sync() if you need
* stronger guarantees.
*
* Returns: The access token or %NULL if error is set. The returned
* string must be freed with g_free().
*/
gchar *
-goa_backend_oauth2_provider_get_access_token_sync (GoaBackendOAuth2Provider *provider,
- GoaObject *object,
- gboolean force_refresh,
- gint *out_access_token_expires_in,
- GCancellable *cancellable,
- GError **error)
+goa_oauth2_provider_get_access_token_sync (GoaOAuth2Provider *provider,
+ GoaObject *object,
+ gboolean force_refresh,
+ gint *out_access_token_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
const gchar *identity;
GVariant *credentials;
@@ -1120,7 +1120,7 @@ goa_backend_oauth2_provider_get_access_token_sync (GoaBackendOAuth2Provider *pr
gchar *ret;
GMutex *lock;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH2_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH2_PROVIDER (provider), NULL);
g_return_val_if_fail (GOA_IS_OBJECT (object), NULL);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
@@ -1136,12 +1136,12 @@ goa_backend_oauth2_provider_get_access_token_sync (GoaBackendOAuth2Provider *pr
/* provider_lock is too coarse, use a per-object lock instead */
G_LOCK (provider_lock);
- lock = g_object_get_data (G_OBJECT (object), "-goa-backend-oauth2-provider-get-access-token-lock");
+ lock = g_object_get_data (G_OBJECT (object), "-goa-oauth2-provider-get-access-token-lock");
if (lock == NULL)
{
lock = g_mutex_new ();
g_object_set_data_full (G_OBJECT (object),
- "-goa-backend-oauth2-provider-get-access-token-lock",
+ "-goa-oauth2-provider-get-access-token-lock",
lock,
(GDestroyNotify) free_mutex);
}
@@ -1151,10 +1151,10 @@ goa_backend_oauth2_provider_get_access_token_sync (GoaBackendOAuth2Provider *pr
/* First, get the credentials from the keyring */
identity = goa_oauth2_based_get_identity (goa_object_peek_oauth2_based (object));
- credentials = goa_backend_provider_lookup_credentials_sync (GOA_BACKEND_PROVIDER (provider),
- identity,
- cancellable,
- error);
+ credentials = goa_provider_lookup_credentials_sync (GOA_PROVIDER (provider),
+ identity,
+ cancellable,
+ error);
if (credentials == NULL)
{
if (error != NULL)
@@ -1253,11 +1253,11 @@ goa_backend_oauth2_provider_get_access_token_sync (GoaBackendOAuth2Provider *pr
g_variant_builder_add (&builder, "{sv}", "refresh_token", g_variant_new_string (refresh_token));
identity = goa_oauth2_based_get_identity (goa_object_peek_oauth2_based (object));
- if (!goa_backend_provider_store_credentials_sync (GOA_BACKEND_PROVIDER (provider),
- identity,
- g_variant_builder_end (&builder),
- cancellable,
- error))
+ if (!goa_provider_store_credentials_sync (GOA_PROVIDER (provider),
+ identity,
+ g_variant_builder_end (&builder),
+ cancellable,
+ error))
{
if (error != NULL)
{
@@ -1298,11 +1298,11 @@ static gboolean on_handle_get_access_token (GoaOAuth2Based *object,
gpointer user_data);
static gboolean
-goa_backend_oauth2_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+goa_oauth2_provider_build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
GoaOAuth2Based *oauth2_based;
gchar *identity;
@@ -1343,13 +1343,13 @@ goa_backend_oauth2_provider_build_object (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_oauth2_provider_ensure_credentials_sync (GoaBackendProvider *_provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error)
+goa_oauth2_provider_ensure_credentials_sync (GoaProvider *_provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
- GoaBackendOAuth2Provider *provider = GOA_BACKEND_OAUTH2_PROVIDER (_provider);
+ GoaOAuth2Provider *provider = GOA_OAUTH2_PROVIDER (_provider);
gboolean ret;
gchar *access_token;
gint access_token_expires_in;
@@ -1362,7 +1362,7 @@ goa_backend_oauth2_provider_ensure_credentials_sync (GoaBackendProvider *_provi
force_refresh = FALSE;
again:
- access_token = goa_backend_oauth2_provider_get_access_token_sync (provider,
+ access_token = goa_oauth2_provider_get_access_token_sync (provider,
object,
force_refresh,
&access_token_expires_in,
@@ -1371,7 +1371,7 @@ goa_backend_oauth2_provider_ensure_credentials_sync (GoaBackendProvider *_provi
if (access_token == NULL)
goto out;
- identity = goa_backend_oauth2_provider_get_identity_sync (provider,
+ identity = goa_oauth2_provider_get_identity_sync (provider,
access_token,
NULL, /* out_name */
cancellable,
@@ -1406,23 +1406,23 @@ goa_backend_oauth2_provider_ensure_credentials_sync (GoaBackendProvider *_provi
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_oauth2_provider_init (GoaBackendOAuth2Provider *client)
+goa_oauth2_provider_init (GoaOAuth2Provider *client)
{
}
static void
-goa_backend_oauth2_provider_class_init (GoaBackendOAuth2ProviderClass *klass)
+goa_oauth2_provider_class_init (GoaOAuth2ProviderClass *klass)
{
- GoaBackendProviderClass *provider_class;
+ GoaProviderClass *provider_class;
- provider_class = GOA_BACKEND_PROVIDER_CLASS (klass);
- provider_class->add_account = goa_backend_oauth2_provider_add_account;
- provider_class->refresh_account = goa_backend_oauth2_provider_refresh_account;
- provider_class->build_object = goa_backend_oauth2_provider_build_object;
- provider_class->ensure_credentials_sync = goa_backend_oauth2_provider_ensure_credentials_sync;
+ provider_class = GOA_PROVIDER_CLASS (klass);
+ provider_class->add_account = goa_oauth2_provider_add_account;
+ provider_class->refresh_account = goa_oauth2_provider_refresh_account;
+ provider_class->build_object = goa_oauth2_provider_build_object;
+ provider_class->ensure_credentials_sync = goa_oauth2_provider_ensure_credentials_sync;
- klass->build_authorization_uri = goa_backend_oauth2_provider_build_authorization_uri_default;
- klass->get_use_external_browser = goa_backend_oauth2_provider_get_use_external_browser_default;
+ klass->build_authorization_uri = goa_oauth2_provider_build_authorization_uri_default;
+ klass->get_use_external_browser = goa_oauth2_provider_get_use_external_browser_default;
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -1435,7 +1435,7 @@ on_handle_get_access_token (GoaOAuth2Based *interface,
{
GoaObject *object;
GoaAccount *account;
- GoaBackendProvider *provider;
+ GoaProvider *provider;
GError *error;
gchar *access_token;
gint access_token_expires_in;
@@ -1446,15 +1446,15 @@ on_handle_get_access_token (GoaOAuth2Based *interface,
object = GOA_OBJECT (g_dbus_interface_get_object (G_DBUS_INTERFACE (interface)));
account = goa_object_peek_account (object);
- provider = goa_backend_provider_get_for_provider_type (goa_account_get_provider_type (account));
+ provider = goa_provider_get_for_provider_type (goa_account_get_provider_type (account));
error = NULL;
- access_token = goa_backend_oauth2_provider_get_access_token_sync (GOA_BACKEND_OAUTH2_PROVIDER (provider),
- object,
- FALSE, /* force_refresh */
- &access_token_expires_in,
- NULL, /* GCancellable* */
- &error);
+ access_token = goa_oauth2_provider_get_access_token_sync (GOA_OAUTH2_PROVIDER (provider),
+ object,
+ FALSE, /* force_refresh */
+ &access_token_expires_in,
+ NULL, /* GCancellable* */
+ &error);
if (access_token == NULL)
{
g_dbus_method_invocation_return_gerror (invocation, error);
diff --git a/src/goabackend/goaoauth2provider.h b/src/goabackend/goaoauth2provider.h
new file mode 100644
index 0000000..7c489f2
--- /dev/null
+++ b/src/goabackend/goaoauth2provider.h
@@ -0,0 +1,130 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
+#error "Only <goabackend/goabackend.h> can be included directly."
+#endif
+
+#ifndef __GOA_OAUTH2_PROVIDER_H__
+#define __GOA_OAUTH2_PROVIDER_H__
+
+#include <goabackend/goabackendtypes.h>
+
+G_BEGIN_DECLS
+
+#define GOA_TYPE_OAUTH2_PROVIDER (goa_oauth2_provider_get_type ())
+#define GOA_OAUTH2_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_OAUTH2_PROVIDER, GoaOAuth2Provider))
+#define GOA_OAUTH2_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_OAUTH2_PROVIDER, GoaOAuth2ProviderClass))
+#define GOA_OAUTH2_PROVIDER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_OAUTH2_PROVIDER, GoaOAuth2ProviderClass))
+#define GOA_IS_OAUTH2_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_OAUTH2_PROVIDER))
+
+#define GOA_IS_OAUTH2_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_OAUTH2_PROVIDER))
+
+typedef struct _GoaOAuth2ProviderClass GoaOAuth2ProviderClass;
+typedef struct _GoaOAuth2ProviderPrivate GoaOAuth2ProviderPrivate;
+
+/**
+ * GoaOAuth2Provider:
+ *
+ * The #GoaOAuth2Provider structure contains only private data and should
+ * only be accessed using the provided API.
+ */
+struct _GoaOAuth2Provider
+{
+ /*< private >*/
+ GoaProvider parent_instance;
+ GoaOAuth2ProviderPrivate *priv;
+};
+
+/**
+ * GoaOAuth2ProviderClass:
+ * @parent_class: The parent class.
+ * @get_authorization_uri: Virtual function for goa_oauth2_provider_get_authorization_uri().
+ * @get_token_uri: Virtual function for goa_oauth2_provider_get_token_uri().
+ * @get_redirect_uri: Virtual function for goa_oauth2_provider_get_redirect_uri().
+ * @get_scope: Virtual function for goa_oauth2_provider_get_scope().
+ * @get_client_id: Virtual function for goa_oauth2_provider_get_client_id().
+ * @get_client_secret: Virtual function for goa_oauth2_provider_get_client_secret().
+ * @get_identity_sync: Virtual function for goa_oauth2_provider_get_identity_sync().
+ * @build_authorization_uri: Virtual function for goa_oauth2_provider_build_authorization_uri().
+ * @get_use_external_browser: Virtual function for goa_oauth2_provider_get_use_external_browser().
+ *
+ * Class structure for #GoaOAuth2Provider.
+ */
+struct _GoaOAuth2ProviderClass
+{
+ GoaProviderClass parent_class;
+
+ /* pure virtual */
+ const gchar *(*get_authorization_uri) (GoaOAuth2Provider *provider);
+ const gchar *(*get_token_uri) (GoaOAuth2Provider *provider);
+ const gchar *(*get_redirect_uri) (GoaOAuth2Provider *provider);
+ const gchar *(*get_scope) (GoaOAuth2Provider *provider);
+ const gchar *(*get_client_id) (GoaOAuth2Provider *provider);
+ const gchar *(*get_client_secret) (GoaOAuth2Provider *provider);
+ gchar *(*get_identity_sync) (GoaOAuth2Provider *provider,
+ const gchar *access_token,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error);
+
+ /* virtual but with default implementation */
+ gchar *(*build_authorization_uri) (GoaOAuth2Provider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_redirect_uri,
+ const gchar *escaped_client_id,
+ const gchar *escaped_scope);
+ gboolean (*get_use_external_browser) (GoaOAuth2Provider *provider);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ gpointer goa_reserved[32];
+};
+
+GType goa_oauth2_provider_get_type (void) G_GNUC_CONST;
+const gchar *goa_oauth2_provider_get_authorization_uri (GoaOAuth2Provider *provider);
+const gchar *goa_oauth2_provider_get_token_uri (GoaOAuth2Provider *provider);
+const gchar *goa_oauth2_provider_get_redirect_uri (GoaOAuth2Provider *provider);
+const gchar *goa_oauth2_provider_get_scope (GoaOAuth2Provider *provider);
+const gchar *goa_oauth2_provider_get_client_id (GoaOAuth2Provider *provider);
+const gchar *goa_oauth2_provider_get_client_secret (GoaOAuth2Provider *provider);
+gchar *goa_oauth2_provider_get_identity_sync (GoaOAuth2Provider *provider,
+ const gchar *access_token,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error);
+gchar *goa_oauth2_provider_get_access_token_sync (GoaOAuth2Provider *provider,
+ GoaObject *object,
+ gboolean force_refresh,
+ gint *out_access_token_expires_in,
+ GCancellable *cancellable,
+ GError **error);
+gchar *goa_oauth2_provider_build_authorization_uri (GoaOAuth2Provider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_redirect_uri,
+ const gchar *escaped_client_id,
+ const gchar *escaped_scope);
+gboolean goa_oauth2_provider_get_use_external_browser (GoaOAuth2Provider *provider);
+
+G_END_DECLS
+
+#endif /* __GOA_OAUTH2_PROVIDER_H__ */
diff --git a/src/goa/goabackendoauthprovider.c b/src/goabackend/goaoauthprovider.c
index ae1bfb0..543bd15 100644
--- a/src/goa/goabackendoauthprovider.c
+++ b/src/goabackend/goaoauthprovider.c
@@ -28,15 +28,15 @@
#include <webkit/webkit.h>
#include <json-glib/json-glib.h>
-#include "goabackendprovider.h"
-#include "goabackendoauthprovider.h"
+#include "goaprovider.h"
+#include "goaoauthprovider.h"
/**
- * SECTION:goabackendoauthprovider
- * @title: GoaBackendOAuthProvider
+ * SECTION:goaoauthprovider
+ * @title: GoaOAuthProvider
* @short_description: Abstract base class for OAuth 1.0a providers
*
- * #GoaBackendOAuthProvider is an abstract base class for OAuth 1.0a
+ * #GoaOAuthProvider is an abstract base class for OAuth 1.0a
* compliant implementations as defined by <ulink
* url="http://tools.ietf.org/html/rfc5849">RFC
* 5849</ulink>. Additionally, the code works with providers
@@ -45,29 +45,29 @@
* Session 1.0 Draft 1</ulink> for refreshing access tokens.
*
* Subclasses must implement
- * #GoaBackendOAuthProviderClass.get_consumer_key,
- * #GoaBackendOAuthProviderClass.get_consumer_secret,
- * #GoaBackendOAuthProviderClass.get_request_uri,
- * #GoaBackendOAuthProviderClass.get_authorization_uri,
- * #GoaBackendOAuthProviderClass.get_token_uri,
- * #GoaBackendOAuthProviderClass.get_callback_uri and
- * #GoaBackendOAuthProviderClass.get_identity_sync methods.
+ * #GoaOAuthProviderClass.get_consumer_key,
+ * #GoaOAuthProviderClass.get_consumer_secret,
+ * #GoaOAuthProviderClass.get_request_uri,
+ * #GoaOAuthProviderClass.get_authorization_uri,
+ * #GoaOAuthProviderClass.get_token_uri,
+ * #GoaOAuthProviderClass.get_callback_uri and
+ * #GoaOAuthProviderClass.get_identity_sync methods.
*
* Additionally, the
- * #GoaBackendProviderClass.get_provider_type,
- * #GoaBackendProviderClass.get_name,
- * #GoaBackendProviderClass.build_object (this should chain up to its
+ * #GoaProviderClass.get_provider_type,
+ * #GoaProviderClass.get_name,
+ * #GoaProviderClass.build_object (this should chain up to its
* parent class) methods must be implemented.
*
- * Note that the #GoaBackendProviderClass.add_account,
- * #GoaBackendProviderClass.refresh_account and
- * #GoaBackendProviderClass.ensure_credentials_sync methods do not
+ * Note that the #GoaProviderClass.add_account,
+ * #GoaProviderClass.refresh_account and
+ * #GoaProviderClass.ensure_credentials_sync methods do not
* need to be implemented - this type implements these methods.
*/
G_LOCK_DEFINE_STATIC (provider_lock);
-G_DEFINE_ABSTRACT_TYPE (GoaBackendOAuthProvider, goa_backend_oauth_provider, GOA_TYPE_BACKEND_PROVIDER);
+G_DEFINE_ABSTRACT_TYPE (GoaOAuthProvider, goa_oauth_provider, GOA_TYPE_PROVIDER);
static gboolean
is_authorization_error (GError *error)
@@ -129,21 +129,21 @@ _print_response (RestProxyCall *call)
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_oauth_provider_get_use_external_browser_default (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_use_external_browser_default (GoaOAuthProvider *provider)
{
return FALSE;
}
/**
- * goa_backend_oauth_provider_get_use_external_browser:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_use_external_browser:
+ * @provider: A #GoaOAuthProvider.
*
* Returns whether an external browser (the users default browser)
* should be used for user interaction.
*
* If an external browser is used, then the dialogs presented in
- * goa_backend_provider_add_account() and
- * goa_backend_provider_refresh_account() will show a simple "Paste
+ * goa_provider_add_account() and
+ * goa_provider_refresh_account() will show a simple "Paste
* authorization code here" instructions along with an entry and
* button.
*
@@ -154,18 +154,18 @@ goa_backend_oauth_provider_get_use_external_browser_default (GoaBackendOAuthProv
* browser, %FALSE to use an embedded browser widget.
*/
gboolean
-goa_backend_oauth_provider_get_use_external_browser (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_use_external_browser (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), FALSE);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_use_external_browser (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), FALSE);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_use_external_browser (provider);
}
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-goa_backend_oauth_provider_build_authorization_uri_default (GoaBackendOAuthProvider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_oauth_token)
+goa_oauth_provider_build_authorization_uri_default (GoaOAuthProvider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_oauth_token)
{
return g_strdup_printf ("%s"
"?oauth_token=%s",
@@ -174,8 +174,8 @@ goa_backend_oauth_provider_build_authorization_uri_default (GoaBackendOAuthProvi
}
/**
- * goa_backend_oauth_provider_build_authorization_uri:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_build_authorization_uri:
+ * @provider: A #GoaOAuthProvider.
* @authorization_uri: An authorization URI.
* @escaped_oauth_token: An escaped oauth token.
*
@@ -188,28 +188,28 @@ goa_backend_oauth_provider_build_authorization_uri_default (GoaBackendOAuthProvi
* parameters.
*
* The @authorization_uri parameter originate from the result of the
- * the goa_backend_oauth_provider_get_authorization_uri() method. The
+ * the goa_oauth_provider_get_authorization_uri() method. The
* @escaped_oauth_token parameter is the temporary credentials identifier
* escaped using g_uri_escape_string().
*
* Returns: (transfer full): An authorization URI that must be freed with g_free().
*/
gchar *
-goa_backend_oauth_provider_build_authorization_uri (GoaBackendOAuthProvider *provider,
- const gchar *authorization_uri,
- const gchar *escaped_oauth_token)
+goa_oauth_provider_build_authorization_uri (GoaOAuthProvider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_oauth_token)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
g_return_val_if_fail (authorization_uri != NULL, NULL);
g_return_val_if_fail (escaped_oauth_token != NULL, NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->build_authorization_uri (provider,
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->build_authorization_uri (provider,
authorization_uri,
escaped_oauth_token);
}
/**
- * goa_backend_oauth_provider_get_consumer_key:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_consumer_key:
+ * @provider: A #GoaOAuthProvider.
*
* Gets the consumer key identifying the client.
*
@@ -219,15 +219,15 @@ goa_backend_oauth_provider_build_authorization_uri (GoaBackendOAuthProvider *pr
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth_provider_get_consumer_key (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_consumer_key (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_consumer_key (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_consumer_key (provider);
}
/**
- * goa_backend_oauth_provider_get_consumer_secret:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_consumer_secret:
+ * @provider: A #GoaOAuthProvider.
*
* Gets the consumer secret identifying the client.
*
@@ -237,15 +237,15 @@ goa_backend_oauth_provider_get_consumer_key (GoaBackendOAuthProvider *provider)
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth_provider_get_consumer_secret (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_consumer_secret (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_consumer_secret (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_consumer_secret (provider);
}
/**
- * goa_backend_oauth_provider_get_request_uri:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_request_uri:
+ * @provider: A #GoaOAuthProvider.
*
* Gets the request uri.
*
@@ -257,15 +257,15 @@ goa_backend_oauth_provider_get_consumer_secret (GoaBackendOAuthProvider *provide
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth_provider_get_request_uri (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_request_uri (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_request_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_request_uri (provider);
}
/**
- * goa_backend_oauth_provider_get_request_uri_params:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_request_uri_params:
+ * @provider: A #GoaOAuthProvider.
*
* Gets additional parameters for the request URI.
*
@@ -279,22 +279,22 @@ goa_backend_oauth_provider_get_request_uri (GoaBackendOAuthProvider *provider)
* the URI. The caller will free the returned value with g_strfreev().
*/
gchar **
-goa_backend_oauth_provider_get_request_uri_params (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_request_uri_params (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_request_uri_params (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_request_uri_params (provider);
}
static gchar **
-goa_backend_oauth_provider_get_request_uri_params_default (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_request_uri_params_default (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
return NULL;
}
/**
- * goa_backend_oauth_provider_get_authorization_uri:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_authorization_uri:
+ * @provider: A #GoaOAuthProvider.
*
* Gets the authorization uri.
*
@@ -306,15 +306,15 @@ goa_backend_oauth_provider_get_request_uri_params_default (GoaBackendOAuthProvid
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth_provider_get_authorization_uri (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_authorization_uri (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_authorization_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_authorization_uri (provider);
}
/**
- * goa_backend_oauth_provider_get_token_uri:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_token_uri:
+ * @provider: A #GoaOAuthProvider.
*
* Gets the token uri.
*
@@ -326,15 +326,15 @@ goa_backend_oauth_provider_get_authorization_uri (GoaBackendOAuthProvider *provi
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth_provider_get_token_uri (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_token_uri (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_token_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_token_uri (provider);
}
/**
- * goa_backend_oauth_provider_get_callback_uri:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_callback_uri:
+ * @provider: A #GoaOAuthProvider.
*
* Gets the callback uri.
*
@@ -346,15 +346,15 @@ goa_backend_oauth_provider_get_token_uri (GoaBackendOAuthProvider *provider)
* Returns: (transfer none): A string owned by @provider - do not free.
*/
const gchar *
-goa_backend_oauth_provider_get_callback_uri (GoaBackendOAuthProvider *provider)
+goa_oauth_provider_get_callback_uri (GoaOAuthProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_callback_uri (provider);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_callback_uri (provider);
}
/**
- * goa_backend_oauth_provider_get_identity_sync:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_identity_sync:
+ * @provider: A #GoaOAuthProvider.
* @access_token: A valid OAuth 1.0 access token.
* @access_token_secret: The valid secret for @access_token.
* @out_name: (out): Return location for name or %NULL.
@@ -366,8 +366,8 @@ goa_backend_oauth_provider_get_callback_uri (GoaBackendOAuthProvider *provider)
*
* The identity is needed because all authentication happens out of
* band. The only requirement is that the returned identity is unique
- * - for example, for #GoaBackendGoogleProvider the returned identity
- * is the email address, for #GoaBackendFacebookProvider it's the user
+ * - for example, for #GoaGoogleProvider the returned identity
+ * is the email address, for #GoaFacebookProvider it's the user
* name. In addition to the identity, an implementation also returns a
* <emphasis>name</emphasis> in @out_name that is more suitable for
* presentation (the identity could be a GUID for example) and doesn't
@@ -382,34 +382,34 @@ goa_backend_oauth_provider_get_callback_uri (GoaBackendOAuthProvider *provider)
* must be freed with g_free().
*/
gchar *
-goa_backend_oauth_provider_get_identity_sync (GoaBackendOAuthProvider *provider,
- const gchar *access_token,
- const gchar *access_token_secret,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error)
+goa_oauth_provider_get_identity_sync (GoaOAuthProvider *provider,
+ const gchar *access_token,
+ const gchar *access_token_secret,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error)
{
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
g_return_val_if_fail (access_token != NULL, NULL);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
- return GOA_BACKEND_OAUTH_PROVIDER_GET_CLASS (provider)->get_identity_sync (provider, access_token, access_token_secret, out_name, cancellable, error);
+ return GOA_OAUTH_PROVIDER_GET_CLASS (provider)->get_identity_sync (provider, access_token, access_token_secret, out_name, cancellable, error);
}
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-get_tokens_sync (GoaBackendOAuthProvider *provider,
- const gchar *token,
- const gchar *token_secret,
- const gchar *session_handle, /* may be NULL */
- const gchar *verifier, /* may be NULL */
- gchar **out_access_token_secret,
- gint *out_access_token_expires_in,
- gchar **out_session_handle,
- gint *out_session_handle_expires_in,
- GCancellable *cancellable,
- GError **error)
+get_tokens_sync (GoaOAuthProvider *provider,
+ const gchar *token,
+ const gchar *token_secret,
+ const gchar *session_handle, /* may be NULL */
+ const gchar *verifier, /* may be NULL */
+ gchar **out_access_token_secret,
+ gint *out_access_token_expires_in,
+ gchar **out_session_handle,
+ gint *out_session_handle_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
RestProxy *proxy;
RestProxyCall *call;
@@ -430,9 +430,9 @@ get_tokens_sync (GoaBackendOAuthProvider *provider,
ret_session_handle = NULL;
ret_session_handle_expires_in = 0;
- proxy = oauth_proxy_new (goa_backend_oauth_provider_get_consumer_key (provider),
- goa_backend_oauth_provider_get_consumer_secret (provider),
- goa_backend_oauth_provider_get_token_uri (provider),
+ proxy = oauth_proxy_new (goa_oauth_provider_get_consumer_key (provider),
+ goa_oauth_provider_get_consumer_secret (provider),
+ goa_oauth_provider_get_token_uri (provider),
FALSE);
oauth_proxy_set_token (OAUTH_PROXY (proxy), token);
oauth_proxy_set_token_secret (OAUTH_PROXY (proxy), token_secret);
@@ -510,7 +510,7 @@ get_tokens_sync (GoaBackendOAuthProvider *provider,
typedef struct
{
- GoaBackendOAuthProvider *provider;
+ GoaOAuthProvider *provider;
GtkDialog *dialog;
GError *error;
GMainLoop *loop;
@@ -544,7 +544,7 @@ on_web_view_navigation_policy_decision_requested (WebKitWebView *web
/* TODO: use oauth_proxy_extract_access_token() */
requested_uri = webkit_network_request_get_uri (request);
- redirect_uri = goa_backend_oauth_provider_get_callback_uri (data->provider);
+ redirect_uri = goa_oauth_provider_get_callback_uri (data->provider);
if (g_str_has_prefix (requested_uri, redirect_uri))
{
SoupMessage *message;
@@ -585,17 +585,17 @@ on_entry_changed (GtkEditable *editable,
}
static gboolean
-get_tokens_and_identity (GoaBackendOAuthProvider *provider,
- GtkDialog *dialog,
- GtkBox *vbox,
- gchar **out_access_token,
- gchar **out_access_token_secret,
- gint *out_access_token_expires_in,
- gchar **out_session_handle,
- gint *out_session_handle_expires_in,
- gchar **out_identity,
- gchar **out_name,
- GError **error)
+get_tokens_and_identity (GoaOAuthProvider *provider,
+ GtkDialog *dialog,
+ GtkBox *vbox,
+ gchar **out_access_token,
+ gchar **out_access_token_secret,
+ gint *out_access_token_expires_in,
+ gchar **out_session_handle,
+ gint *out_session_handle_expires_in,
+ gchar **out_identity,
+ gchar **out_name,
+ GError **error)
{
gboolean ret;
gchar *url;
@@ -608,7 +608,7 @@ get_tokens_and_identity (GoaBackendOAuthProvider *provider,
gchar **request_params;
guint n;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), FALSE);
g_return_val_if_fail (GTK_IS_DIALOG (dialog), FALSE);
g_return_val_if_fail (GTK_IS_BOX (vbox), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
@@ -620,7 +620,7 @@ get_tokens_and_identity (GoaBackendOAuthProvider *provider,
url = NULL;
request_params = NULL;
- use_external_browser = goa_backend_oauth_provider_get_use_external_browser (provider);
+ use_external_browser = goa_oauth_provider_get_use_external_browser (provider);
/* TODO: check with NM whether we're online, if not - return error */
@@ -629,17 +629,17 @@ get_tokens_and_identity (GoaBackendOAuthProvider *provider,
data.loop = g_main_loop_new (NULL, FALSE);
/* TODO: run in worker thread */
- proxy = oauth_proxy_new (goa_backend_oauth_provider_get_consumer_key (provider),
- goa_backend_oauth_provider_get_consumer_secret (provider),
- goa_backend_oauth_provider_get_request_uri (provider), FALSE);
+ proxy = oauth_proxy_new (goa_oauth_provider_get_consumer_key (provider),
+ goa_oauth_provider_get_consumer_secret (provider),
+ goa_oauth_provider_get_request_uri (provider), FALSE);
call = rest_proxy_new_call (proxy);
rest_proxy_call_set_method (call, "POST");
if (use_external_browser)
rest_proxy_call_add_param (call, "oauth_callback", "oob");
else
- rest_proxy_call_add_param (call, "oauth_callback", goa_backend_oauth_provider_get_callback_uri (provider));
+ rest_proxy_call_add_param (call, "oauth_callback", goa_oauth_provider_get_callback_uri (provider));
- request_params = goa_backend_oauth_provider_get_request_uri_params (provider);
+ request_params = goa_oauth_provider_get_request_uri_params (provider);
if (request_params != NULL)
{
g_assert (g_strv_length (request_params) % 2 == 0);
@@ -675,8 +675,8 @@ get_tokens_and_identity (GoaBackendOAuthProvider *provider,
}
escaped_request_token = g_uri_escape_string (data.request_token, NULL, TRUE);
- url = goa_backend_oauth_provider_build_authorization_uri (provider,
- goa_backend_oauth_provider_get_authorization_uri (provider),
+ url = goa_oauth_provider_build_authorization_uri (provider,
+ goa_oauth_provider_get_authorization_uri (provider),
escaped_request_token);
if (use_external_browser)
{
@@ -796,7 +796,7 @@ get_tokens_and_identity (GoaBackendOAuthProvider *provider,
}
/* TODO: run in worker thread */
- data.identity = goa_backend_oauth_provider_get_identity_sync (provider,
+ data.identity = goa_oauth_provider_get_identity_sync (provider,
data.access_token,
data.access_token_secret,
&data.name,
@@ -905,13 +905,13 @@ abs_usec_to_duration (gint64 abs_usec)
}
static GoaObject *
-goa_backend_oauth_provider_add_account (GoaBackendProvider *_provider,
- GoaClient *client,
- GtkDialog *dialog,
- GtkBox *vbox,
- GError **error)
+goa_oauth_provider_add_account (GoaProvider *_provider,
+ GoaClient *client,
+ GtkDialog *dialog,
+ GtkBox *vbox,
+ GError **error)
{
- GoaBackendOAuthProvider *provider = GOA_BACKEND_OAUTH_PROVIDER (_provider);
+ GoaOAuthProvider *provider = GOA_OAUTH_PROVIDER (_provider);
GoaObject *ret;
gchar *access_token;
gchar *access_token_secret;
@@ -925,7 +925,7 @@ goa_backend_oauth_provider_add_account (GoaBackendProvider *_provider,
AddData data;
GVariantBuilder builder;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
g_return_val_if_fail (GOA_IS_CLIENT (client), NULL);
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
g_return_val_if_fail (GTK_IS_BOX (vbox), NULL);
@@ -972,7 +972,7 @@ goa_backend_oauth_provider_add_account (GoaBackendProvider *_provider,
continue;
if (g_strcmp0 (goa_account_get_provider_type (account),
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider))) != 0)
+ goa_provider_get_provider_type (GOA_PROVIDER (provider))) != 0)
continue;
identity_from_object = goa_oauth_based_get_identity (oauth_based);
@@ -992,7 +992,7 @@ goa_backend_oauth_provider_add_account (GoaBackendProvider *_provider,
* waiting for this to complete
*/
goa_manager_call_add_account (goa_client_get_manager (client),
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider)),
+ goa_provider_get_provider_type (GOA_PROVIDER (provider)),
name, /* Name */
g_variant_new_parsed ("{'Identity': %s}",
identity),
@@ -1015,7 +1015,7 @@ goa_backend_oauth_provider_add_account (GoaBackendProvider *_provider,
g_variant_builder_add (&builder, "{sv}", "session_handle_expires_at",
g_variant_new_int64 (duration_to_abs_usec (session_handle_expires_in)));
/* TODO: run in worker thread */
- if (!goa_backend_provider_store_credentials_sync (GOA_BACKEND_PROVIDER (provider),
+ if (!goa_provider_store_credentials_sync (GOA_PROVIDER (provider),
identity,
g_variant_builder_end (&builder),
NULL, /* GCancellable */
@@ -1052,13 +1052,13 @@ goa_backend_oauth_provider_add_account (GoaBackendProvider *_provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_oauth_provider_refresh_account (GoaBackendProvider *_provider,
- GoaClient *client,
- GoaObject *object,
- GtkWindow *parent,
- GError **error)
+goa_oauth_provider_refresh_account (GoaProvider *_provider,
+ GoaClient *client,
+ GoaObject *object,
+ GtkWindow *parent,
+ GError **error)
{
- GoaBackendOAuthProvider *provider = GOA_BACKEND_OAUTH_PROVIDER (_provider);
+ GoaOAuthProvider *provider = GOA_OAUTH_PROVIDER (_provider);
GtkWidget *dialog;
gchar *access_token;
gchar *access_token_secret;
@@ -1070,7 +1070,7 @@ goa_backend_oauth_provider_refresh_account (GoaBackendProvider *_provider,
GVariantBuilder builder;
gboolean ret;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), FALSE);
g_return_val_if_fail (GOA_IS_CLIENT (client), FALSE);
g_return_val_if_fail (GOA_IS_OBJECT (object), FALSE);
g_return_val_if_fail (parent == NULL || GTK_IS_WINDOW (parent), FALSE);
@@ -1127,7 +1127,7 @@ goa_backend_oauth_provider_refresh_account (GoaBackendProvider *_provider,
g_variant_builder_add (&builder, "{sv}", "session_handle_expires_at",
g_variant_new_int64 (duration_to_abs_usec (session_handle_expires_in)));
/* TODO: run in worker thread */
- if (!goa_backend_provider_store_credentials_sync (GOA_BACKEND_PROVIDER (provider),
+ if (!goa_provider_store_credentials_sync (GOA_PROVIDER (provider),
identity,
g_variant_builder_end (&builder),
NULL, /* GCancellable */
@@ -1159,8 +1159,8 @@ free_mutex (GMutex *mutex)
}
/**
- * goa_backend_oauth_provider_get_access_token_sync:
- * @provider: A #GoaBackendOAuthProvider.
+ * goa_oauth_provider_get_access_token_sync:
+ * @provider: A #GoaOAuthProvider.
* @object: A #GoaObject.
* @force_refresh: If set to %TRUE, forces a refresh of the access token, if possible.
* @out_access_token_secret: (out): The secret for the return access token.
@@ -1184,20 +1184,20 @@ free_mutex (GMutex *mutex)
* This operation may fail if e.g. unable to refresh the credentials
* or if network connectivity is not available. Note that even if a
* token is returned, the returned token isn't guaranteed to work -
- * use goa_backend_provider_ensure_credentials_sync() if you need
+ * use goa_provider_ensure_credentials_sync() if you need
* stronger guarantees.
*
* Returns: The access token or %NULL if error is set. The returned
* string must be freed with g_free().
*/
gchar *
-goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *provider,
- GoaObject *object,
- gboolean force_refresh,
- gchar **out_access_token_secret,
- gint *out_access_token_expires_in,
- GCancellable *cancellable,
- GError **error)
+goa_oauth_provider_get_access_token_sync (GoaOAuthProvider *provider,
+ GoaObject *object,
+ gboolean force_refresh,
+ gchar **out_access_token_secret,
+ gint *out_access_token_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
const gchar *identity;
GVariant *credentials;
@@ -1217,7 +1217,7 @@ goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *pro
gchar *ret;
GMutex *lock;
- g_return_val_if_fail (GOA_IS_BACKEND_OAUTH_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_OAUTH_PROVIDER (provider), NULL);
g_return_val_if_fail (GOA_IS_OBJECT (object), NULL);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
@@ -1236,12 +1236,12 @@ goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *pro
/* provider_lock is too coarse, use a per-object lock instead */
G_LOCK (provider_lock);
- lock = g_object_get_data (G_OBJECT (object), "-goa-backend-oauth-provider-get-access-token-lock");
+ lock = g_object_get_data (G_OBJECT (object), "-goa-oauth-provider-get-access-token-lock");
if (lock == NULL)
{
lock = g_mutex_new ();
g_object_set_data_full (G_OBJECT (object),
- "-goa-backend-oauth-provider-get-access-token-lock",
+ "-goa-oauth-provider-get-access-token-lock",
lock,
(GDestroyNotify) free_mutex);
}
@@ -1251,7 +1251,7 @@ goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *pro
/* First, get the credentials from the keyring */
identity = goa_oauth_based_get_identity (goa_object_peek_oauth_based (object));
- credentials = goa_backend_provider_lookup_credentials_sync (GOA_BACKEND_PROVIDER (provider),
+ credentials = goa_provider_lookup_credentials_sync (GOA_PROVIDER (provider),
identity,
cancellable,
error);
@@ -1355,7 +1355,7 @@ goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *pro
identity = goa_oauth_based_get_identity (goa_object_peek_oauth_based (object));
/* TODO: run in worker thread */
- if (!goa_backend_provider_store_credentials_sync (GOA_BACKEND_PROVIDER (provider),
+ if (!goa_provider_store_credentials_sync (GOA_PROVIDER (provider),
identity,
g_variant_builder_end (&builder),
cancellable,
@@ -1401,16 +1401,16 @@ goa_backend_oauth_provider_get_access_token_sync (GoaBackendOAuthProvider *pro
/* ---------------------------------------------------------------------------------------------------- */
-static gboolean on_handle_get_access_token (GoaOAuthBased *object,
+static gboolean on_handle_get_access_token (GoaOAuthBased *object,
GDBusMethodInvocation *invocation,
gpointer user_data);
static gboolean
-goa_backend_oauth_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+goa_oauth_provider_build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
GoaOAuthBased *oauth_based;
gchar *identity;
@@ -1451,13 +1451,13 @@ goa_backend_oauth_provider_build_object (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_oauth_provider_ensure_credentials_sync (GoaBackendProvider *_provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error)
+goa_oauth_provider_ensure_credentials_sync (GoaProvider *_provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
- GoaBackendOAuthProvider *provider = GOA_BACKEND_OAUTH_PROVIDER (_provider);
+ GoaOAuthProvider *provider = GOA_OAUTH_PROVIDER (_provider);
gboolean ret;
gchar *access_token;
gchar *access_token_secret;
@@ -1472,7 +1472,7 @@ goa_backend_oauth_provider_ensure_credentials_sync (GoaBackendProvider *_provi
force_refresh = FALSE;
again:
- access_token = goa_backend_oauth_provider_get_access_token_sync (provider,
+ access_token = goa_oauth_provider_get_access_token_sync (provider,
object,
force_refresh,
&access_token_secret,
@@ -1482,7 +1482,7 @@ goa_backend_oauth_provider_ensure_credentials_sync (GoaBackendProvider *_provi
if (access_token == NULL)
goto out;
- identity = goa_backend_oauth_provider_get_identity_sync (provider,
+ identity = goa_oauth_provider_get_identity_sync (provider,
access_token,
access_token_secret,
NULL, /* out_name */
@@ -1520,37 +1520,37 @@ goa_backend_oauth_provider_ensure_credentials_sync (GoaBackendProvider *_provi
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_oauth_provider_init (GoaBackendOAuthProvider *client)
+goa_oauth_provider_init (GoaOAuthProvider *client)
{
}
static void
-goa_backend_oauth_provider_class_init (GoaBackendOAuthProviderClass *klass)
+goa_oauth_provider_class_init (GoaOAuthProviderClass *klass)
{
- GoaBackendProviderClass *provider_class;
+ GoaProviderClass *provider_class;
- provider_class = GOA_BACKEND_PROVIDER_CLASS (klass);
- provider_class->add_account = goa_backend_oauth_provider_add_account;
- provider_class->refresh_account = goa_backend_oauth_provider_refresh_account;
- provider_class->build_object = goa_backend_oauth_provider_build_object;
- provider_class->ensure_credentials_sync = goa_backend_oauth_provider_ensure_credentials_sync;
+ provider_class = GOA_PROVIDER_CLASS (klass);
+ provider_class->add_account = goa_oauth_provider_add_account;
+ provider_class->refresh_account = goa_oauth_provider_refresh_account;
+ provider_class->build_object = goa_oauth_provider_build_object;
+ provider_class->ensure_credentials_sync = goa_oauth_provider_ensure_credentials_sync;
- klass->build_authorization_uri = goa_backend_oauth_provider_build_authorization_uri_default;
- klass->get_use_external_browser = goa_backend_oauth_provider_get_use_external_browser_default;
- klass->get_request_uri_params = goa_backend_oauth_provider_get_request_uri_params_default;
+ klass->build_authorization_uri = goa_oauth_provider_build_authorization_uri_default;
+ klass->get_use_external_browser = goa_oauth_provider_get_use_external_browser_default;
+ klass->get_request_uri_params = goa_oauth_provider_get_request_uri_params_default;
}
/* ---------------------------------------------------------------------------------------------------- */
/* runs in a thread dedicated to handling @invocation */
static gboolean
-on_handle_get_access_token (GoaOAuthBased *interface,
+on_handle_get_access_token (GoaOAuthBased *interface,
GDBusMethodInvocation *invocation,
gpointer user_data)
{
GoaObject *object;
GoaAccount *account;
- GoaBackendProvider *provider;
+ GoaProvider *provider;
GError *error;
gchar *access_token;
gchar *access_token_secret;
@@ -1563,10 +1563,10 @@ on_handle_get_access_token (GoaOAuthBased *interface,
object = GOA_OBJECT (g_dbus_interface_get_object (G_DBUS_INTERFACE (interface)));
account = goa_object_peek_account (object);
- provider = goa_backend_provider_get_for_provider_type (goa_account_get_provider_type (account));
+ provider = goa_provider_get_for_provider_type (goa_account_get_provider_type (account));
error = NULL;
- access_token = goa_backend_oauth_provider_get_access_token_sync (GOA_BACKEND_OAUTH_PROVIDER (provider),
+ access_token = goa_oauth_provider_get_access_token_sync (GOA_OAUTH_PROVIDER (provider),
object,
FALSE, /* force_refresh */
&access_token_secret,
diff --git a/src/goabackend/goaoauthprovider.h b/src/goabackend/goaoauthprovider.h
new file mode 100644
index 0000000..1806cce
--- /dev/null
+++ b/src/goabackend/goaoauthprovider.h
@@ -0,0 +1,134 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
+#error "Only <goabackend/goabackend.h> can be included directly."
+#endif
+
+#ifndef __GOA_OAUTH_PROVIDER_H__
+#define __GOA_OAUTH_PROVIDER_H__
+
+#include <goabackend/goabackendtypes.h>
+#include <goabackend/goaprovider.h>
+
+G_BEGIN_DECLS
+
+#define GOA_TYPE_OAUTH_PROVIDER (goa_oauth_provider_get_type ())
+#define GOA_OAUTH_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_OAUTH_PROVIDER, GoaOAuthProvider))
+#define GOA_OAUTH_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_OAUTH_PROVIDER, GoaOAuthProviderClass))
+#define GOA_OAUTH_PROVIDER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_OAUTH_PROVIDER, GoaOAuthProviderClass))
+#define GOA_IS_OAUTH_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_OAUTH_PROVIDER))
+
+#define GOA_IS_OAUTH_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_OAUTH_PROVIDER))
+
+typedef struct _GoaOAuthProviderClass GoaOAuthProviderClass;
+typedef struct _GoaOAuthProviderPrivate GoaOAuthProviderPrivate;
+
+/**
+ * GoaOAuthProvider:
+ *
+ * The #GoaOAuthProvider structure contains only private data and should
+ * only be accessed using the provided API.
+ */
+struct _GoaOAuthProvider
+{
+ /*< private >*/
+ GoaProvider parent_instance;
+ GoaOAuthProviderPrivate *priv;
+};
+
+/**
+ * GoaOAuthProviderClass:
+ * @parent_class: The parent class.
+ * @get_consumer_key: Virtual function for goa_oauth_provider_get_consumer_key().
+ * @get_consumer_secret: Virtual function for goa_oauth_provider_get_consumer_secret().
+ * @get_request_uri: Virtual function for goa_oauth_provider_get_request_uri().
+ * @get_authorization_uri: Virtual function for goa_oauth_provider_get_authorization_uri().
+ * @get_token_uri: Virtual function for goa_oauth_provider_get_token_uri().
+ * @get_callback_uri: Virtual function for goa_oauth_provider_get_callback_uri().
+ * @get_identity_sync: Virtual function for goa_oauth_provider_get_identity_sync().
+ * @build_authorization_uri: Virtual function for goa_oauth_provider_build_authorization_uri().
+ * @get_use_external_browser: Virtual function for goa_oauth_provider_get_use_external_browser().
+ * @get_request_uri_params: Virtual function for goa_oauth_provider_get_request_uri_params().
+ *
+ * Class structure for #GoaOAuthProvider.
+ */
+struct _GoaOAuthProviderClass
+{
+ GoaProviderClass parent_class;
+
+ /* pure virtual */
+ const gchar *(*get_consumer_key) (GoaOAuthProvider *provider);
+ const gchar *(*get_consumer_secret) (GoaOAuthProvider *provider);
+ const gchar *(*get_request_uri) (GoaOAuthProvider *provider);
+ const gchar *(*get_authorization_uri) (GoaOAuthProvider *provider);
+ const gchar *(*get_token_uri) (GoaOAuthProvider *provider);
+ const gchar *(*get_callback_uri) (GoaOAuthProvider *provider);
+
+ gchar *(*get_identity_sync) (GoaOAuthProvider *provider,
+ const gchar *access_token,
+ const gchar *access_token_secret,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error);
+
+ /* virtual but with default implementation */
+ gchar *(*build_authorization_uri) (GoaOAuthProvider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_oauth_token);
+ gboolean (*get_use_external_browser) (GoaOAuthProvider *provider);
+ gchar **(*get_request_uri_params) (GoaOAuthProvider *provider);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ gpointer goa_reserved[32];
+};
+
+GType goa_oauth_provider_get_type (void) G_GNUC_CONST;
+const gchar *goa_oauth_provider_get_consumer_key (GoaOAuthProvider *provider);
+const gchar *goa_oauth_provider_get_consumer_secret (GoaOAuthProvider *provider);
+const gchar *goa_oauth_provider_get_request_uri (GoaOAuthProvider *provider);
+gchar **goa_oauth_provider_get_request_uri_params (GoaOAuthProvider *provider);
+const gchar *goa_oauth_provider_get_authorization_uri (GoaOAuthProvider *provider);
+const gchar *goa_oauth_provider_get_token_uri (GoaOAuthProvider *provider);
+const gchar *goa_oauth_provider_get_callback_uri (GoaOAuthProvider *provider);
+gchar *goa_oauth_provider_get_identity_sync (GoaOAuthProvider *provider,
+ const gchar *access_token,
+ const gchar *access_token_secret,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error);
+gchar *goa_oauth_provider_get_access_token_sync (GoaOAuthProvider *provider,
+ GoaObject *object,
+ gboolean force_refresh,
+ gchar **out_access_token_secret,
+ gint *out_access_token_expires_in,
+ GCancellable *cancellable,
+ GError **error);
+gchar *goa_oauth_provider_build_authorization_uri (GoaOAuthProvider *provider,
+ const gchar *authorization_uri,
+ const gchar *escaped_oauth_token);
+gboolean goa_oauth_provider_get_use_external_browser (GoaOAuthProvider *provider);
+
+G_END_DECLS
+
+#endif /* __GOA_OAUTH_PROVIDER_H__ */
diff --git a/src/goa/goabackendprovider.c b/src/goabackend/goaprovider.c
index 0499002..7ec7741 100644
--- a/src/goa/goabackendprovider.c
+++ b/src/goabackend/goaprovider.c
@@ -24,42 +24,42 @@
#include <glib/gi18n-lib.h>
#include <gnome-keyring.h>
-#include "goabackendprovider.h"
-#include "goabackendgoogleprovider.h"
-#include "goabackendfacebookprovider.h"
-#include "goabackendyahooprovider.h"
-#include "goabackendtwitterprovider.h"
+#include "goaprovider.h"
+#include "goagoogleprovider.h"
+#include "goafacebookprovider.h"
+#include "goayahooprovider.h"
+#include "goatwitterprovider.h"
/**
- * SECTION:goabackendprovider
- * @title: GoaBackendProvider
+ * SECTION:goaprovider
+ * @title: GoaProvider
* @short_description: Abstract base class for providers
*
- * #GoaBackendProvider is the base type for all providers.
+ * #GoaProvider is the base type for all providers.
*/
-static gboolean goa_backend_provider_ensure_credentials_sync_real (GoaBackendProvider *provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error);
+static gboolean goa_provider_ensure_credentials_sync_real (GoaProvider *provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error);
-G_DEFINE_ABSTRACT_TYPE (GoaBackendProvider, goa_backend_provider, G_TYPE_OBJECT);
+G_DEFINE_ABSTRACT_TYPE (GoaProvider, goa_provider, G_TYPE_OBJECT);
static void
-goa_backend_provider_init (GoaBackendProvider *client)
+goa_provider_init (GoaProvider *client)
{
}
static void
-goa_backend_provider_class_init (GoaBackendProviderClass *klass)
+goa_provider_class_init (GoaProviderClass *klass)
{
- klass->ensure_credentials_sync = goa_backend_provider_ensure_credentials_sync_real;
+ klass->ensure_credentials_sync = goa_provider_ensure_credentials_sync_real;
}
/**
- * goa_backend_provider_get_provider_type:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_get_provider_type:
+ * @provider: A #GoaProvider.
*
* Gets the type of @provider.
*
@@ -69,15 +69,15 @@ goa_backend_provider_class_init (GoaBackendProviderClass *klass)
* Returns: (transfer none): A string owned by @provider, do not free.
*/
const gchar *
-goa_backend_provider_get_provider_type (GoaBackendProvider *provider)
+goa_provider_get_provider_type (GoaProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), NULL);
- return GOA_BACKEND_PROVIDER_GET_CLASS (provider)->get_provider_type (provider);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), NULL);
+ return GOA_PROVIDER_GET_CLASS (provider)->get_provider_type (provider);
}
/**
- * goa_backend_provider_get_name:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_get_name:
+ * @provider: A #GoaProvider.
*
* Gets a localized name for @provider that is suitable for display in
* an user interface.
@@ -88,17 +88,17 @@ goa_backend_provider_get_provider_type (GoaBackendProvider *provider)
* Returns: (transfer none): A string owned by @provider, do not free.
*/
const gchar *
-goa_backend_provider_get_name (GoaBackendProvider *provider)
+goa_provider_get_name (GoaProvider *provider)
{
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), NULL);
- return GOA_BACKEND_PROVIDER_GET_CLASS (provider)->get_name (provider);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), NULL);
+ return GOA_PROVIDER_GET_CLASS (provider)->get_name (provider);
}
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_add_account:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_add_account:
+ * @provider: A #GoaProvider.
* @client: A #GoaClient.
* @dialog: A #GtkDialog.
* @vbox: A vertically oriented #GtkBox to put content in.
@@ -134,20 +134,20 @@ goa_backend_provider_get_name (GoaBackendProvider *provider)
* with g_object_unref()) or %NULL if @error is set.
*/
GoaObject *
-goa_backend_provider_add_account (GoaBackendProvider *provider,
- GoaClient *client,
- GtkDialog *dialog,
- GtkBox *vbox,
- GError **error)
+goa_provider_add_account (GoaProvider *provider,
+ GoaClient *client,
+ GtkDialog *dialog,
+ GtkBox *vbox,
+ GError **error)
{
GoaObject *ret;
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), NULL);
g_return_val_if_fail (GOA_IS_CLIENT (client), NULL);
g_return_val_if_fail (GTK_IS_DIALOG (dialog), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
- ret = GOA_BACKEND_PROVIDER_GET_CLASS (provider)->add_account (provider, client, dialog, vbox, error);
+ ret = GOA_PROVIDER_GET_CLASS (provider)->add_account (provider, client, dialog, vbox, error);
g_warn_if_fail ((ret == NULL && (error == NULL || *error != NULL)) || GOA_IS_OBJECT (ret));
@@ -157,8 +157,8 @@ goa_backend_provider_add_account (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_refresh_account:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_refresh_account:
+ * @provider: A #GoaProvider.
* @client: A #GoaClient.
* @object: A #GoaObject with a #GoaAccount interface.
* @parent: (allow-none): Transient parent of dialogs or %NULL.
@@ -182,26 +182,26 @@ goa_backend_provider_add_account (GoaBackendProvider *provider,
* is set.
*/
gboolean
-goa_backend_provider_refresh_account (GoaBackendProvider *provider,
- GoaClient *client,
- GoaObject *object,
- GtkWindow *parent,
- GError **error)
+goa_provider_refresh_account (GoaProvider *provider,
+ GoaClient *client,
+ GoaObject *object,
+ GtkWindow *parent,
+ GError **error)
{
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), FALSE);
g_return_val_if_fail (GOA_IS_CLIENT (client), FALSE);
g_return_val_if_fail (GOA_IS_OBJECT (object) && goa_object_peek_account (object) != NULL, FALSE);
g_return_val_if_fail (parent == NULL || GTK_IS_WINDOW (parent), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- return GOA_BACKEND_PROVIDER_GET_CLASS (provider)->refresh_account (provider, client, object, parent, error);
+ return GOA_PROVIDER_GET_CLASS (provider)->refresh_account (provider, client, object, parent, error);
}
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_build_object:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_build_object:
+ * @provider: A #GoaProvider.
* @object: The #GoaObjectSkeleton that is being built.
* @key_file: The #GKeyFile with configuation data.
* @group: The group in @key_file to get data from.
@@ -224,18 +224,18 @@ goa_backend_provider_refresh_account (GoaBackendProvider *provider,
* Returns: %TRUE if data was valid, %FALSE if @error is set.
*/
gboolean
-goa_backend_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+goa_provider_build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), FALSE);
g_return_val_if_fail (GOA_IS_OBJECT_SKELETON (object) && goa_object_peek_account (GOA_OBJECT (object)) != NULL, FALSE);
g_return_val_if_fail (key_file != NULL, FALSE);
g_return_val_if_fail (group != NULL, FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- return GOA_BACKEND_PROVIDER_GET_CLASS (provider)->build_object (provider, object, key_file, group, error);
+ return GOA_PROVIDER_GET_CLASS (provider)->build_object (provider, object, key_file, group, error);
}
/* ---------------------------------------------------------------------------------------------------- */
@@ -273,18 +273,18 @@ ensure_credentials_in_thread_func (GSimpleAsyncResult *simple,
data = g_simple_async_result_get_op_res_gpointer (simple);
error = NULL;
- if (!goa_backend_provider_ensure_credentials_sync (GOA_BACKEND_PROVIDER (object),
- data->object,
- &data->expires_in,
- cancellable,
- &error))
+ if (!goa_provider_ensure_credentials_sync (GOA_PROVIDER (object),
+ data->object,
+ &data->expires_in,
+ cancellable,
+ &error))
g_simple_async_result_take_error (simple, error);
}
/**
- * goa_backend_provider_ensure_credentials:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_ensure_credentials:
+ * @provider: A #GoaProvider.
* @object: A #GoaObject with a #GoaAccount interface.
* @cancellable: (allow-none): A #GCancellable or %NULL.
* @callback: The function to call when the request is satisfied.
@@ -295,7 +295,7 @@ ensure_credentials_in_thread_func (GSimpleAsyncResult *simple,
* When the result is ready, @callback will be called in the the <link
* linkend="g-main-context-push-thread-default">thread-default main
* loop</link> this function was called from. You can then call
- * goa_backend_provider_ensure_credentials_finish() to get the result
+ * goa_provider_ensure_credentials_finish() to get the result
* of the operation.
*
* This is a virtual method where the default implemention simply returns
@@ -303,22 +303,22 @@ ensure_credentials_in_thread_func (GSimpleAsyncResult *simple,
* another implementation.
*/
void
-goa_backend_provider_ensure_credentials (GoaBackendProvider *provider,
- GoaObject *object,
- GCancellable *cancellable,
- GAsyncReadyCallback callback,
- gpointer user_data)
+goa_provider_ensure_credentials (GoaProvider *provider,
+ GoaObject *object,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
{
GSimpleAsyncResult *simple;
- g_return_if_fail (GOA_IS_BACKEND_PROVIDER (provider));
+ g_return_if_fail (GOA_IS_PROVIDER (provider));
g_return_if_fail (GOA_IS_OBJECT (object));
g_return_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable));
simple = g_simple_async_result_new (G_OBJECT (provider),
callback,
user_data,
- goa_backend_provider_ensure_credentials);
+ goa_provider_ensure_credentials);
g_simple_async_result_set_op_res_gpointer (simple,
ensure_credentials_data_new (object),
(GDestroyNotify) ensure_credentials_data_free);
@@ -330,18 +330,18 @@ goa_backend_provider_ensure_credentials (GoaBackendProvider *provider,
}
/**
- * goa_backend_provider_ensure_credentials_finish:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_ensure_credentials_finish:
+ * @provider: A #GoaProvider.
* @out_expires_in: (out): Return location for how long the expired credentials are good for (0 if unknown) or %NULL.
- * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to goa_backend_provider_ensure_credentials().
+ * @res: A #GAsyncResult obtained from the #GAsyncReadyCallback passed to goa_provider_ensure_credentials().
* @error: Return location for error or %NULL.
*
- * Finishes an operation started with goa_backend_provider_ensure_credentials().
+ * Finishes an operation started with goa_provider_ensure_credentials().
*
* Returns: %TRUE if the credentials for the passed #GoaObject are valid, %FALSE if @error is set.
*/
gboolean
-goa_backend_provider_ensure_credentials_finish (GoaBackendProvider *provider,
+goa_provider_ensure_credentials_finish (GoaProvider *provider,
gint *out_expires_in,
GAsyncResult *res,
GError **error)
@@ -352,11 +352,11 @@ goa_backend_provider_ensure_credentials_finish (GoaBackendProvider *provider,
ret = FALSE;
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), FALSE);
g_return_val_if_fail (G_IS_ASYNC_RESULT (res), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == goa_backend_provider_ensure_credentials);
+ g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == goa_provider_ensure_credentials);
if (g_simple_async_result_propagate_error (simple, error))
goto out;
@@ -373,37 +373,37 @@ goa_backend_provider_ensure_credentials_finish (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_ensure_credentials_sync:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_ensure_credentials_sync:
+ * @provider: A #GoaProvider.
* @object: A #GoaObject with a #GoaAccount interface.
* @out_expires_in: (out): Return location for how long the expired credentials are good for (0 if unknown) or %NULL.
* @cancellable: (allow-none): A #GCancellable or %NULL.
* @error: Return location for error or %NULL.
*
- * Like goa_backend_provider_ensure_credentials() but blocks the
+ * Like goa_provider_ensure_credentials() but blocks the
* calling thread until an answer is received.
*
* Returns: %TRUE if the credentials for the passed #GoaObject are valid, %FALSE if @error is set.
*/
gboolean
-goa_backend_provider_ensure_credentials_sync (GoaBackendProvider *provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error)
+goa_provider_ensure_credentials_sync (GoaProvider *provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), FALSE);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
- return GOA_BACKEND_PROVIDER_GET_CLASS (provider)->ensure_credentials_sync (provider, object, out_expires_in, cancellable, error);
+ return GOA_PROVIDER_GET_CLASS (provider)->ensure_credentials_sync (provider, object, out_expires_in, cancellable, error);
}
static gboolean
-goa_backend_provider_ensure_credentials_sync_real (GoaBackendProvider *provider,
- GoaObject *object,
- gint *out_expires_in,
- GCancellable *cancellable,
- GError **error)
+goa_provider_ensure_credentials_sync_real (GoaProvider *provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error)
{
g_set_error (error,
GOA_ERROR,
@@ -425,13 +425,13 @@ ensure_ep_and_builtins (void)
GIOExtensionPoint *extension_point;
static volatile GType type = 0;
- extension_point = g_io_extension_point_register (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME);
- g_io_extension_point_set_required_type (extension_point, GOA_TYPE_BACKEND_PROVIDER);
+ extension_point = g_io_extension_point_register (GOA_PROVIDER_EXTENSION_POINT_NAME);
+ g_io_extension_point_set_required_type (extension_point, GOA_TYPE_PROVIDER);
- type = GOA_TYPE_BACKEND_GOOGLE_PROVIDER;
- type = GOA_TYPE_BACKEND_FACEBOOK_PROVIDER;
- type = GOA_TYPE_BACKEND_YAHOO_PROVIDER;
- type = GOA_TYPE_BACKEND_TWITTER_PROVIDER;
+ type = GOA_TYPE_GOOGLE_PROVIDER;
+ type = GOA_TYPE_FACEBOOK_PROVIDER;
+ type = GOA_TYPE_YAHOO_PROVIDER;
+ type = GOA_TYPE_TWITTER_PROVIDER;
type = type; /* for -Wunused-but-set-variable */
g_once_init_leave (&once_init_value, 1);
@@ -442,49 +442,49 @@ ensure_ep_and_builtins (void)
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_get_for_provider_type:
+ * goa_provider_get_for_provider_type:
* @provider_type: A provider type.
*
- * Looks up the %GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME extension
- * point and returns a newly created #GoaBackendProvider for
+ * Looks up the %GOA_PROVIDER_EXTENSION_POINT_NAME extension
+ * point and returns a newly created #GoaProvider for
* @provider_type, if any.
*
- * Returns: (transfer full): A #GoaBackendProvider (that must be freed
+ * Returns: (transfer full): A #GoaProvider (that must be freed
* with g_object_unref()) or %NULL if not found.
*/
-GoaBackendProvider *
-goa_backend_provider_get_for_provider_type (const gchar *provider_type)
+GoaProvider *
+goa_provider_get_for_provider_type (const gchar *provider_type)
{
GIOExtension *extension;
GIOExtensionPoint *extension_point;
- GoaBackendProvider *ret;
+ GoaProvider *ret;
ensure_ep_and_builtins ();
ret = NULL;
- extension_point = g_io_extension_point_lookup (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME);
+ extension_point = g_io_extension_point_lookup (GOA_PROVIDER_EXTENSION_POINT_NAME);
extension = g_io_extension_point_get_extension_by_name (extension_point, provider_type);
if (extension != NULL)
- ret = GOA_BACKEND_PROVIDER (g_object_new (g_io_extension_get_type (extension), NULL));
+ ret = GOA_PROVIDER (g_object_new (g_io_extension_get_type (extension), NULL));
return ret;
}
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_get_all:
+ * goa_provider_get_all:
*
- * Looks up the %GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME extension
- * point and returns a newly created #GoaBackendProvider for each
+ * Looks up the %GOA_PROVIDER_EXTENSION_POINT_NAME extension
+ * point and returns a newly created #GoaProvider for each
* provider type encountered.
*
- * Returns: (transfer full) (element-type GoaBackendProvider): A list
+ * Returns: (transfer full) (element-type GoaProvider): A list
* of element providers that should be freed with g_list_free()
* after each element has been freed with g_object_unref().
*/
GList *
-goa_backend_provider_get_all (void)
+goa_provider_get_all (void)
{
GList *ret;
GList *extensions;
@@ -494,7 +494,7 @@ goa_backend_provider_get_all (void)
ensure_ep_and_builtins ();
ret = NULL;
- extension_point = g_io_extension_point_lookup (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME);
+ extension_point = g_io_extension_point_lookup (GOA_PROVIDER_EXTENSION_POINT_NAME);
extensions = g_io_extension_point_get_extensions (extension_point);
/* TODO: what if there are two extensions with the same name? */
for (l = extensions; l != NULL; l = l->next)
@@ -518,8 +518,8 @@ static const GnomeKeyringPasswordSchema keyring_password_schema =
};
/**
- * goa_backend_provider_store_credentials_sync:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_store_credentials_sync:
+ * @provider: A #GoaProvider.
* @identity: The identity to store credentials for.
* @credentials: The credentials to store.
* @cancellable: (allow-none): A #GCancellable or %NULL.
@@ -536,11 +536,11 @@ static const GnomeKeyringPasswordSchema keyring_password_schema =
* if @error is set.
*/
gboolean
-goa_backend_provider_store_credentials_sync (GoaBackendProvider *provider,
- const gchar *identity,
- GVariant *credentials,
- GCancellable *cancellable,
- GError **error)
+goa_provider_store_credentials_sync (GoaProvider *provider,
+ const gchar *identity,
+ GVariant *credentials,
+ GCancellable *cancellable,
+ GError **error)
{
gboolean ret;
gchar *credentials_str;
@@ -548,7 +548,7 @@ goa_backend_provider_store_credentials_sync (GoaBackendProvider *provider,
gchar *password_key;
GnomeKeyringResult result;
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), FALSE);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), FALSE);
g_return_val_if_fail (identity != NULL, FALSE);
g_return_val_if_fail (credentials != NULL, FALSE);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), FALSE);
@@ -562,10 +562,10 @@ goa_backend_provider_store_credentials_sync (GoaBackendProvider *provider,
g_variant_unref (credentials);
password_key = g_strdup_printf ("%s:%s",
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider)),
+ goa_provider_get_provider_type (GOA_PROVIDER (provider)),
identity);
password_description = g_strdup_printf (_("GOA %s credentials for identity %s"),
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider)),
+ goa_provider_get_provider_type (GOA_PROVIDER (provider)),
identity);
result = gnome_keyring_store_password_sync (&keyring_password_schema,
NULL, /* default keyring */
@@ -595,14 +595,14 @@ goa_backend_provider_store_credentials_sync (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
/**
- * goa_backend_provider_lookup_credentials_sync:
- * @provider: A #GoaBackendProvider.
+ * goa_provider_lookup_credentials_sync:
+ * @provider: A #GoaProvider.
* @identity: The identity to look up credentials for.
* @cancellable: (allow-none): A #GCancellable or %NULL.
* @error: Return location for error or %NULL.
*
* Looks up credentials in the keyring for @identity previously stored
- * with goa_backend_provider_store_credentials().
+ * with goa_provider_store_credentials().
*
* The calling thread is blocked while waiting for a reply.
*
@@ -613,17 +613,17 @@ goa_backend_provider_store_credentials_sync (GoaBackendProvider *provider,
* g_variant_unref().
*/
GVariant *
-goa_backend_provider_lookup_credentials_sync (GoaBackendProvider *provider,
- const gchar *identity,
- GCancellable *cancellable,
- GError **error)
+goa_provider_lookup_credentials_sync (GoaProvider *provider,
+ const gchar *identity,
+ GCancellable *cancellable,
+ GError **error)
{
gchar *password_key;
GVariant *ret;
GnomeKeyringResult result;
gchar *returned_password;
- g_return_val_if_fail (GOA_IS_BACKEND_PROVIDER (provider), NULL);
+ g_return_val_if_fail (GOA_IS_PROVIDER (provider), NULL);
g_return_val_if_fail (identity != NULL, NULL);
g_return_val_if_fail (cancellable == NULL || G_IS_CANCELLABLE (cancellable), NULL);
g_return_val_if_fail (error == NULL || *error == NULL, NULL);
@@ -633,7 +633,7 @@ goa_backend_provider_lookup_credentials_sync (GoaBackendProvider *provider,
returned_password = NULL;
password_key = g_strdup_printf ("%s:%s",
- goa_backend_provider_get_provider_type (GOA_BACKEND_PROVIDER (provider)),
+ goa_provider_get_provider_type (GOA_PROVIDER (provider)),
identity);
result = gnome_keyring_find_password_sync (&keyring_password_schema,
diff --git a/src/goabackend/goaprovider.h b/src/goabackend/goaprovider.h
new file mode 100644
index 0000000..131e86b
--- /dev/null
+++ b/src/goabackend/goaprovider.h
@@ -0,0 +1,159 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
+#error "Only <goabackend/goabackend.h> can be included directly."
+#endif
+
+#ifndef __GOA_PROVIDER_H__
+#define __GOA_PROVIDER_H__
+
+#include <goabackend/goabackendtypes.h>
+
+G_BEGIN_DECLS
+
+#define GOA_TYPE_PROVIDER (goa_provider_get_type ())
+#define GOA_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_PROVIDER, GoaProvider))
+#define GOA_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GOA_TYPE_PROVIDER, GoaProviderClass))
+#define GOA_PROVIDER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GOA_TYPE_PROVIDER, GoaProviderClass))
+#define GOA_IS_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_PROVIDER))
+#define GOA_IS_PROVIDER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GOA_TYPE_PROVIDER))
+
+typedef struct _GoaProviderClass GoaProviderClass;
+typedef struct _GoaProviderPrivate GoaProviderPrivate;
+
+/**
+ * GoaProvider:
+ *
+ * The #GoaProvider structure contains only private data and should
+ * only be accessed using the provided API.
+ */
+struct _GoaProvider
+{
+ /*< private >*/
+ GObject parent_instance;
+ GoaProviderPrivate *priv;
+};
+
+/**
+ * GoaProviderClass:
+ * @parent_class: The parent class.
+ * @get_provider_type: Virtual function for goa_provider_get_provider_type().
+ * @get_name: Virtual function for goa_provider_get_name().
+ * @add_account: Virtual function for goa_provider_add_account().
+ * @refresh_account: Virtual function for goa_provider_refresh_account().
+ * @build_object: Virtual function for goa_provider_build_object().
+ * @ensure_credentials_sync: Virtual function for goa_provider_ensure_credentials_sync().
+ *
+ * Class structure for #GoaProvider.
+ */
+struct _GoaProviderClass
+{
+ GObjectClass parent_class;
+
+ /* pure virtual */
+ const gchar *(*get_provider_type) (GoaProvider *provider);
+ const gchar *(*get_name) (GoaProvider *provider);
+ GoaObject *(*add_account) (GoaProvider *provider,
+ GoaClient *client,
+ GtkDialog *dialog,
+ GtkBox *vbox,
+ GError **error);
+ gboolean (*refresh_account) (GoaProvider *provider,
+ GoaClient *client,
+ GoaObject *object,
+ GtkWindow *parent,
+ GError **error);
+ gboolean (*build_object) (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error);
+
+ /* virtual but with default implementation */
+ gboolean (*ensure_credentials_sync) (GoaProvider *provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error);
+
+ /*< private >*/
+ /* Padding for future expansion */
+ gpointer goa_reserved[32];
+};
+
+GType goa_provider_get_type (void) G_GNUC_CONST;
+const gchar *goa_provider_get_provider_type (GoaProvider *provider);
+const gchar *goa_provider_get_name (GoaProvider *provider);
+GoaObject *goa_provider_add_account (GoaProvider *provider,
+ GoaClient *client,
+ GtkDialog *dialog,
+ GtkBox *vbox,
+ GError **error);
+gboolean goa_provider_refresh_account (GoaProvider *provider,
+ GoaClient *client,
+ GoaObject *object,
+ GtkWindow *parent,
+ GError **error);
+gboolean goa_provider_build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error);
+gboolean goa_provider_store_credentials_sync (GoaProvider *provider,
+ const gchar *identity,
+ GVariant *credentials,
+ GCancellable *cancellable,
+ GError **error);
+GVariant *goa_provider_lookup_credentials_sync (GoaProvider *provider,
+ const gchar *identity,
+ GCancellable *cancellable,
+ GError **error);
+void goa_provider_ensure_credentials (GoaProvider *provider,
+ GoaObject *object,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data);
+gboolean goa_provider_ensure_credentials_finish (GoaProvider *provider,
+ gint *out_expires_in,
+ GAsyncResult *res,
+ GError **error);
+gboolean goa_provider_ensure_credentials_sync (GoaProvider *provider,
+ GoaObject *object,
+ gint *out_expires_in,
+ GCancellable *cancellable,
+ GError **error);
+
+
+/**
+ * GOA_PROVIDER_EXTENSION_POINT_NAME:
+ *
+ * Extension point for #GoaProvider implementations.
+ */
+#define GOA_PROVIDER_EXTENSION_POINT_NAME "goa-backend-provider"
+
+GList *goa_provider_get_all (void);
+GoaProvider *goa_provider_get_for_provider_type (const gchar *provider_type);
+
+G_END_DECLS
+
+#endif /* __GOA_PROVIDER_H__ */
diff --git a/src/goa/goabackendtwitterprovider.c b/src/goabackend/goatwitterprovider.c
index d036dd9..48c16aa 100644
--- a/src/goa/goabackendtwitterprovider.c
+++ b/src/goabackend/goatwitterprovider.c
@@ -26,39 +26,39 @@
#include <rest/oauth-proxy.h>
#include <json-glib/json-glib.h>
-#include "goabackendprovider.h"
-#include "goabackendoauthprovider.h"
-#include "goabackendtwitterprovider.h"
+#include "goaprovider.h"
+#include "goaoauthprovider.h"
+#include "goatwitterprovider.h"
/**
- * GoaBackendTwitterProvider:
+ * GoaTwitterProvider:
*
- * The #GoaBackendTwitterProvider structure contains only private data and should
+ * The #GoaTwitterProvider structure contains only private data and should
* only be accessed using the provided API.
*/
-struct _GoaBackendTwitterProvider
+struct _GoaTwitterProvider
{
/*< private >*/
- GoaBackendOAuthProvider parent_instance;
+ GoaOAuthProvider parent_instance;
};
-typedef struct _GoaBackendTwitterProviderClass GoaBackendTwitterProviderClass;
+typedef struct _GoaTwitterProviderClass GoaTwitterProviderClass;
-struct _GoaBackendTwitterProviderClass
+struct _GoaTwitterProviderClass
{
- GoaBackendOAuthProviderClass parent_class;
+ GoaOAuthProviderClass parent_class;
};
/**
- * SECTION:goabackendtwitterprovider
- * @title: GoaBackendTwitterProvider
+ * SECTION:goatwitterprovider
+ * @title: GoaTwitterProvider
* @short_description: A provider for Twitter
*
- * #GoaBackendTwitterProvider is used for handling Twitter accounts.
+ * #GoaTwitterProvider is used for handling Twitter accounts.
*/
-G_DEFINE_TYPE_WITH_CODE (GoaBackendTwitterProvider, goa_backend_twitter_provider, GOA_TYPE_BACKEND_OAUTH_PROVIDER,
- g_io_extension_point_implement (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME,
+G_DEFINE_TYPE_WITH_CODE (GoaTwitterProvider, goa_twitter_provider, GOA_TYPE_OAUTH_PROVIDER,
+ g_io_extension_point_implement (GOA_PROVIDER_EXTENSION_POINT_NAME,
g_define_type_id,
"twitter",
0));
@@ -66,37 +66,37 @@ G_DEFINE_TYPE_WITH_CODE (GoaBackendTwitterProvider, goa_backend_twitter_provider
/* ---------------------------------------------------------------------------------------------------- */
static const gchar *
-get_provider_type (GoaBackendProvider *_provider)
+get_provider_type (GoaProvider *_provider)
{
return "twitter";
}
static const gchar *
-get_name (GoaBackendProvider *_provider)
+get_name (GoaProvider *_provider)
{
return _("Twitter Account");
}
static const gchar *
-get_consumer_key (GoaBackendOAuthProvider *provider)
+get_consumer_key (GoaOAuthProvider *provider)
{
return "tlVEAXvkgqr0VUFyqVQ";
}
static const gchar *
-get_consumer_secret (GoaBackendOAuthProvider *provider)
+get_consumer_secret (GoaOAuthProvider *provider)
{
return "RN2FBARWy7scDmWFwfhIA6Qwf6kPYxZ0PIpVWzgpdU";
}
static const gchar *
-get_request_uri (GoaBackendOAuthProvider *provider)
+get_request_uri (GoaOAuthProvider *provider)
{
return "https://api.twitter.com/oauth/request_token";
}
static gchar **
-get_request_uri_params (GoaBackendOAuthProvider *provider)
+get_request_uri_params (GoaOAuthProvider *provider)
{
return NULL;
GPtrArray *p;
@@ -118,19 +118,19 @@ get_request_uri_params (GoaBackendOAuthProvider *provider)
static const gchar *
-get_authorization_uri (GoaBackendOAuthProvider *provider)
+get_authorization_uri (GoaOAuthProvider *provider)
{
return "https://api.twitter.com/oauth/authorize";
}
static const gchar *
-get_token_uri (GoaBackendOAuthProvider *provider)
+get_token_uri (GoaOAuthProvider *provider)
{
return "https://api.twitter.com/oauth/access_token";
}
static const gchar *
-get_callback_uri (GoaBackendOAuthProvider *provider)
+get_callback_uri (GoaOAuthProvider *provider)
{
return "https://www.gnome.org/goa-1.0/oauth";
}
@@ -138,12 +138,12 @@ get_callback_uri (GoaBackendOAuthProvider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-get_identity_sync (GoaBackendOAuthProvider *provider,
- const gchar *access_token,
- const gchar *access_token_secret,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error)
+get_identity_sync (GoaOAuthProvider *provider,
+ const gchar *access_token,
+ const gchar *access_token_secret,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error)
{
RestProxy *proxy;
RestProxyCall *call;
@@ -162,8 +162,8 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* TODO: cancellable */
- proxy = oauth_proxy_new_with_token (goa_backend_oauth_provider_get_consumer_key (provider),
- goa_backend_oauth_provider_get_consumer_secret (provider),
+ proxy = oauth_proxy_new_with_token (goa_oauth_provider_get_consumer_key (provider),
+ goa_oauth_provider_get_consumer_secret (provider),
access_token,
access_token_secret,
"https://api.twitter.com/1/account/verify_credentials.json",
@@ -235,11 +235,11 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_twitter_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
GoaAccount *account;
GoaTwitterAccount *twitter_account;
@@ -252,7 +252,7 @@ goa_backend_twitter_provider_build_object (GoaBackendProvider *provider,
ret = FALSE;
/* Chain up */
- if (!GOA_BACKEND_PROVIDER_CLASS (goa_backend_twitter_provider_parent_class)->build_object (provider,
+ if (!GOA_PROVIDER_CLASS (goa_twitter_provider_parent_class)->build_object (provider,
object,
key_file,
group,
@@ -295,7 +295,7 @@ goa_backend_twitter_provider_build_object (GoaBackendProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-get_use_external_browser (GoaBackendOAuthProvider *provider)
+get_use_external_browser (GoaOAuthProvider *provider)
{
/* For some reason this only works in a browser - bad callback URL? TODO: investigate */
return TRUE;
@@ -304,22 +304,22 @@ get_use_external_browser (GoaBackendOAuthProvider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_twitter_provider_init (GoaBackendTwitterProvider *client)
+goa_twitter_provider_init (GoaTwitterProvider *client)
{
}
static void
-goa_backend_twitter_provider_class_init (GoaBackendTwitterProviderClass *klass)
+goa_twitter_provider_class_init (GoaTwitterProviderClass *klass)
{
- GoaBackendProviderClass *provider_class;
- GoaBackendOAuthProviderClass *oauth_class;
+ GoaProviderClass *provider_class;
+ GoaOAuthProviderClass *oauth_class;
- provider_class = GOA_BACKEND_PROVIDER_CLASS (klass);
- provider_class->get_provider_type = get_provider_type;
- provider_class->get_name = get_name;
- provider_class->build_object = goa_backend_twitter_provider_build_object;
+ provider_class = GOA_PROVIDER_CLASS (klass);
+ provider_class->get_provider_type = get_provider_type;
+ provider_class->get_name = get_name;
+ provider_class->build_object = build_object;
- oauth_class = GOA_BACKEND_OAUTH_PROVIDER_CLASS (klass);
+ oauth_class = GOA_OAUTH_PROVIDER_CLASS (klass);
oauth_class->get_identity_sync = get_identity_sync;
oauth_class->get_consumer_key = get_consumer_key;
oauth_class->get_consumer_secret = get_consumer_secret;
diff --git a/src/goa/goabackendfacebookprovider.h b/src/goabackend/goatwitterprovider.h
index 256ed98..8164388 100644
--- a/src/goa/goabackendfacebookprovider.h
+++ b/src/goabackend/goatwitterprovider.h
@@ -21,22 +21,22 @@
*/
#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
-#error "Only <goa/goabackend.h> can be included directly."
+#error "Only <goabackend/goabackend.h> can be included directly."
#endif
-#ifndef __GOA_BACKEND_FACEBOOK_PROVIDER_H__
-#define __GOA_BACKEND_FACEBOOK_PROVIDER_H__
+#ifndef __GOA_TWITTER_PROVIDER_H__
+#define __GOA_TWITTER_PROVIDER_H__
-#include <goa/goabackendtypes.h>
+#include <goabackend/goabackendtypes.h>
G_BEGIN_DECLS
-#define GOA_TYPE_BACKEND_FACEBOOK_PROVIDER (goa_backend_facebook_provider_get_type ())
-#define GOA_BACKEND_FACEBOOK_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_BACKEND_FACEBOOK_PROVIDER, GoaBackendFacebookProvider))
-#define GOA_IS_BACKEND_FACEBOOK_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_BACKEND_FACEBOOK_PROVIDER))
+#define GOA_TYPE_TWITTER_PROVIDER (goa_twitter_provider_get_type ())
+#define GOA_TWITTER_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_TWITTER_PROVIDER, GoaTwitterProvider))
+#define GOA_IS_TWITTER_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_TWITTER_PROVIDER))
-GType goa_backend_facebook_provider_get_type (void) G_GNUC_CONST;
+GType goa_twitter_provider_get_type (void) G_GNUC_CONST;
G_END_DECLS
-#endif /* __GOA_BACKEND_FACEBOOK_PROVIDER_H__ */
+#endif /* __GOA_TWITTER_PROVIDER_H__ */
diff --git a/src/goa/goabackendyahooprovider.c b/src/goabackend/goayahooprovider.c
index c9ba5e8..604fc89 100644
--- a/src/goa/goabackendyahooprovider.c
+++ b/src/goabackend/goayahooprovider.c
@@ -26,39 +26,39 @@
#include <rest/oauth-proxy.h>
#include <json-glib/json-glib.h>
-#include "goabackendprovider.h"
-#include "goabackendoauthprovider.h"
-#include "goabackendyahooprovider.h"
+#include "goaprovider.h"
+#include "goaoauthprovider.h"
+#include "goayahooprovider.h"
/**
- * GoaBackendYahooProvider:
+ * GoaYahooProvider:
*
- * The #GoaBackendYahooProvider structure contains only private data and should
+ * The #GoaYahooProvider structure contains only private data and should
* only be accessed using the provided API.
*/
-struct _GoaBackendYahooProvider
+struct _GoaYahooProvider
{
/*< private >*/
- GoaBackendOAuthProvider parent_instance;
+ GoaOAuthProvider parent_instance;
};
-typedef struct _GoaBackendYahooProviderClass GoaBackendYahooProviderClass;
+typedef struct _GoaYahooProviderClass GoaYahooProviderClass;
-struct _GoaBackendYahooProviderClass
+struct _GoaYahooProviderClass
{
- GoaBackendOAuthProviderClass parent_class;
+ GoaOAuthProviderClass parent_class;
};
/**
- * SECTION:goabackendyahooprovider
- * @title: GoaBackendYahooProvider
+ * SECTION:goayahooprovider
+ * @title: GoaYahooProvider
* @short_description: A provider for Yahoo
*
- * #GoaBackendYahooProvider is used for handling Yahoo accounts.
+ * #GoaYahooProvider is used for handling Yahoo accounts.
*/
-G_DEFINE_TYPE_WITH_CODE (GoaBackendYahooProvider, goa_backend_yahoo_provider, GOA_TYPE_BACKEND_OAUTH_PROVIDER,
- g_io_extension_point_implement (GOA_BACKEND_PROVIDER_EXTENSION_POINT_NAME,
+G_DEFINE_TYPE_WITH_CODE (GoaYahooProvider, goa_yahoo_provider, GOA_TYPE_OAUTH_PROVIDER,
+ g_io_extension_point_implement (GOA_PROVIDER_EXTENSION_POINT_NAME,
g_define_type_id,
"yahoo",
0));
@@ -66,49 +66,49 @@ G_DEFINE_TYPE_WITH_CODE (GoaBackendYahooProvider, goa_backend_yahoo_provider, GO
/* ---------------------------------------------------------------------------------------------------- */
static const gchar *
-get_provider_type (GoaBackendProvider *_provider)
+get_provider_type (GoaProvider *_provider)
{
return "yahoo";
}
static const gchar *
-get_name (GoaBackendProvider *_provider)
+get_name (GoaProvider *_provider)
{
return _("Yahoo Account");
}
static const gchar *
-get_consumer_key (GoaBackendOAuthProvider *provider)
+get_consumer_key (GoaOAuthProvider *provider)
{
return "dj0yJmk9VnBYMGpGRVFBUVl3JmQ9WVdrOWNWZDZiVTUwTldNbWNHbzlPVFF5TURrNE5UWXkmcz1jb25zdW1lcnNlY3JldCZ4PTQ0";
}
static const gchar *
-get_consumer_secret (GoaBackendOAuthProvider *provider)
+get_consumer_secret (GoaOAuthProvider *provider)
{
return "33dd9ebe9f5724deabe657eff1de7c3f151cf7eb";
}
static const gchar *
-get_request_uri (GoaBackendOAuthProvider *provider)
+get_request_uri (GoaOAuthProvider *provider)
{
return "https://api.login.yahoo.com/oauth/v2/get_request_token";
}
static const gchar *
-get_authorization_uri (GoaBackendOAuthProvider *provider)
+get_authorization_uri (GoaOAuthProvider *provider)
{
return "https://api.login.yahoo.com/oauth/v2/request_auth";
}
static const gchar *
-get_token_uri (GoaBackendOAuthProvider *provider)
+get_token_uri (GoaOAuthProvider *provider)
{
return "https://api.login.yahoo.com/oauth/v2/get_token";
}
static const gchar *
-get_callback_uri (GoaBackendOAuthProvider *provider)
+get_callback_uri (GoaOAuthProvider *provider)
{
return "https://www.gnome.org/goa-1.0/oauth";
}
@@ -116,12 +116,12 @@ get_callback_uri (GoaBackendOAuthProvider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static gchar *
-get_identity_sync (GoaBackendOAuthProvider *provider,
- const gchar *access_token,
- const gchar *access_token_secret,
- gchar **out_name,
- GCancellable *cancellable,
- GError **error)
+get_identity_sync (GoaOAuthProvider *provider,
+ const gchar *access_token,
+ const gchar *access_token_secret,
+ gchar **out_name,
+ GCancellable *cancellable,
+ GError **error)
{
RestProxy *proxy;
RestProxyCall *call;
@@ -141,8 +141,8 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* TODO: cancellable */
- proxy = oauth_proxy_new_with_token (goa_backend_oauth_provider_get_consumer_key (provider),
- goa_backend_oauth_provider_get_consumer_secret (provider),
+ proxy = oauth_proxy_new_with_token (goa_oauth_provider_get_consumer_key (provider),
+ goa_oauth_provider_get_consumer_secret (provider),
access_token,
access_token_secret,
"http://social.yahooapis.com/v1/me/guid",
@@ -198,8 +198,8 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* OK, got the GUID, now get the name via http://developer.yahoo.com/social/rest_api_guide/usercard-resource.html */
g_object_unref (proxy);
g_object_unref (call);
- proxy = oauth_proxy_new_with_token (goa_backend_oauth_provider_get_consumer_key (provider),
- goa_backend_oauth_provider_get_consumer_secret (provider),
+ proxy = oauth_proxy_new_with_token (goa_oauth_provider_get_consumer_key (provider),
+ goa_oauth_provider_get_consumer_secret (provider),
access_token,
access_token_secret,
"http://social.yahooapis.com/v1/user/%s/profile/usercard",
@@ -276,11 +276,11 @@ get_identity_sync (GoaBackendOAuthProvider *provider,
/* ---------------------------------------------------------------------------------------------------- */
static gboolean
-goa_backend_yahoo_provider_build_object (GoaBackendProvider *provider,
- GoaObjectSkeleton *object,
- GKeyFile *key_file,
- const gchar *group,
- GError **error)
+build_object (GoaProvider *provider,
+ GoaObjectSkeleton *object,
+ GKeyFile *key_file,
+ const gchar *group,
+ GError **error)
{
GoaAccount *account;
GoaYahooAccount *yahoo_account;
@@ -293,11 +293,11 @@ goa_backend_yahoo_provider_build_object (GoaBackendProvider *provider,
ret = FALSE;
/* Chain up */
- if (!GOA_BACKEND_PROVIDER_CLASS (goa_backend_yahoo_provider_parent_class)->build_object (provider,
- object,
- key_file,
- group,
- error))
+ if (!GOA_PROVIDER_CLASS (goa_yahoo_provider_parent_class)->build_object (provider,
+ object,
+ key_file,
+ group,
+ error))
goto out;
account = goa_object_get_account (GOA_OBJECT (object));
@@ -334,7 +334,7 @@ goa_backend_yahoo_provider_build_object (GoaBackendProvider *provider,
}
static gboolean
-get_use_external_browser (GoaBackendOAuthProvider *provider)
+get_use_external_browser (GoaOAuthProvider *provider)
{
return FALSE;
}
@@ -342,22 +342,22 @@ get_use_external_browser (GoaBackendOAuthProvider *provider)
/* ---------------------------------------------------------------------------------------------------- */
static void
-goa_backend_yahoo_provider_init (GoaBackendYahooProvider *client)
+goa_yahoo_provider_init (GoaYahooProvider *client)
{
}
static void
-goa_backend_yahoo_provider_class_init (GoaBackendYahooProviderClass *klass)
+goa_yahoo_provider_class_init (GoaYahooProviderClass *klass)
{
- GoaBackendProviderClass *provider_class;
- GoaBackendOAuthProviderClass *oauth_class;
+ GoaProviderClass *provider_class;
+ GoaOAuthProviderClass *oauth_class;
- provider_class = GOA_BACKEND_PROVIDER_CLASS (klass);
- provider_class->get_provider_type = get_provider_type;
- provider_class->get_name = get_name;
- provider_class->build_object = goa_backend_yahoo_provider_build_object;
+ provider_class = GOA_PROVIDER_CLASS (klass);
+ provider_class->get_provider_type = get_provider_type;
+ provider_class->get_name = get_name;
+ provider_class->build_object = build_object;
- oauth_class = GOA_BACKEND_OAUTH_PROVIDER_CLASS (klass);
+ oauth_class = GOA_OAUTH_PROVIDER_CLASS (klass);
oauth_class->get_identity_sync = get_identity_sync;
oauth_class->get_consumer_key = get_consumer_key;
oauth_class->get_consumer_secret = get_consumer_secret;
diff --git a/src/goabackend/goayahooprovider.h b/src/goabackend/goayahooprovider.h
new file mode 100644
index 0000000..2315703
--- /dev/null
+++ b/src/goabackend/goayahooprovider.h
@@ -0,0 +1,42 @@
+/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
+/*
+ * Copyright (C) 2011 Red Hat, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ *
+ * Author: David Zeuthen <davidz@redhat.com>
+ */
+
+#if !defined (__GOA_BACKEND_INSIDE_GOA_BACKEND_H__) && !defined (GOA_BACKEND_COMPILATION)
+#error "Only <goabackend/goabackend.h> can be included directly."
+#endif
+
+#ifndef __GOA_YAHOO_PROVIDER_H__
+#define __GOA_YAHOO_PROVIDER_H__
+
+#include <goabackend/goabackendtypes.h>
+
+G_BEGIN_DECLS
+
+#define GOA_TYPE_YAHOO_PROVIDER (goa_yahoo_provider_get_type ())
+#define GOA_YAHOO_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GOA_TYPE_YAHOO_PROVIDER, GoaYahooProvider))
+#define GOA_IS_YAHOO_PROVIDER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GOA_TYPE_YAHOO_PROVIDER))
+
+GType goa_yahoo_provider_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* __GOA_YAHOO_PROVIDER_H__ */
diff --git a/src/panel/Makefile.am b/src/panel/Makefile.am
index e29aec1..e51878a 100644
--- a/src/panel/Makefile.am
+++ b/src/panel/Makefile.am
@@ -40,7 +40,7 @@ libgoa_panel_la_LIBADD = \
$(GTK_LIBS) \
$(GNOME_CONTROL_CENTER_LIBS) \
$(top_builddir)/src/goa/libgoa.la \
- $(top_builddir)/src/goa/libgoa-backend.la \
+ $(top_builddir)/src/goabackend/libgoa-backend.la \
$(NULL)
clean-local :
diff --git a/src/panel/goapanel.c b/src/panel/goapanel.c
index 2aea59e..9cd1a29 100644
--- a/src/panel/goapanel.c
+++ b/src/panel/goapanel.c
@@ -26,7 +26,7 @@
#include <glib/gi18n-lib.h>
#include <goa/goa.h>
-#include <goa/goabackend.h>
+#include <goabackend/goabackend.h>
#include "goapanel.h"
#include "goapanelaccountsmodel.h"
@@ -296,7 +296,7 @@ on_info_bar_response (GtkInfoBar *info_bar,
NULL,
&iter))
{
- GoaBackendProvider *provider;
+ GoaProvider *provider;
const gchar *provider_type;
GoaAccount *account;
GoaObject *object;
@@ -310,16 +310,16 @@ on_info_bar_response (GtkInfoBar *info_bar,
account = goa_object_peek_account (object);
provider_type = goa_account_get_provider_type (account);
- provider = goa_backend_provider_get_for_provider_type (provider_type);
+ provider = goa_provider_get_for_provider_type (provider_type);
parent = GTK_WINDOW (cc_shell_get_toplevel (cc_panel_get_shell (CC_PANEL (panel))));
error = NULL;
- if (!goa_backend_provider_refresh_account (provider,
- panel->client,
- object,
- parent,
- &error))
+ if (!goa_provider_refresh_account (provider,
+ panel->client,
+ object,
+ parent,
+ &error))
{
if (!(error->domain == GOA_ERROR && error->code == GOA_ERROR_DIALOG_DISMISSED))
{
@@ -381,7 +381,7 @@ show_page_account (GoaPanel *panel,
GtkWidget *label;
GtkWidget *editable_label;
guint row;
- GoaBackendProvider *provider;
+ GoaProvider *provider;
GoaAccount *account;
GoaGoogleAccount *gaccount;
GoaFacebookAccount *fbaccount;
@@ -403,7 +403,7 @@ show_page_account (GoaPanel *panel,
gaccount = goa_object_peek_google_account (object);
fbaccount = goa_object_peek_facebook_account (object);
provider_type = goa_account_get_provider_type (account);
- provider = goa_backend_provider_get_for_provider_type (provider_type);
+ provider = goa_provider_get_for_provider_type (provider_type);
/* And in with the new */
if (goa_account_get_attention_needed (account))
@@ -436,7 +436,7 @@ show_page_account (GoaPanel *panel,
if (provider != NULL)
{
- s = g_strdup (goa_backend_provider_get_name (provider));
+ s = g_strdup (goa_provider_get_name (provider));
}
else
{
@@ -527,7 +527,7 @@ on_toolbar_add_button_clicked (GtkToolButton *button,
GtkWidget *combo_box;
gint response;
GList *providers;
- GoaBackendProvider *provider;
+ GoaProvider *provider;
GList *children;
GList *l;
GoaObject *object;
@@ -552,13 +552,13 @@ on_toolbar_add_button_clicked (GtkToolButton *button,
label = gtk_label_new (_("Account Type:"));
combo_box = gtk_combo_box_text_new ();
- providers = goa_backend_provider_get_all ();
+ providers = goa_provider_get_all ();
for (l = providers; l != NULL; l = l->next)
{
- GoaBackendProvider *provider = GOA_BACKEND_PROVIDER (l->data);
+ GoaProvider *provider = GOA_PROVIDER (l->data);
gtk_combo_box_text_append (GTK_COMBO_BOX_TEXT (combo_box),
- goa_backend_provider_get_provider_type (provider),
- goa_backend_provider_get_name (provider));
+ goa_provider_get_provider_type (provider),
+ goa_provider_get_name (provider));
}
gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 0);
@@ -589,7 +589,7 @@ on_toolbar_add_button_clicked (GtkToolButton *button,
}
gtk_container_remove (GTK_CONTAINER (gtk_widget_get_parent (add_account_button)), add_account_button);
- provider = goa_backend_provider_get_for_provider_type (gtk_combo_box_get_active_id (GTK_COMBO_BOX (combo_box)));
+ provider = goa_provider_get_for_provider_type (gtk_combo_box_get_active_id (GTK_COMBO_BOX (combo_box)));
g_assert (provider != NULL);
/* Prepare GtkDialog for the provider */
@@ -603,11 +603,11 @@ on_toolbar_add_button_clicked (GtkToolButton *button,
g_list_free (children);
error = NULL;
- object = goa_backend_provider_add_account (provider,
- panel->client,
- GTK_DIALOG (dialog),
- GTK_BOX (vbox),
- &error);
+ object = goa_provider_add_account (provider,
+ panel->client,
+ GTK_DIALOG (dialog),
+ GTK_BOX (vbox),
+ &error);
if (object != NULL)
{
GtkTreeIter iter;