1 /*
2  * go-service-impl.h :  Implementation details for the abstract GOService
3  *			 interface
4  *
5  * Copyright (C) 2001-2004 Zbigniew Chyla (cyba@gnome.pl)
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License as
9  * published by the Free Software Foundation; either version 2 of the
10  * License, or (at your option) version 3.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
20  * USA
21  */
22 
23 #ifndef GO_SERVICE_IMPL_H
24 #define GO_SERVICE_IMPL_H
25 
26 #include <goffice/app/go-service.h>
27 #include <glib-object.h>
28 #include <libxml/tree.h>
29 
30 G_BEGIN_DECLS
31 
32 struct _GOService {
33 	GObject base;
34 	GOPlugin *plugin;
35 };
36 typedef struct {
37 	GObjectClass base;
38 	GOErrorStack *(*read_details) (GOService *service, xmlNode *tree);
39 	GOErrorStack *(*activate)     (GOService *service);
40 	GOErrorStack *(*deactivate)   (GOService *service);
41 	char 	     *(*description)  (GOService *service);
42 } GOServiceClass;
43 
44 struct _GOServiceSimple {
45 	GOService	base;
46 };
47 typedef GOServiceClass GOServiceSimpleClass;
48 
49 G_END_DECLS
50 
51 #endif /* GO_SERVICE_IMPL_H */
52 
53