1 /* Copyright (C) 2018 Ernestas Kulik <ernestask@gnome.org> 2 * 3 * This file is part of libnautilus-extension. 4 * 5 * libnautilus-extension is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public 7 * License as published by the Free Software Foundation, either 8 * version 2.1 of the License, or (at your option) any later version. 9 * 10 * libnautilus-extension is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public 16 * License along with libnautilus-extension. If not, see <https://www.gnu.org/licenses/>. 17 */ 18 #ifndef NAUTILUS_EXTENSION_H 19 #define NAUTILUS_EXTENSION_H 20 21 #include <libnautilus-extension/nautilus-column-provider.h> 22 #include <libnautilus-extension/nautilus-column.h> 23 #include <libnautilus-extension/nautilus-extension-enum-types.h> 24 #include <libnautilus-extension/nautilus-file-info.h> 25 #include <libnautilus-extension/nautilus-info-provider.h> 26 #include <libnautilus-extension/nautilus-location-widget-provider.h> 27 #include <libnautilus-extension/nautilus-menu.h> 28 #include <libnautilus-extension/nautilus-menu-provider.h> 29 #include <libnautilus-extension/nautilus-property-page.h> 30 #include <libnautilus-extension/nautilus-property-page-provider.h> 31 32 /** 33 * SECTION:nautilus-extension 34 * @title: Extension entry points 35 */ 36 37 /** 38 * nautilus_module_initialize: 39 * @module: a #GTypeModule used in type registration 40 * 41 * Called when the extension is begin loaded to register the types it exports 42 * and to perform other initializations. 43 */ 44 void nautilus_module_initialize (GTypeModule *module); 45 /** 46 * nautilus_module_shutdown: 47 * 48 * Called when the extension is being unloaded. 49 */ 50 void nautilus_module_shutdown (void); 51 /** 52 * nautilus_module_list_types: 53 * @types: (out) (array length=num_types): array of GType * 54 * @num_types: the number of types in the array 55 * 56 * Called after the extension has been initialized and has registered all the 57 * types it exports, to load them into Nautilus. 58 */ 59 void nautilus_module_list_types (const GType **types, 60 int *num_types); 61 62 #endif 63