summaryrefslogtreecommitdiff
path: root/libnautilus-extension/nautilus-info-provider.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnautilus-extension/nautilus-info-provider.c')
-rw-r--r--libnautilus-extension/nautilus-info-provider.c68
1 files changed, 23 insertions, 45 deletions
diff --git a/libnautilus-extension/nautilus-info-provider.c b/libnautilus-extension/nautilus-info-provider.c
index 359bf8e24..37e95b2b0 100644
--- a/libnautilus-extension/nautilus-info-provider.c
+++ b/libnautilus-extension/nautilus-info-provider.c
@@ -21,16 +21,16 @@
*
*/
-#include <config.h>
#include "nautilus-info-provider.h"
-#include <glib-object.h>
+#include "nautilus-extension-enum-types.h"
+
+G_DEFINE_INTERFACE (NautilusInfoProvider, nautilus_info_provider, G_TYPE_OBJECT)
/**
* SECTION:nautilus-info-provider
* @title: NautilusInfoProvider
* @short_description: Interface to provide additional information about files
- * @include: libnautilus-extension/nautilus-column-provider.h
*
* #NautilusInfoProvider allows extension to provide additional information about
* files. When nautilus_info_provider_update_file_info() is called by the application,
@@ -39,68 +39,46 @@
*/
static void
-nautilus_info_provider_base_init (gpointer g_class)
-{
-}
-
-GType
-nautilus_info_provider_get_type (void)
+nautilus_info_provider_default_init (NautilusInfoProviderInterface *klass)
{
- static GType type = 0;
-
- if (!type)
- {
- const GTypeInfo info =
- {
- sizeof (NautilusInfoProviderIface),
- nautilus_info_provider_base_init,
- NULL,
- NULL,
- NULL,
- NULL,
- 0,
- 0,
- NULL
- };
-
- type = g_type_register_static (G_TYPE_INTERFACE,
- "NautilusInfoProvider",
- &info, 0);
- g_type_interface_add_prerequisite (type, G_TYPE_OBJECT);
- }
-
- return type;
}
NautilusOperationResult
-nautilus_info_provider_update_file_info (NautilusInfoProvider *provider,
+nautilus_info_provider_update_file_info (NautilusInfoProvider *self,
NautilusFileInfo *file,
GClosure *update_complete,
NautilusOperationHandle **handle)
{
- g_return_val_if_fail (NAUTILUS_IS_INFO_PROVIDER (provider),
- NAUTILUS_OPERATION_FAILED);
- g_return_val_if_fail (NAUTILUS_INFO_PROVIDER_GET_IFACE (provider)->update_file_info != NULL,
+ NautilusInfoProviderInterface *iface;
+
+ g_return_val_if_fail (NAUTILUS_IS_INFO_PROVIDER (self),
NAUTILUS_OPERATION_FAILED);
g_return_val_if_fail (update_complete != NULL,
NAUTILUS_OPERATION_FAILED);
g_return_val_if_fail (handle != NULL, NAUTILUS_OPERATION_FAILED);
- return NAUTILUS_INFO_PROVIDER_GET_IFACE (provider)->update_file_info
- (provider, file, update_complete, handle);
+ iface = NAUTILUS_INFO_PROVIDER_GET_IFACE (self);
+
+ g_return_val_if_fail (iface->update_file_info != NULL,
+ NAUTILUS_OPERATION_FAILED);
+
+ return iface->update_file_info (self, file, update_complete, handle);
}
void
-nautilus_info_provider_cancel_update (NautilusInfoProvider *provider,
+nautilus_info_provider_cancel_update (NautilusInfoProvider *self,
NautilusOperationHandle *handle)
{
- g_return_if_fail (NAUTILUS_IS_INFO_PROVIDER (provider));
- g_return_if_fail (NAUTILUS_INFO_PROVIDER_GET_IFACE (provider)->cancel_update != NULL);
- g_return_if_fail (NAUTILUS_INFO_PROVIDER_GET_IFACE (provider)->cancel_update != NULL);
+ NautilusInfoProviderInterface *iface;
+
+ g_return_if_fail (NAUTILUS_IS_INFO_PROVIDER (self));
g_return_if_fail (handle != NULL);
- NAUTILUS_INFO_PROVIDER_GET_IFACE (provider)->cancel_update (provider,
- handle);
+ iface = NAUTILUS_INFO_PROVIDER_GET_IFACE (self);
+
+ g_return_if_fail (iface->cancel_update != NULL);
+
+ iface->cancel_update (self, handle);
}
void