/* Entry.c generated by valac 0.56.19, the Vala compiler
 * generated from Entry.vala, do not modify */

/*
* Copyright (c) 2011-2013 Yorba Foundation
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA
*/

#include "io.elementary.photos.h"
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gio/gio.h>
#include <gee.h>
#include <glib-object.h>
#include <gtk/gtk.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

enum  {
	SIDEBAR_ENTRY_SIDEBAR_TOOLTIP_CHANGED_SIGNAL,
	SIDEBAR_ENTRY_SIDEBAR_ICON_CHANGED_SIGNAL,
	SIDEBAR_ENTRY_NUM_SIGNALS
};
static guint sidebar_entry_signals[SIDEBAR_ENTRY_NUM_SIGNALS] = {0};
enum  {
	SIDEBAR_EXPANDABLE_ENTRY_SIDEBAR_OPEN_CLOSED_ICONS_CHANGED_SIGNAL,
	SIDEBAR_EXPANDABLE_ENTRY_NUM_SIGNALS
};
static guint sidebar_expandable_entry_signals[SIDEBAR_EXPANDABLE_ENTRY_NUM_SIGNALS] = {0};
enum  {
	SIDEBAR_PAGE_REPRESENTATIVE_PAGE_CREATED_SIGNAL,
	SIDEBAR_PAGE_REPRESENTATIVE_DESTROYING_PAGE_SIGNAL,
	SIDEBAR_PAGE_REPRESENTATIVE_NUM_SIGNALS
};
static guint sidebar_page_representative_signals[SIDEBAR_PAGE_REPRESENTATIVE_NUM_SIGNALS] = {0};
enum  {
	SIDEBAR_RENAMEABLE_ENTRY_SIDEBAR_NAME_CHANGED_SIGNAL,
	SIDEBAR_RENAMEABLE_ENTRY_NUM_SIGNALS
};
static guint sidebar_renameable_entry_signals[SIDEBAR_RENAMEABLE_ENTRY_NUM_SIGNALS] = {0};

VALA_EXTERN void sidebar_entry_grafted (SidebarEntry* self,
                            SidebarTree* tree);
static void sidebar_entry_real_grafted (SidebarEntry* self,
                                 SidebarTree* tree);
VALA_EXTERN void sidebar_entry_pruned (SidebarEntry* self,
                           SidebarTree* tree);
static void sidebar_entry_real_pruned (SidebarEntry* self,
                                SidebarTree* tree);
static GType sidebar_entry_get_type_once (void);
static void g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure,
                                                  GValue * return_value,
                                                  guint n_param_values,
                                                  const GValue * param_values,
                                                  gpointer invocation_hint,
                                                  gpointer marshal_data);
static GType sidebar_expandable_entry_get_type_once (void);
static GType sidebar_selectable_entry_get_type_once (void);
static GType sidebar_page_representative_get_type_once (void);
static GType sidebar_renameable_entry_get_type_once (void);
static GType sidebar_destroyable_entry_get_type_once (void);
static GType sidebar_internal_drop_target_entry_get_type_once (void);
static GType sidebar_internal_drag_source_entry_get_type_once (void);
static inline gpointer _vala_memdup2 (gconstpointer mem,
                        gsize byte_size);

gchar*
sidebar_entry_get_sidebar_name (SidebarEntry* self)
{
	SidebarEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_ENTRY_GET_INTERFACE (self);
	if (_iface_->get_sidebar_name) {
		return _iface_->get_sidebar_name (self);
	}
	return NULL;
}

gchar*
sidebar_entry_get_sidebar_tooltip (SidebarEntry* self)
{
	SidebarEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_ENTRY_GET_INTERFACE (self);
	if (_iface_->get_sidebar_tooltip) {
		return _iface_->get_sidebar_tooltip (self);
	}
	return NULL;
}

GIcon*
sidebar_entry_get_sidebar_icon (SidebarEntry* self)
{
	SidebarEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_ENTRY_GET_INTERFACE (self);
	if (_iface_->get_sidebar_icon) {
		return _iface_->get_sidebar_icon (self);
	}
	return NULL;
}

