1 /*
2  * Copyright (C) 2015 Red Hat, Inc. (www.redhat.com)
3  * Copyright (C) 2018 Red Hat, Inc. (www.redhat.com)
4  *
5  * This library is free software: you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by
7  * the Free Software Foundation.
8  *
9  * This library is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
11  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
12  * for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public License
15  * along with this library. If not, see <http://www.gnu.org/licenses/>.
16  *
17  */
18 
19 #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
20 #error "Only <libedataserver/libedataserver.h> should be included directly."
21 #endif
22 
23 #ifndef E_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2_H
24 #define E_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2_H
25 
26 #include <glib.h>
27 #include <glib-object.h>
28 
29 #include <libedataserver/e-source.h>
30 #include <libedataserver/e-source-credentials-provider-impl.h>
31 
32 /* Standard GObject macros */
33 #define E_TYPE_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2 \
34 	(e_source_credentials_provider_impl_oauth2_get_type ())
35 #define E_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2(obj) \
36 	(G_TYPE_CHECK_INSTANCE_CAST \
37 	((obj), E_TYPE_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2, ESourceCredentialsProviderImplOAuth2))
38 #define E_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2_CLASS(cls) \
39 	(G_TYPE_CHECK_CLASS_CAST \
40 	((cls), E_TYPE_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2, ESourceCredentialsProviderImplOAuth2Class))
41 #define E_IS_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2(obj) \
42 	(G_TYPE_CHECK_INSTANCE_TYPE \
43 	((obj), E_TYPE_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2))
44 #define E_IS_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2_CLASS(cls) \
45 	(G_TYPE_CHECK_CLASS_TYPE \
46 	((cls), E_TYPE_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2))
47 #define E_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2_GET_CLASS(obj) \
48 	(G_TYPE_INSTANCE_GET_CLASS \
49 	((obj), E_TYPE_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2, ESourceCredentialsProviderImplOAuth2Class))
50 
51 G_BEGIN_DECLS
52 
53 typedef struct _ESourceCredentialsProviderImplOAuth2 ESourceCredentialsProviderImplOAuth2;
54 typedef struct _ESourceCredentialsProviderImplOAuth2Class ESourceCredentialsProviderImplOAuth2Class;
55 typedef struct _ESourceCredentialsProviderImplOAuth2Private ESourceCredentialsProviderImplOAuth2Private;
56 
57 /**
58  * ESourceCredentialsProviderImplOAuth2:
59  *
60  * OAuth2 based credentials provider implementation.
61  *
62  * Since: 3.28
63  **/
64 struct _ESourceCredentialsProviderImplOAuth2 {
65 	/*< private >*/
66 	ESourceCredentialsProviderImpl parent;
67 	ESourceCredentialsProviderImplOAuth2Private *priv;
68 };
69 
70 struct _ESourceCredentialsProviderImplOAuth2Class {
71 	ESourceCredentialsProviderImplClass parent_class;
72 };
73 
74 GType		e_source_credentials_provider_impl_oauth2_get_type	(void);
75 
76 G_END_DECLS
77 
78 #endif /* E_SOURCE_CREDENTIALS_PROVIDER_IMPL_OAUTH2_H */
79