summaryrefslogtreecommitdiff
path: root/libnautilus-extension/nautilus-column-provider.h
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2018-02-01 13:41:39 +0200
committerErnestas Kulik <ernestask@gnome.org>2018-02-09 06:32:38 +0200
commit7e2605c681d065e6b0a3d779c30b892932597991 (patch)
tree44bccc88603a7cc530a80de6349df69d3413a148 /libnautilus-extension/nautilus-column-provider.h
parent2128efccae664ba12a870deb1720a08e58954dd2 (diff)
downloadnautilus-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.h31
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