diff options
author | Ernestas Kulik <ernestask@gnome.org> | 2018-02-01 13:41:39 +0200 |
---|---|---|
committer | Ernestas Kulik <ernestask@gnome.org> | 2018-02-09 06:32:38 +0200 |
commit | 7e2605c681d065e6b0a3d779c30b892932597991 (patch) | |
tree | 44bccc88603a7cc530a80de6349df69d3413a148 /libnautilus-extension/nautilus-column-provider.h | |
parent | 2128efccae664ba12a870deb1720a08e58954dd2 (diff) | |
download | nautilus-7e2605c681d065e6b0a3d779c30b892932597991.tar.gz |
general: refactor extension library
The changes include:
* adding a single-include header and deprecating
nautilus-extension-types.h and direct inclusions of individual
headers;
* type definition simplifications - this causes some breakages in
nautilus-file, because NautilusFile used to be typedefed to
NautilusFileInfo, and that is no longer possible, so the interface
implementation was moved to static functions and the public
NautilusFile API provides thin wrappers for them to maintain
compatibility;
* documentation cleanups and reorganization;
* general build rule and code cleanups: mostly g_auto* sprinkled
around and style changes (sorry)
Diffstat (limited to 'libnautilus-extension/nautilus-column-provider.h')
-rw-r--r-- | libnautilus-extension/nautilus-column-provider.h | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/libnautilus-extension/nautilus-column-provider.h b/libnautilus-extension/nautilus-column-provider.h index dd6c8e1f0..de730bf5f 100644 --- a/libnautilus-extension/nautilus-column-provider.h +++ b/libnautilus-extension/nautilus-column-provider.h @@ -30,37 +30,40 @@ #ifndef NAUTILUS_COLUMN_PROVIDER_H #define NAUTILUS_COLUMN_PROVIDER_H +#if !defined (NAUTILUS_EXTENSION_H) && !defined (NAUTILUS_COMPILATION) +#warning "Only <nautilus-extension.h> should be included directly." +#endif + #include <glib-object.h> -#include "nautilus-extension-types.h" -#include "nautilus-column.h" G_BEGIN_DECLS -#define NAUTILUS_TYPE_COLUMN_PROVIDER (nautilus_column_provider_get_type ()) -#define NAUTILUS_COLUMN_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NAUTILUS_TYPE_COLUMN_PROVIDER, NautilusColumnProvider)) -#define NAUTILUS_IS_COLUMN_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NAUTILUS_TYPE_COLUMN_PROVIDER)) -#define NAUTILUS_COLUMN_PROVIDER_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), NAUTILUS_TYPE_COLUMN_PROVIDER, NautilusColumnProviderIface)) +#define NAUTILUS_TYPE_COLUMN_PROVIDER (nautilus_column_provider_get_type ()) + +G_DECLARE_INTERFACE (NautilusColumnProvider, nautilus_column_provider, + NAUTILUS, COLUMN_PROVIDER, + GObject) -typedef struct _NautilusColumnProvider NautilusColumnProvider; -typedef struct _NautilusColumnProviderIface NautilusColumnProviderIface; +/* For compatibility reasons, remove this once you start introducing breaking changes. */ +typedef NautilusColumnProviderInterface NautilusColumnProviderIface; /** - * NautilusColumnProviderIface: + * NautilusColumnProviderInterface: * @g_iface: The parent interface. * @get_columns: Returns a #GList of #NautilusColumn. * See nautilus_column_provider_get_columns() for details. * * Interface for extensions to provide additional list view columns. */ -struct _NautilusColumnProviderIface { - GTypeInterface g_iface; +struct _NautilusColumnProviderInterface +{ + GTypeInterface g_iface; - GList *(*get_columns) (NautilusColumnProvider *provider); + GList *(*get_columns) (NautilusColumnProvider *provider); }; /* Interface Functions */ -GType nautilus_column_provider_get_type (void); -GList *nautilus_column_provider_get_columns (NautilusColumnProvider *provider); +GList *nautilus_column_provider_get_columns (NautilusColumnProvider *provider); G_END_DECLS |