gchar*
sidebar_entry_to_string (SidebarEntry* self)
{
	SidebarEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_ENTRY_GET_INTERFACE (self);
	if (_iface_->to_string) {
		return _iface_->to_string (self);
	}
	return NULL;
}

static void
sidebar_entry_real_grafted (SidebarEntry* self,
                            SidebarTree* tree)
{
	g_return_if_fail (tree != NULL);
}

void
sidebar_entry_grafted (SidebarEntry* self,
                       SidebarTree* tree)
{
	SidebarEntryIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SIDEBAR_ENTRY_GET_INTERFACE (self);
	if (_iface_->grafted) {
		_iface_->grafted (self, tree);
	}
}

static void
sidebar_entry_real_pruned (SidebarEntry* self,
                           SidebarTree* tree)
{
	g_return_if_fail (tree != NULL);
}

void
sidebar_entry_pruned (SidebarEntry* self,
                      SidebarTree* tree)
{
	SidebarEntryIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SIDEBAR_ENTRY_GET_INTERFACE (self);
	if (_iface_->pruned) {
		_iface_->pruned (self, tree);
	}
}

static void
sidebar_entry_default_init (SidebarEntryIface * iface,
                            gpointer iface_data)
{
	sidebar_entry_signals[SIDEBAR_ENTRY_SIDEBAR_TOOLTIP_CHANGED_SIGNAL] = g_signal_new ("sidebar-tooltip-changed", SIDEBAR_TYPE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
	sidebar_entry_signals[SIDEBAR_ENTRY_SIDEBAR_ICON_CHANGED_SIGNAL] = g_signal_new ("sidebar-icon-changed", SIDEBAR_TYPE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, g_icon_get_type ());
	iface->grafted = sidebar_entry_real_grafted;
	iface->pruned = sidebar_entry_real_pruned;
}

static GType
sidebar_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_entry_type_id;
	sidebar_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_entry_type_id, G_TYPE_OBJECT);
	return sidebar_entry_type_id;
}

GType
sidebar_entry_get_type (void)
{
	static volatile gsize sidebar_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_entry_type_id__once)) {
		GType sidebar_entry_type_id;
		sidebar_entry_type_id = sidebar_entry_get_type_once ();
		g_once_init_leave (&sidebar_entry_type_id__once, sidebar_entry_type_id);
	}
	return sidebar_entry_type_id__once;
}

GIcon*
sidebar_expandable_entry_get_sidebar_open_icon (SidebarExpandableEntry* self)
{
	SidebarExpandableEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE (self);
	if (_iface_->get_sidebar_open_icon) {
		return _iface_->get_sidebar_open_icon (self);
	}
	return NULL;
}

GIcon*
sidebar_expandable_entry_get_sidebar_closed_icon (SidebarExpandableEntry* self)
{
	SidebarExpandableEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE (self);
	if (_iface_->get_sidebar_closed_icon) {
		return _iface_->get_sidebar_closed_icon (self);
	}
	return NULL;
}

gboolean
sidebar_expandable_entry_expand_on_select (SidebarExpandableEntry* self)
{
	SidebarExpandableEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, FALSE);
	_iface_ = SIDEBAR_EXPANDABLE_ENTRY_GET_INTERFACE (self);
	if (_iface_->expand_on_select) {
		return _iface_->expand_on_select (self);
	}
	return FALSE;
}

static void
g_cclosure_user_marshal_VOID__OBJECT_OBJECT (GClosure * closure,
                                             GValue * return_value,
                                             guint n_param_values,
                                             const GValue * param_values,
                                             gpointer invocation_hint,
                                             gpointer marshal_data)
{
	typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT) (gpointer data1, gpointer arg_1, gpointer arg_2, gpointer data2);
	register GMarshalFunc_VOID__OBJECT_OBJECT callback;
	register GCClosure * cc;
	register gpointer data1;
	register gpointer data2;
	cc = (GCClosure *) closure;
	g_return_if_fail (n_param_values == 3);
	if (G_CCLOSURE_SWAP_DATA (closure)) {
		data1 = closure->data;
		data2 = param_values->data[0].v_pointer;
	} else {
		data1 = param_values->data[0].v_pointer;
		data2 = closure->data;
	}
	callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
	callback (data1, g_value_get_object (param_values + 1), g_value_get_object (param_values + 2), data2);
}

