// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

#include <atk/atk.h>

static const gchar *__prefix = "__gtksharp_";

#define HAS_PREFIX(a) (*((guint64 *)(a)) == *((guint64 *) __prefix))

static GObjectClass *
get_threshold_class (GObject *obj)
{
	GType gtype = G_TYPE_FROM_INSTANCE (obj);
	while (HAS_PREFIX (g_type_name (gtype)))
		gtype = g_type_parent (gtype);
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL) klass = g_type_class_ref (gtype);
	return klass;
}

void atksharp_hyperlink_override_link_activated (GType gtype, gpointer cb);

void
atksharp_hyperlink_override_link_activated (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkHyperlinkClass *)klass)->link_activated = cb;
}

void atksharp_hyperlink_base_link_activated (AtkHyperlink* link_);

void
atksharp_hyperlink_base_link_activated (AtkHyperlink* link_)
{
	AtkHyperlinkClass *klass = (AtkHyperlinkClass *) get_threshold_class (G_OBJECT (link_));
	if (klass->link_activated)
		(* klass->link_activated) (link_);
}
void atksharp_object_override_active_descendant_changed (GType gtype, gpointer cb);

void
atksharp_object_override_active_descendant_changed (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkObjectClass *)klass)->active_descendant_changed = cb;
}

void atksharp_object_base_active_descendant_changed (AtkObject* accessible, gpointer* child);

void
atksharp_object_base_active_descendant_changed (AtkObject* accessible, gpointer* child)
{
	AtkObjectClass *klass = (AtkObjectClass *) get_threshold_class (G_OBJECT (accessible));
	if (klass->active_descendant_changed)
		(* klass->active_descendant_changed) (accessible, child);
}
void atksharp_object_override_visible_data_changed (GType gtype, gpointer cb);

void
atksharp_object_override_visible_data_changed (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkObjectClass *)klass)->visible_data_changed = cb;
}

void atksharp_object_base_visible_data_changed (AtkObject* accessible);

void
atksharp_object_base_visible_data_changed (AtkObject* accessible)
{
	AtkObjectClass *klass = (AtkObjectClass *) get_threshold_class (G_OBJECT (accessible));
	if (klass->visible_data_changed)
		(* klass->visible_data_changed) (accessible);
}
void atksharp_object_override_children_changed (GType gtype, gpointer cb);

void
atksharp_object_override_children_changed (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkObjectClass *)klass)->children_changed = cb;
}

void atksharp_object_base_children_changed (AtkObject* accessible, guint change_index, gpointer changed_child);

void
atksharp_object_base_children_changed (AtkObject* accessible, guint change_index, gpointer changed_child)
{
	AtkObjectClass *klass = (AtkObjectClass *) get_threshold_class (G_OBJECT (accessible));
	if (klass->children_changed)
		(* klass->children_changed) (accessible, change_index, changed_child);
}
void atksharp_object_override_state_change (GType gtype, gpointer cb);

void
atksharp_object_override_state_change (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkObjectClass *)klass)->state_change = cb;
}

void atksharp_object_base_state_change (AtkObject* accessible, const gchar* name, gboolean state_set);

void
atksharp_object_base_state_change (AtkObject* accessible, const gchar* name, gboolean state_set)
{
	AtkObjectClass *klass = (AtkObjectClass *) get_threshold_class (G_OBJECT (accessible));
	if (klass->state_change)
		(* klass->state_change) (accessible, name, state_set);
}
void atksharp_object_override_focus_event (GType gtype, gpointer cb);

void
atksharp_object_override_focus_event (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkObjectClass *)klass)->focus_event = cb;
}

void atksharp_object_base_focus_event (AtkObject* accessible, gboolean focus_in);

void
atksharp_object_base_focus_event (AtkObject* accessible, gboolean focus_in)
{
	AtkObjectClass *klass = (AtkObjectClass *) get_threshold_class (G_OBJECT (accessible));
	if (klass->focus_event)
		(* klass->focus_event) (accessible, focus_in);
}
void atksharp_object_override_property_change (GType gtype, gpointer cb);

void
atksharp_object_override_property_change (GType gtype, gpointer cb)
{
	GObjectClass *klass = g_type_class_peek (gtype);
	if (klass == NULL)
		klass = g_type_class_ref (gtype);
	((AtkObjectClass *)klass)->property_change = cb;
}

void atksharp_object_base_property_change (AtkObject* accessible, AtkPropertyValues* values);

void
atksharp_object_base_property_change (AtkObject* accessible, AtkPropertyValues* values)
{
	AtkObjectClass *klass = (AtkObjectClass *) get_threshold_class (G_OBJECT (accessible));
	if (klass->property_change)
		(* klass->property_change) (accessible, values);
}
