Blame doc/html/GoaProvider.html

Packit 79f644
Packit 79f644
<html>
Packit 79f644
<head>
Packit 79f644
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit 79f644
<title>GoaProvider: GNOME Online Accounts Reference Manual</title>
Packit 79f644
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit 79f644
<link rel="home" href="index.html" title="GNOME Online Accounts Reference Manual">
Packit 79f644
<link rel="up" href="ch07.html" title="Core">
Packit 79f644
<link rel="prev" href="goa-goautil.html" title="goautil">
Packit 79f644
<link rel="next" href="GoaOAuthProvider.html" title="GoaOAuthProvider">
Packit 79f644
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
Packit 79f644
<link rel="stylesheet" href="style.css" type="text/css">
Packit 79f644
</head>
Packit 79f644
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit 79f644
Packit 79f644
Packit 79f644
Top  | 
Packit 79f644
                  Description  | 
Packit 79f644
                  Object Hierarchy  | 
Packit 79f644
                  Properties
Packit 79f644
Packit 79f644
Home
Packit 79f644
Up
Packit 79f644
Prev
Packit 79f644
Next
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

GoaProvider

Packit 79f644

GoaProvider — Abstract base class for providers

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Functions

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
const gchar *
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_provider_type ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
gchar *
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_provider_name ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GIcon *
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_provider_icon ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GoaProviderGroup
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_provider_group ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GoaProviderFeatures
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_provider_features ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
gboolean
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_build_object ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GoaObject *
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_add_account ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
void
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_set_preseed_data ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GVariant *
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_preseed_data ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
gboolean
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_refresh_account ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
void
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_show_account ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
void
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_ensure_credentials ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
gboolean
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_ensure_credentials_finish ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
gboolean
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_ensure_credentials_sync ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
guint
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_credentials_generation ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
void
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_all ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GoaProvider *
Packit 79f644
Packit 79f644
Packit 79f644
goa_provider_get_for_provider_type ()
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Properties

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
GVariant *
Packit 79f644
preseed-data
Packit 79f644
Read / Write
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Types and Values

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
 
Packit 79f644
GoaProvider
Packit 79f644
Packit 79f644
Packit 79f644
 
Packit 79f644
GoaProviderClass
Packit 79f644
Packit 79f644
Packit 79f644
enum
Packit 79f644
GoaProviderGroup
Packit 79f644
Packit 79f644
Packit 79f644
enum
Packit 79f644
GoaProviderFeatures
Packit 79f644
Packit 79f644
Packit 79f644
#define
Packit 79f644
GOA_PROVIDER_EXTENSION_POINT_NAME
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Object Hierarchy

Packit 79f644
    GObject
Packit 79f644
    ╰── GoaProvider
Packit 79f644
        ├── GoaOAuthProvider
Packit 79f644
        ╰── GoaOAuth2Provider
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Description

Packit 79f644

GoaProvider is the base type for all providers.

Packit 79f644
Packit 79f644
Packit 79f644

Functions

Packit 79f644
Packit 79f644

goa_provider_get_provider_type ()

Packit 79f644
const gchar *
Packit 79f644
goa_provider_get_provider_type (GoaProvider *self);
Packit 79f644

Gets the type of self

Packit 79f644
.

Packit 79f644

This is a pure virtual method - a subclass must provide an

Packit 79f644
implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

A string owned by self

Packit 79f644
, do not free. 

Packit 79f644

[transfer none]

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_provider_name ()

Packit 79f644
gchar *
Packit 79f644
goa_provider_get_provider_name (GoaProvider *self,
Packit 79f644
                                GoaObject *object);
Packit 79f644

Gets a name for self

Packit 79f644
 and object
Packit 79f644
 that is suitable for display
