4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2 of the License, or (at your option) version 3.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with the program; if not, see <http://www.gnu.org/licenses/>
19
#if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION)
20
#error "Only <libedataserver/libedataserver.h> should be included directly."
23
#ifndef E_SOURCE_RESOURCE_H
24
#define E_SOURCE_RESOURCE_H
26
#include <libedataserver/e-source-extension.h>
28
/* Standard GObject macros */
29
#define E_TYPE_SOURCE_RESOURCE \
30
(e_source_resource_get_type ())
31
#define E_SOURCE_RESOURCE(obj) \
32
(G_TYPE_CHECK_INSTANCE_CAST \
33
((obj), E_TYPE_SOURCE_RESOURCE, ESourceResource))
34
#define E_SOURCE_RESOURCE_CLASS(cls) \
35
(G_TYPE_CHECK_CLASS_CAST \
36
((cls), E_TYPE_SOURCE_RESOURCE, ESourceResourceClass))
37
#define E_IS_SOURCE_RESOURCE(obj) \
38
(G_TYPE_CHECK_INSTANCE_TYPE \
39
((obj), E_TYPE_SOURCE_RESOURCE))
40
#define E_IS_SOURCE_RESOURCE_CLASS(cls) \
41
(G_TYPE_CHECK_CLASS_TYPE \
42
((cls), E_TYPE_SOURCE_RESOURCE))
43
#define E_SOURCE_RESOURCE_GET_CLASS(obj) \
44
(G_TYPE_INSTANCE_GET_CLASS \
45
((obj), E_TYPE_SOURCE_RESOURCE, ESourceResourceClass))
48
* E_SOURCE_EXTENSION_RESOURCE:
50
* Pass this extension name to e_source_get_extension() to access
51
* #ESourceResource. This is also used as a group name in key files.
55
#define E_SOURCE_EXTENSION_RESOURCE "Resource"
59
typedef struct _ESourceResource ESourceResource;
60
typedef struct _ESourceResourceClass ESourceResourceClass;
61
typedef struct _ESourceResourcePrivate ESourceResourcePrivate;
66
* Contains only private data that should be read and manipulated using the
71
struct _ESourceResource {
72
ESourceExtension parent;
73
ESourceResourcePrivate *priv;
76
struct _ESourceResourceClass {
77
ESourceExtensionClass parent_class;
80
GType e_source_resource_get_type (void) G_GNUC_CONST;
81
const gchar * e_source_resource_get_identity (ESourceResource *extension);
82
gchar * e_source_resource_dup_identity (ESourceResource *extension);
83
void e_source_resource_set_identity (ESourceResource *extension,
84
const gchar *identity);
88
#endif /* E_SOURCE_RESOURCE_H */