1
1
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
3
* Copyright (C) 2013 Red Hat, Inc.
3
* Copyright (C) 2013, 2014 Red Hat, Inc.
5
5
* This library is free software; you can redistribute it and/or
6
6
* modify it under the terms of the GNU Lesser General Public
13
13
* Lesser General Public License for more details.
15
15
* You should have received a copy of the GNU Lesser General
16
* Public License along with this library; if not, write to the
17
* Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18
* Boston, MA 02111-1307, USA.
16
* Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
20
18
* Author: Debarshi Ray <debarshir@gnome.org>
33
* The #GoaProvider structure contains only private data and should
34
* only be accessed using the provided API.
39
GObject parent_instance;
40
GoaProviderPrivate *priv;
45
* @parent_class: The parent class.
46
* @get_provider_type: Virtual function for goa_provider_get_provider_type().
47
* @get_provider_name: Virtual function for goa_provider_get_provider_name().
48
* @get_provider_icon: Virtual function for goa_provider_get_provider_icon().
49
* @get_provider_group: Virtual function for goa_provider_get_provider_group().
50
* @get_provider_features: Virtual function for goa_provider_get_provider_features().
51
* @add_account: Virtual function for goa_provider_add_account().
52
* @refresh_account: Virtual function for goa_provider_refresh_account().
53
* @build_object: Virtual function for goa_provider_build_object().
54
* @ensure_credentials_sync: Virtual function for goa_provider_ensure_credentials_sync().
55
* @show_account: Virtual function for goa_provider_show_account().
56
* @get_credentials_generation: Virtual function for goa_provider_get_credentials_generation().
58
* Class structure for #GoaProvider.
60
struct _GoaProviderClass
62
GObjectClass parent_class;
65
const gchar *(*get_provider_type) (GoaProvider *provider);
66
gchar *(*get_provider_name) (GoaProvider *provider,
68
GIcon *(*get_provider_icon) (GoaProvider *provider,
70
GoaObject *(*add_account) (GoaProvider *provider,
75
gboolean (*refresh_account) (GoaProvider *provider,
80
void (*show_account) (GoaProvider *provider,
86
gboolean (*build_object) (GoaProvider *provider,
87
GoaObjectSkeleton *object,
90
GDBusConnection *connection,
93
/* virtual but with default implementation */
94
gboolean (*ensure_credentials_sync) (GoaProvider *provider,
97
GCancellable *cancellable,
99
guint (*get_credentials_generation) (GoaProvider *provider);
102
GoaProviderGroup (*get_provider_group) (GoaProvider *provider);
103
GoaProviderFeatures (*get_provider_features) (GoaProvider *provider);
106
/* Padding for future expansion */
107
gpointer goa_reserved[31];
33
111
* GOA_PROVIDER_EXTENSION_POINT_NAME:
35
113
* Extension point for #GoaProvider implementations.