static void
sidebar_expandable_entry_default_init (SidebarExpandableEntryIface * iface,
                                       gpointer iface_data)
{
	sidebar_expandable_entry_signals[SIDEBAR_EXPANDABLE_ENTRY_SIDEBAR_OPEN_CLOSED_ICONS_CHANGED_SIGNAL] = g_signal_new ("sidebar-open-closed-icons-changed", SIDEBAR_TYPE_EXPANDABLE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__OBJECT_OBJECT, G_TYPE_NONE, 2, g_icon_get_type (), g_icon_get_type ());
}

static GType
sidebar_expandable_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarExpandableEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_expandable_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_expandable_entry_type_id;
	sidebar_expandable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarExpandableEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_expandable_entry_type_id, SIDEBAR_TYPE_ENTRY);
	return sidebar_expandable_entry_type_id;
}

GType
sidebar_expandable_entry_get_type (void)
{
	static volatile gsize sidebar_expandable_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_expandable_entry_type_id__once)) {
		GType sidebar_expandable_entry_type_id;
		sidebar_expandable_entry_type_id = sidebar_expandable_entry_get_type_once ();
		g_once_init_leave (&sidebar_expandable_entry_type_id__once, sidebar_expandable_entry_type_id);
	}
	return sidebar_expandable_entry_type_id__once;
}

static void
sidebar_selectable_entry_default_init (SidebarSelectableEntryIface * iface,
                                       gpointer iface_data)
{
}

static GType
sidebar_selectable_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarSelectableEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_selectable_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_selectable_entry_type_id;
	sidebar_selectable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarSelectableEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_selectable_entry_type_id, SIDEBAR_TYPE_ENTRY);
	return sidebar_selectable_entry_type_id;
}

GType
sidebar_selectable_entry_get_type (void)
{
	static volatile gsize sidebar_selectable_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_selectable_entry_type_id__once)) {
		GType sidebar_selectable_entry_type_id;
		sidebar_selectable_entry_type_id = sidebar_selectable_entry_get_type_once ();
		g_once_init_leave (&sidebar_selectable_entry_type_id__once, sidebar_selectable_entry_type_id);
	}
	return sidebar_selectable_entry_type_id__once;
}

gboolean
sidebar_page_representative_has_page (SidebarPageRepresentative* self)
{
	SidebarPageRepresentativeIface* _iface_;
	g_return_val_if_fail (self != NULL, FALSE);
	_iface_ = SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE (self);
	if (_iface_->has_page) {
		return _iface_->has_page (self);
	}
	return FALSE;
}

Page*
sidebar_page_representative_get_page (SidebarPageRepresentative* self)
{
	SidebarPageRepresentativeIface* _iface_;
	g_return_val_if_fail (self != NULL, NULL);
	_iface_ = SIDEBAR_PAGE_REPRESENTATIVE_GET_INTERFACE (self);
	if (_iface_->get_page) {
		return _iface_->get_page (self);
	}
	return NULL;
}

static void
sidebar_page_representative_default_init (SidebarPageRepresentativeIface * iface,
                                          gpointer iface_data)
{
	sidebar_page_representative_signals[SIDEBAR_PAGE_REPRESENTATIVE_PAGE_CREATED_SIGNAL] = g_signal_new ("page-created", SIDEBAR_TYPE_PAGE_REPRESENTATIVE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_PAGE);
	sidebar_page_representative_signals[SIDEBAR_PAGE_REPRESENTATIVE_DESTROYING_PAGE_SIGNAL] = g_signal_new ("destroying-page", SIDEBAR_TYPE_PAGE_REPRESENTATIVE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, TYPE_PAGE);
}

