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