Packit 79f644
in an user interface. The returned value may depend on object
Packit 79f644
 (if
Packit 79f644
it's not NULL) - for example, hosted accounts might return a
Packit 79f644
different name.

Packit 79f644

This is a pure virtual method - a subclass must provide an

Packit 79f644
implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

A GoaObject for an account.

Packit 79f644
[allow-none]
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

A string that should be freed with g_free().

Packit 79f644

[transfer full]

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_provider_icon ()

Packit 79f644
GIcon *
Packit 79f644
goa_provider_get_provider_icon (GoaProvider *self,
Packit 79f644
                                GoaObject *object);
Packit 79f644

Gets an icon for self

Packit 79f644
 and object
Packit 79f644
 that is suitable for display
Packit 79f644
in an user interface. The returned value may depend on object
Packit 79f644
 -
Packit 79f644
for example, hosted accounts might return a different icon.

Packit 79f644

This is a virtual method with a default implementation that returns

Packit 79f644
a GThemedIcon with fallbacks constructed from the name
Packit 79f644
goa-account-TYPE where TYPE
Packit 79f644
is the return value of goa_provider_get_provider_type().

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

A GoaObject for an account.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

An icon that should be freed with g_object_unref().

Packit 79f644

[transfer full]

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_provider_group ()

Packit 79f644
GoaProviderGroup
Packit 79f644
goa_provider_get_provider_group (GoaProvider *self);
Packit 79f644
Packit 79f644

goa_provider_get_provider_group has been deprecated since version 3.10 and should not be used in newly-written code.

Packit 79f644

Use goa_provider_get_provider_features() instead.

Packit 79f644
Packit 79f644

Gets the group to which self

Packit 79f644
 belongs that is suitable for
Packit 79f644
organizing the providers while displaying them in an user
Packit 79f644
interface.

Packit 79f644

This is a pure virtual method - a subclass must provide an

Packit 79f644
implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

A GoaProviderGroup.

Packit 79f644
Packit 79f644

Since: 3.8

Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_provider_features ()

Packit 79f644
GoaProviderFeatures
Packit 79f644
goa_provider_get_provider_features (GoaProvider *self);
Packit 79f644

Get the features bitmask (eg. GOA_PROVIDER_FEATURE_CHAT|GOA_PROVIDER_FEATURE_CONTACTS)

Packit 79f644
supported by the provider.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

The GoaProviderFeatures bitmask with the provided features.

Packit 79f644
Packit 79f644

Since: 3.10

Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_build_object ()

Packit 79f644
gboolean
Packit 79f644
goa_provider_build_object (GoaProvider *self,
Packit 79f644
                           GoaObjectSkeleton *object,
Packit 79f644
                           GKeyFile *key_file,
Packit 79f644
                           const gchar *group,
Packit 79f644
                           GDBusConnection *connection,
Packit 79f644
                           gboolean just_added,
Packit 79f644
                           GError **error);
Packit 79f644

This method is called when construction account GoaObject

Packit 79f644
from configuration data - it basically provides a way to add
Packit 79f644
provider-specific information.

Packit 79f644

The passed in object

Packit 79f644
 will have a GoaAccount interface
Packit 79f644
set. Implementations should validate and use data from key_file
Packit 79f644
 to
Packit 79f644
add more interfaces to object
Packit 79f644
.

Packit 79f644

Note that this may be called on already exported objects - for

Packit 79f644
example on configuration files reload.

Packit 79f644

This is a pure virtual method - a subclass must provide an

Packit 79f644
implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

The GoaObjectSkeleton that is being built.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

key_file

Packit 79f644

The GKeyFile with configuation data.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

group

Packit 79f644

The group in key_file

Packit 79f644
to get data from.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

connection

Packit 79f644

The GDBusConnection used by the daemon to connect to the message bus.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

just_added

Packit 79f644

Whether the account was newly created or being updated.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

error

Packit 79f644

Return location for error or NULL.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

TRUE if data was valid, FALSE if error

Packit 79f644
is set.

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_add_account ()

Packit 79f644
GoaObject *
Packit 79f644
goa_provider_add_account (GoaProvider *self,
Packit 79f644
                          GoaClient *client,
Packit 79f644
                          GtkDialog *dialog,
Packit 79f644
                          GtkBox *vbox,
Packit 79f644
                          GError **error);
Packit 79f644

This method brings up the user interface necessary to create a new

Packit 79f644
account on client
Packit 79f644
 of the type for self
Packit 79f644
, interacts with the
Packit 79f644
user to get all information needed and creates the account.

Packit 79f644

The passed in dialog

Packit 79f644
 widget is guaranteed to be visible with vbox
Packit 79f644
Packit 79f644
being empty and the only visible widget in dialog
Packit 79f644
's content
Packit 79f644
area. The dialog has exactly one action widget, a cancel button
Packit 79f644
with response id GTK_RESPONSE_CANCEL. Implementations are free to
Packit 79f644
add additional action widgets, as needed.

Packit 79f644

If an account was successfully created, a GoaObject for the

Packit 79f644
created account is returned. If dialog
Packit 79f644
 is dismissed, NULL is
Packit 79f644
returned and error
Packit 79f644
 is set to GOA_ERROR_DIALOG_DISMISSED. If an
Packit 79f644
account couldn't be created then error
Packit 79f644
 is set. In some cases,
Packit 79f644
for example, when the credentials could not be stored in the
Packit 79f644
keyring, a GoaObject can be returned even if error
Packit 79f644
 is set.

Packit 79f644

The caller will always show an error dialog if error

Packit 79f644
 is set unless
Packit 79f644
the error is GOA_ERROR_DIALOG_DISMISSED.

Packit 79f644

Implementations should run the default main loop while

Packit 79f644
interacting with the user and may do so using e.g. gtk_dialog_run()
Packit 79f644
on dialog
Packit 79f644
.

Packit 79f644

This is a pure virtual method - a subclass must provide an

Packit 79f644
implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

client

Packit 79f644

A GoaClient.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

dialog

Packit 79f644

A GtkDialog.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

vbox

Packit 79f644

A vertically oriented GtkBox to put content in.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

error

Packit 79f644

Return location for error or NULL.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

The GoaObject for the created account (must be relased

Packit 79f644
with g_object_unref()) or NULL if error
Packit 79f644
is set.

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_set_preseed_data ()

Packit 79f644
void
Packit 79f644
goa_provider_set_preseed_data (GoaProvider *self,
Packit 79f644
                               GVariant *preseed_data);
Packit 79f644
Packit 79f644

goa_provider_set_preseed_data has been deprecated since version 3.28 and should not be used in newly-written code.

Packit 79f644

This function does nothing.

Packit 79f644
Packit 79f644

Sets the “preseed-data” property to feed any information already

Packit 79f644
collected that can be useful when creating a new account.

Packit 79f644

If the preseed_data

Packit 79f644
 GVariant is floating, it is consumed to allow
Packit 79f644
'inline' use of the g_variant_new() family of functions.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

The GoaProvider

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

preseed_data

Packit 79f644

A GVariant of type a{sv}

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_preseed_data ()

Packit 79f644
GVariant *
Packit 79f644
goa_provider_get_preseed_data (GoaProvider *self);
Packit 79f644
Packit 79f644

goa_provider_get_preseed_data has been deprecated since version 3.28 and should not be used in newly-written code.

Packit 79f644

This function does nothing.

Packit 79f644
Packit 79f644

Gets the GVariant set through the “preseed-data” property.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

The GoaProvider

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

A GVariant that is known to be valid until

Packit 79f644
the property is overridden or the provider freed. 

Packit 79f644

[transfer none]

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_refresh_account ()

Packit 79f644
gboolean
Packit 79f644
goa_provider_refresh_account (GoaProvider *self,
Packit 79f644
                              GoaClient *client,
Packit 79f644
                              GoaObject *object,
Packit 79f644
                              GtkWindow *parent,
Packit 79f644
                              GError **error);
Packit 79f644

This method brings up the user interface necessary for refreshing

Packit 79f644
the credentials for the account specified by object
Packit 79f644
. This
Packit 79f644
typically involves having the user log in to the account again.

Packit 79f644

Implementations should use parent

Packit 79f644
 (unless NULL) as the transient
Packit 79f644
parent of any created windows/dialogs.

Packit 79f644

Implementations should run the default main loop while

Packit 79f644
interacting with the user.

Packit 79f644

This is a pure virtual method - a subclass must provide an

Packit 79f644
implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

client

Packit 79f644

A GoaClient.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

A GoaObject with a GoaAccount interface.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

parent

Packit 79f644

Transient parent of dialogs or NULL.

Packit 79f644
[allow-none]
Packit 79f644
Packit 79f644
Packit 79f644

error

Packit 79f644

Return location for error or NULL.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

TRUE if the account has been refreshed, FALSE if error

Packit 79f644
is set.

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_show_account ()

Packit 79f644
void
Packit 79f644
goa_provider_show_account (GoaProvider *self,
Packit 79f644
                           GoaClient *client,
Packit 79f644
                           GoaObject *object,
Packit 79f644
                           GtkBox *vbox,
Packit 79f644
                           GtkGrid *dummy1,
Packit 79f644
                           GtkGrid *dummy2);
Packit 79f644

Method used to add widgets in the control panel for the account

Packit 79f644
represented by object
Packit 79f644
.

Packit 79f644

This is a virtual method where the default implementation adds

Packit 79f644
one GtkSwitch per service supported by the provider (as reported
Packit 79f644
by goa_provider_get_provider_features()).

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

client

Packit 79f644

A GoaClient.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

A GoaObject with a GoaAccount interface.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

vbox

Packit 79f644

A vertically oriented GtkBox to put content in.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

grid

Packit 79f644

A GtkGrid to put content in.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

dummy

Packit 79f644

Unused.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_ensure_credentials ()

Packit 79f644
void
Packit 79f644
goa_provider_ensure_credentials (GoaProvider *self,
Packit 79f644
                                 GoaObject *object,
Packit 79f644
                                 GCancellable *cancellable,
Packit 79f644
                                 GAsyncReadyCallback callback,
Packit 79f644
                                 gpointer user_data);
Packit 79f644

Ensures that credentials for object

Packit 79f644
 are still valid.

Packit 79f644

When the result is ready, callback

Packit 79f644
 will be called in the the <GTKDOCLINK HREF="g-main-context-push-thread-default">thread-default main
Packit 79f644
loop</GTKDOCLINK> this function was called from. You can then call
Packit 79f644
goa_provider_ensure_credentials_finish() to get the result
Packit 79f644
of the operation.

Packit 79f644

This is a virtual method where the default implementation simply

Packit 79f644
throws the GOA_ERROR_NOT_SUPPORTED error. A subclass may provide
Packit 79f644
another implementation.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

A GoaObject with a GoaAccount interface.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

cancellable

Packit 79f644

A GCancellable or NULL.

Packit 79f644
[allow-none]
Packit 79f644
Packit 79f644
Packit 79f644

callback

Packit 79f644

The function to call when the request is satisfied.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

user_data

Packit 79f644

Pointer to pass to callback

Packit 79f644
.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_ensure_credentials_finish ()

Packit 79f644
gboolean
Packit 79f644
goa_provider_ensure_credentials_finish
Packit 79f644
                               (GoaProvider *self,
Packit 79f644
                                gint *out_expires_in,
Packit 79f644
                                GAsyncResult *res,
Packit 79f644
                                GError **error);
Packit 79f644

Finishes an operation started with goa_provider_ensure_credentials().

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

out_expires_in

Packit 79f644

Return location for how long the expired credentials are good for (0 if unknown) or NULL.

Packit 79f644
[out]
Packit 79f644
Packit 79f644
Packit 79f644

res

Packit 79f644

A GAsyncResult obtained from the GAsyncReadyCallback passed to goa_provider_ensure_credentials().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

error

Packit 79f644

Return location for error or NULL.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

TRUE if the credentials for the passed GoaObject are valid, FALSE if error

Packit 79f644
is set.

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_ensure_credentials_sync ()

Packit 79f644
gboolean
Packit 79f644
goa_provider_ensure_credentials_sync (GoaProvider *self,
Packit 79f644
                                      GoaObject *object,
Packit 79f644
                                      gint *out_expires_in,
Packit 79f644
                                      GCancellable *cancellable,
Packit 79f644
                                      GError **error);
Packit 79f644

Like goa_provider_ensure_credentials() but blocks the

Packit 79f644
calling thread until an answer is received.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

object

Packit 79f644

A GoaObject with a GoaAccount interface.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

out_expires_in

Packit 79f644

Return location for how long the expired credentials are good for (0 if unknown) or NULL.

Packit 79f644
[out]
Packit 79f644
Packit 79f644
Packit 79f644

cancellable

Packit 79f644

A GCancellable or NULL.

Packit 79f644
[allow-none]
Packit 79f644
Packit 79f644
Packit 79f644

error

Packit 79f644

Return location for error or NULL.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

TRUE if the credentials for the passed GoaObject are valid, FALSE if error

Packit 79f644
is set.

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_credentials_generation ()

Packit 79f644
guint
Packit 79f644
goa_provider_get_credentials_generation
Packit 79f644
                               (GoaProvider *self);
Packit 79f644

Gets the generation of credentials being used for the provider.

Packit 79f644

Implementations should bump this number when changes are introduced

Packit 79f644
that may render existing credentials unusable.

Packit 79f644

For example, if an additional scope is requested (e.g. access to

Packit 79f644
contacts data) while obtaining credentials, then this number needs
Packit 79f644
to be bumped since existing credentials are not good for the added
Packit 79f644
scope.

Packit 79f644

This is a virtual method where the default implementation returns

Packit 79f644
0.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

self

Packit 79f644

A GoaProvider.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

The current generation of credentials.

Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_all ()

Packit 79f644
void
Packit 79f644
goa_provider_get_all (GAsyncReadyCallback callback,
Packit 79f644
                      gpointer user_data);
Packit 79f644

Creates a list of all the available GoaProvider instances.

Packit 79f644

When the result is ready, callback

Packit 79f644
 will be called in the the <GTKDOCLINK HREF="g-main-context-push-thread-default">thread-default main
Packit 79f644
loop</GTKDOCLINK> this function was called from. You can then call
Packit 79f644
goa_provider_get_all_finish() to get the result of the operation.

Packit 79f644

See goa_provider_get_for_provider_type() for details on how the providers

Packit 79f644
are found.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

callback

Packit 79f644

The function to call when the request is satisfied.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

user_data

Packit 79f644

Pointer to pass to callback

Packit 79f644
.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

goa_provider_get_for_provider_type ()

Packit 79f644
GoaProvider *
Packit 79f644
goa_provider_get_for_provider_type (const gchar *provider_type);
Packit 79f644

Returns a GoaProvider for provider_type

Packit 79f644
 (if available).

Packit 79f644

If provider_type

Packit 79f644
 doesn't contain any "/", a
Packit 79f644
GOA_PROVIDER_EXTENSION_POINT_NAME extension for provider_type
Packit 79f644
 is looked up
Packit 79f644
and the newly created GoaProvider, if any, is returned.

Packit 79f644

If provider_type

Packit 79f644
 contains a "/", a
Packit 79f644
GOA_PROVIDER_FACTORY_EXTENSION_POINT_NAME extension for the first part of
Packit 79f644
provider_type
Packit 79f644
 is looked up. If found, the GoaProviderFactory is used
Packit 79f644
to create a dynamic GoaProvider matching the second part of provider_type
Packit 79f644
.

Packit 79f644
Packit 79f644

Parameters

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

provider_type

Packit 79f644

A provider type.

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Returns

Packit 79f644

A GoaProvider (that must be freed

Packit 79f644
with g_object_unref()) or NULL if not found. 

Packit 79f644

[transfer full]

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Types and Values

Packit 79f644
Packit 79f644

GoaProvider

Packit 79f644
typedef struct _GoaProvider GoaProvider;
Packit 79f644

The GoaProvider structure contains only private data and should

Packit 79f644
only be accessed using the provided API.

Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

GoaProviderClass

Packit 79f644
typedef struct {
Packit 79f644
  GObjectClass parent_class;
Packit 79f644
Packit 79f644
  /* pure virtual */
Packit 79f644
  GoaObject              *(*add_account)                  (GoaProvider            *self,
Packit 79f644
                                                           GoaClient              *client,
Packit 79f644
                                                           GtkDialog              *dialog,
Packit 79f644
                                                           GtkBox                 *vbox,
Packit 79f644
                                                           GError                **error);
Packit 79f644
  GoaProviderFeatures     (*get_provider_features)        (GoaProvider            *self);
Packit 79f644
  GoaProviderGroup        (*get_provider_group)           (GoaProvider            *self);
Packit 79f644
  gchar                  *(*get_provider_name)            (GoaProvider            *self,
Packit 79f644
                                                           GoaObject              *object);
Packit 79f644
  const gchar            *(*get_provider_type)            (GoaProvider            *self);
Packit 79f644
  gboolean                (*refresh_account)              (GoaProvider            *self,
Packit 79f644
                                                           GoaClient              *client,
Packit 79f644
                                                           GoaObject              *object,
Packit 79f644
                                                           GtkWindow              *parent,
Packit 79f644
                                                           GError                **error);
Packit 79f644
Packit 79f644
  /* virtual but with default implementation */
Packit 79f644
  gboolean                (*build_object)                 (GoaProvider            *self,
Packit 79f644
                                                           GoaObjectSkeleton      *object,
Packit 79f644
                                                           GKeyFile               *key_file,
Packit 79f644
                                                           const gchar            *group,
Packit 79f644
                                                           GDBusConnection        *connection,
Packit 79f644
                                                           gboolean                just_added,
Packit 79f644
                                                           GError                **error);
Packit 79f644
  gboolean                (*ensure_credentials_sync)      (GoaProvider            *self,
Packit 79f644
                                                           GoaObject              *object,
Packit 79f644
                                                           gint                   *out_expires_in,
Packit 79f644
                                                           GCancellable           *cancellable,
Packit 79f644
                                                           GError                **error);
Packit 79f644
  guint                   (*get_credentials_generation)   (GoaProvider            *self);
Packit 79f644
  GIcon                  *(*get_provider_icon)            (GoaProvider            *self,
Packit 79f644
                                                           GoaObject              *object);
Packit 79f644
  void                    (*initialize)                   (GoaProvider            *self);
Packit 79f644
  void                    (*remove_account)               (GoaProvider            *self,
Packit 79f644
                                                           GoaObject              *object,
Packit 79f644
                                                           GCancellable           *cancellable,
Packit 79f644
                                                           GAsyncReadyCallback     callback,
Packit 79f644
                                                           gpointer                user_data);
Packit 79f644
  gboolean                (*remove_account_finish)        (GoaProvider            *self,
Packit 79f644
                                                           GAsyncResult           *res,
Packit 79f644
                                                           GError                **error);
Packit 79f644
  void                    (*show_account)                 (GoaProvider            *self,
Packit 79f644
                                                           GoaClient              *client,
Packit 79f644
                                                           GoaObject              *object,
Packit 79f644
                                                           GtkBox                 *vbox,
Packit 79f644
                                                           GtkGrid                *dummy1,
Packit 79f644
                                                           GtkGrid                *dummy2);
Packit 79f644
} GoaProviderClass;
Packit 79f644
Packit 79f644

Class structure for GoaProvider.

Packit 79f644
Packit 79f644

Members

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

add_account ()

Packit 79f644

Virtual function for goa_provider_add_account().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

get_provider_features ()

Packit 79f644

Virtual function for goa_provider_get_provider_features().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

get_provider_group ()

Packit 79f644

Virtual function for goa_provider_get_provider_group().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

get_provider_name ()

Packit 79f644

Virtual function for goa_provider_get_provider_name().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

get_provider_type ()

Packit 79f644

Virtual function for goa_provider_get_provider_type().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

refresh_account ()

Packit 79f644

Virtual function for goa_provider_refresh_account().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

build_object ()

Packit 79f644

Virtual function for goa_provider_build_object().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

ensure_credentials_sync ()

Packit 79f644

Virtual function for goa_provider_ensure_credentials_sync().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

get_credentials_generation ()

Packit 79f644

Virtual function for goa_provider_get_credentials_generation().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

get_provider_icon ()

Packit 79f644

Virtual function for goa_provider_get_provider_icon().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

initialize ()

Packit 79f644

Virtual function for goa_provider_initialize().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

remove_account ()

Packit 79f644
 
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

remove_account_finish ()

Packit 79f644
 
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

show_account ()

Packit 79f644

Virtual function for goa_provider_show_account().

Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

enum GoaProviderGroup

Packit 79f644

An enum for specifying which group a provider belongs to. This is

Packit 79f644
can be used to organize the providers while displaying them in an
Packit 79f644
user interface.

Packit 79f644
Packit 79f644

Members

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_GROUP_BRANDED

Packit 79f644
Packit 79f644

Providers with a well-known brand. For

Packit 79f644
  example, Google and Facebook.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_GROUP_CONTACTS

Packit 79f644
Packit 79f644

Providers that offer address book services.

Packit 79f644
  For example, CardDAV.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_GROUP_MAIL

Packit 79f644
Packit 79f644

Providers that offer email-like messaging

Packit 79f644
  services. For example, IMAP and SMTP.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_GROUP_TICKETING

Packit 79f644
Packit 79f644

Providers with ticketing

Packit 79f644
  capabilities. For example, Kerberos.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_GROUP_CHAT

Packit 79f644
Packit 79f644

Providers that offer chat-like messaging

Packit 79f644
  capabilities. For example, XMPP, IRC.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_GROUP_INVALID

Packit 79f644
Packit 79f644

Used for error handling. No provider

Packit 79f644
  should belong to this group.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

enum GoaProviderFeatures

Packit 79f644

These flags specify the features exported by each provider. They can be

Packit 79f644
expecially useful to restrict the list of available providers when
Packit 79f644
requesting the creation of an account for a specific purpose (eg. from a
Packit 79f644
chat program).

Packit 79f644
Packit 79f644

Members

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_BRANDED

Packit 79f644
Packit 79f644

Common providers to be highlighted (ie. Google, OwnCloud).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_MAIL

Packit 79f644
Packit 79f644

Mail services (ie. SMTP, IMAP).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_CALENDAR

Packit 79f644
Packit 79f644

Calendaring services (ie. CalDAV).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_CONTACTS

Packit 79f644
Packit 79f644

Addressbook services (ie. CardDAV).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_CHAT

Packit 79f644
Packit 79f644

Instant messaging services (ie. XMPP, IRC).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_DOCUMENTS

Packit 79f644
Packit 79f644

Documents storage services (ie. Google Documents).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_PHOTOS

Packit 79f644
Packit 79f644

Photos storage services (ie. Flickr).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_FILES

Packit 79f644
Packit 79f644

Files storage services (ie. WebDAV).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_TICKETING

Packit 79f644
Packit 79f644

Ticketing services (ie. Kerberos).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_READ_LATER

Packit 79f644
Packit 79f644

Read later services (eg. Pocket).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_PRINTERS

Packit 79f644
Packit 79f644

Network printing services (e.g. Google Cloud Print).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_MAPS

Packit 79f644
Packit 79f644

Maps related services (e.g. Foursquare, Facebook).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_MUSIC

Packit 79f644
Packit 79f644

Music related services (e.g. Vkontakte).

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_TODO

Packit 79f644
 
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644

GOA_PROVIDER_FEATURE_INVALID

Packit 79f644
Packit 79f644

Used for error handling. No provider

Packit 79f644
  should provide this feature.

Packit 79f644
Packit 79f644
 
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Since: 3.10

Packit 79f644
Packit 79f644

Packit 79f644
Packit 79f644

GOA_PROVIDER_EXTENSION_POINT_NAME

Packit 79f644
#define GOA_PROVIDER_EXTENSION_POINT_NAME "goa-backend-provider"
Packit 79f644
Packit 79f644

Extension point for GoaProvider implementations.

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Property Details

Packit 79f644
Packit 79f644

The “preseed-data” property

Packit 79f644
  “preseed-data”             GVariant *
Packit 79f644

An GVariant of type a{sv} storing any information already collected that

Packit 79f644
can be useful when creating a new account. For instance, this can be useful
Packit 79f644
to reuse the HTTP cookies from an existing browser session to skip the
Packit 79f644
prompt for username and password in the OAuth2-based providers by passing
Packit 79f644
a GVariant with the following contents:

Packit 79f644
Packit 79f644
  
Packit 79f644
    
Packit 79f644
      
Packit 79f644
        
1
Packit 79f644
2
Packit 79f644
3
Packit 79f644
4
Packit 79f644
5
Packit 79f644
6
Packit 79f644
7
Packit 79f644
8
Packit 79f644
9
Packit 79f644
10
Packit 79f644
11
Packit 79f644
12
Packit 79f644
13
Packit 79f644
14
Packit 79f644
        
{
Packit 79f644
  "cookies": [
Packit 79f644
    {
Packit 79f644
      "domain": "example.com",
Packit 79f644
      "name": "LSID",
Packit 79f644
      "value": "asdfasdfasdf"
Packit 79f644
    },
Packit 79f644
    {
Packit 79f644
      "domain": "accounts.example.com",
Packit 79f644
      "name": "SSID",
Packit 79f644
      "value": "asdfasdfasdf"
Packit 79f644
    }
Packit 79f644
  ]
Packit 79f644
}
Packit 79f644
      
Packit 79f644
    
Packit 79f644
  
Packit 79f644
Packit 79f644
Packit 79f644

Unknown or unsupported keys will be ignored by providers.

Packit 79f644
Packit 79f644

GoaProvider:preseed-data has been deprecated since version 3.28 and should not be used in newly-written code.

Packit 79f644

This property does nothing.

Packit 79f644
Packit 79f644

Flags: Read / Write

Packit 79f644

Allowed values: GVariant<a{sv}>

Packit 79f644

Default value: NULL

Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644
Packit 79f644

Generated by GTK-Doc V1.28
Packit 79f644
</body>
Packit 79f644
</html>