static GType
sidebar_page_representative_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarPageRepresentativeIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_page_representative_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_page_representative_type_id;
	sidebar_page_representative_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarPageRepresentative", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_page_representative_type_id, SIDEBAR_TYPE_ENTRY);
	g_type_interface_add_prerequisite (sidebar_page_representative_type_id, SIDEBAR_TYPE_SELECTABLE_ENTRY);
	return sidebar_page_representative_type_id;
}

GType
sidebar_page_representative_get_type (void)
{
	static volatile gsize sidebar_page_representative_type_id__once = 0;
	if (g_once_init_enter (&sidebar_page_representative_type_id__once)) {
		GType sidebar_page_representative_type_id;
		sidebar_page_representative_type_id = sidebar_page_representative_get_type_once ();
		g_once_init_leave (&sidebar_page_representative_type_id__once, sidebar_page_representative_type_id);
	}
	return sidebar_page_representative_type_id__once;
}

void
sidebar_renameable_entry_rename (SidebarRenameableEntry* self,
                                 const gchar* new_name)
{
	SidebarRenameableEntryIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SIDEBAR_RENAMEABLE_ENTRY_GET_INTERFACE (self);
	if (_iface_->rename) {
		_iface_->rename (self, new_name);
	}
}

static void
sidebar_renameable_entry_default_init (SidebarRenameableEntryIface * iface,
                                       gpointer iface_data)
{
	sidebar_renameable_entry_signals[SIDEBAR_RENAMEABLE_ENTRY_SIDEBAR_NAME_CHANGED_SIGNAL] = g_signal_new ("sidebar-name-changed", SIDEBAR_TYPE_RENAMEABLE_ENTRY, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING);
}

static GType
sidebar_renameable_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarRenameableEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_renameable_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_renameable_entry_type_id;
	sidebar_renameable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarRenameableEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_renameable_entry_type_id, SIDEBAR_TYPE_ENTRY);
	return sidebar_renameable_entry_type_id;
}

GType
sidebar_renameable_entry_get_type (void)
{
	static volatile gsize sidebar_renameable_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_renameable_entry_type_id__once)) {
		GType sidebar_renameable_entry_type_id;
		sidebar_renameable_entry_type_id = sidebar_renameable_entry_get_type_once ();
		g_once_init_leave (&sidebar_renameable_entry_type_id__once, sidebar_renameable_entry_type_id);
	}
	return sidebar_renameable_entry_type_id__once;
}

void
sidebar_destroyable_entry_destroy_source (SidebarDestroyableEntry* self)
{
	SidebarDestroyableEntryIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SIDEBAR_DESTROYABLE_ENTRY_GET_INTERFACE (self);
	if (_iface_->destroy_source) {
		_iface_->destroy_source (self);
	}
}

static void
sidebar_destroyable_entry_default_init (SidebarDestroyableEntryIface * iface,
                                        gpointer iface_data)
{
}

static GType
sidebar_destroyable_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarDestroyableEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_destroyable_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_destroyable_entry_type_id;
	sidebar_destroyable_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarDestroyableEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_destroyable_entry_type_id, SIDEBAR_TYPE_ENTRY);
	return sidebar_destroyable_entry_type_id;
}

GType
sidebar_destroyable_entry_get_type (void)
{
	static volatile gsize sidebar_destroyable_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_destroyable_entry_type_id__once)) {
		GType sidebar_destroyable_entry_type_id;
		sidebar_destroyable_entry_type_id = sidebar_destroyable_entry_get_type_once ();
		g_once_init_leave (&sidebar_destroyable_entry_type_id__once, sidebar_destroyable_entry_type_id);
	}
	return sidebar_destroyable_entry_type_id__once;
}

gboolean
sidebar_internal_drop_target_entry_internal_drop_received (SidebarInternalDropTargetEntry* self,
                                                           GeeList* sources)
{
	SidebarInternalDropTargetEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, FALSE);
	_iface_ = SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE (self);
	if (_iface_->internal_drop_received) {
		return _iface_->internal_drop_received (self, sources);
	}
	return FALSE;
}

