/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim:expandtab:shiftwidth=2:tabstop=2: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #include #include "maiRedundantObjectFactory.h" static void mai_redundant_object_factory_class_init ( maiRedundantObjectFactoryClass *klass); static AtkObject* mai_redundant_object_factory_create_accessible ( GObject *obj); static GType mai_redundant_object_factory_get_accessible_type (void); GType mai_redundant_object_factory_get_type (void) { static GType type = 0; if (!type) { static const GTypeInfo tinfo = { sizeof (maiRedundantObjectFactoryClass), (GBaseInitFunc) NULL, /* base init */ (GBaseFinalizeFunc) NULL, /* base finalize */ (GClassInitFunc) mai_redundant_object_factory_class_init, /* class init */ (GClassFinalizeFunc) NULL, /* class finalize */ NULL, /* class data */ sizeof (maiRedundantObjectFactory), /* instance size */ 0, /* nb preallocs */ (GInstanceInitFunc) NULL, /* instance init */ NULL /* value table */ }; type = g_type_register_static ( ATK_TYPE_OBJECT_FACTORY, "MaiRedundantObjectFactory" , &tinfo, 0); } return type; } static void mai_redundant_object_factory_class_init (maiRedundantObjectFactoryClass *klass) { AtkObjectFactoryClass *class = ATK_OBJECT_FACTORY_CLASS (klass); class->create_accessible = mai_redundant_object_factory_create_accessible; class->get_accessible_type = mai_redundant_object_factory_get_accessible_type; } /** * mai_redundant_object_factory_new: * * Creates an instance of an #AtkObjectFactory which generates primitive * (non-functioning) #AtkObjects. * * Returns: an instance of an #AtkObjectFactory **/ AtkObjectFactory* mai_redundant_object_factory_new () { GObject *factory; factory = g_object_new (mai_redundant_object_factory_get_type(), NULL); g_return_val_if_fail (factory != NULL, NULL); return ATK_OBJECT_FACTORY (factory); } static AtkObject* mai_redundant_object_factory_create_accessible (GObject *obj) { AtkObject *accessible; g_return_val_if_fail (obj != NULL, NULL); accessible = g_object_new (ATK_TYPE_OBJECT, NULL); g_return_val_if_fail (accessible != NULL, NULL); accessible->role = ATK_ROLE_REDUNDANT_OBJECT; return accessible; } static GType mai_redundant_object_factory_get_accessible_type () { return mai_redundant_object_factory_get_type(); }