1 /* 2 * e-extensible.h 3 * 4 * This library is free software: you can redistribute it and/or modify it 5 * under the terms of the GNU Lesser General Public License as published by 6 * the Free Software Foundation. 7 * 8 * This library is distributed in the hope that it will be useful, but 9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 11 * for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this library. If not, see <http://www.gnu.org/licenses/>. 15 * 16 */ 17 18 #if !defined (__LIBEDATASERVER_H_INSIDE__) && !defined (LIBEDATASERVER_COMPILATION) 19 #error "Only <libedataserver/libedataserver.h> should be included directly." 20 #endif 21 22 #ifndef E_EXTENSIBLE_H 23 #define E_EXTENSIBLE_H 24 25 #include <glib-object.h> 26 27 /* Standard GObject macros */ 28 #define E_TYPE_EXTENSIBLE \ 29 (e_extensible_get_type ()) 30 #define E_EXTENSIBLE(obj) \ 31 (G_TYPE_CHECK_INSTANCE_CAST \ 32 ((obj), E_TYPE_EXTENSIBLE, EExtensible)) 33 #define E_EXTENSIBLE_INTERFACE(cls) \ 34 (G_TYPE_CHECK_CLASS_CAST \ 35 ((cls), E_TYPE_EXTENSIBLE, EExtensibleInterface)) 36 #define E_IS_EXTENSIBLE(obj) \ 37 (G_TYPE_CHECK_INSTANCE_TYPE \ 38 ((obj), E_TYPE_EXTENSIBLE)) 39 #define E_IS_EXTENSIBLE_INTERFACE(cls) \ 40 (G_TYPE_CHECK_CLASS_TYPE \ 41 ((cls), E_TYPE_EXTENSIBLE)) 42 #define E_EXTENSIBLE_GET_INTERFACE(obj) \ 43 (G_TYPE_INSTANCE_GET_INTERFACE \ 44 ((obj), E_TYPE_EXTENSIBLE, EExtensibleInterface)) 45 46 G_BEGIN_DECLS 47 48 typedef struct _EExtensible EExtensible; 49 typedef struct _EExtensibleInterface EExtensibleInterface; 50 51 struct _EExtensibleInterface { 52 GTypeInterface parent_interface; 53 }; 54 55 GType e_extensible_get_type (void) G_GNUC_CONST; 56 void e_extensible_load_extensions (EExtensible *extensible); 57 GList * e_extensible_list_extensions (EExtensible *extensible, 58 GType extension_type); 59 60 G_END_DECLS 61 62 #endif /* E_EXTENSIBLE_H */ 63