gboolean
sidebar_internal_drop_target_entry_internal_drop_received_arbitrary (SidebarInternalDropTargetEntry* self,
                                                                     GtkSelectionData* data)
{
	SidebarInternalDropTargetEntryIface* _iface_;
	g_return_val_if_fail (self != NULL, FALSE);
	_iface_ = SIDEBAR_INTERNAL_DROP_TARGET_ENTRY_GET_INTERFACE (self);
	if (_iface_->internal_drop_received_arbitrary) {
		return _iface_->internal_drop_received_arbitrary (self, data);
	}
	return FALSE;
}

static void
sidebar_internal_drop_target_entry_default_init (SidebarInternalDropTargetEntryIface * iface,
                                                 gpointer iface_data)
{
}

static GType
sidebar_internal_drop_target_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarInternalDropTargetEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_internal_drop_target_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_internal_drop_target_entry_type_id;
	sidebar_internal_drop_target_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarInternalDropTargetEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_internal_drop_target_entry_type_id, SIDEBAR_TYPE_ENTRY);
	return sidebar_internal_drop_target_entry_type_id;
}

GType
sidebar_internal_drop_target_entry_get_type (void)
{
	static volatile gsize sidebar_internal_drop_target_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_internal_drop_target_entry_type_id__once)) {
		GType sidebar_internal_drop_target_entry_type_id;
		sidebar_internal_drop_target_entry_type_id = sidebar_internal_drop_target_entry_get_type_once ();
		g_once_init_leave (&sidebar_internal_drop_target_entry_type_id__once, sidebar_internal_drop_target_entry_type_id);
	}
	return sidebar_internal_drop_target_entry_type_id__once;
}

void
sidebar_internal_drag_source_entry_prepare_selection_data (SidebarInternalDragSourceEntry* self,
                                                           GtkSelectionData* data)
{
	SidebarInternalDragSourceEntryIface* _iface_;
	g_return_if_fail (self != NULL);
	_iface_ = SIDEBAR_INTERNAL_DRAG_SOURCE_ENTRY_GET_INTERFACE (self);
	if (_iface_->prepare_selection_data) {
		_iface_->prepare_selection_data (self, data);
	}
}

static void
sidebar_internal_drag_source_entry_default_init (SidebarInternalDragSourceEntryIface * iface,
                                                 gpointer iface_data)
{
}

static GType
sidebar_internal_drag_source_entry_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (SidebarInternalDragSourceEntryIface), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) sidebar_internal_drag_source_entry_default_init, (GClassFinalizeFunc) NULL, NULL, 0, 0, (GInstanceInitFunc) NULL, NULL };
	GType sidebar_internal_drag_source_entry_type_id;
	sidebar_internal_drag_source_entry_type_id = g_type_register_static (G_TYPE_INTERFACE, "SidebarInternalDragSourceEntry", &g_define_type_info, 0);
	g_type_interface_add_prerequisite (sidebar_internal_drag_source_entry_type_id, SIDEBAR_TYPE_ENTRY);
	return sidebar_internal_drag_source_entry_type_id;
}

GType
sidebar_internal_drag_source_entry_get_type (void)
{
	static volatile gsize sidebar_internal_drag_source_entry_type_id__once = 0;
	if (g_once_init_enter (&sidebar_internal_drag_source_entry_type_id__once)) {
		GType sidebar_internal_drag_source_entry_type_id;
		sidebar_internal_drag_source_entry_type_id = sidebar_internal_drag_source_entry_get_type_once ();
		g_once_init_leave (&sidebar_internal_drag_source_entry_type_id__once, sidebar_internal_drag_source_entry_type_id);
	}
	return sidebar_internal_drag_source_entry_type_id__once;
}

static inline gpointer
_vala_memdup2 (gconstpointer mem,
               gsize byte_size)
{
	gpointer new_mem;
	if (mem && byte_size != 0) {
		new_mem = g_malloc (byte_size);
		memcpy (new_mem, mem, byte_size);
	} else {
		new_mem = NULL;
	}
	return new_mem;
}

