Line data Source code
1 : /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* vim:expandtab:shiftwidth=2:tabstop=2:
3 : */
4 : /* This Source Code Form is subject to the terms of the Mozilla Public
5 : * License, v. 2.0. If a copy of the MPL was not distributed with this
6 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 :
8 : #include <atk/atk.h>
9 : #include "maiRedundantObjectFactory.h"
10 :
11 : static void mai_redundant_object_factory_class_init (
12 : maiRedundantObjectFactoryClass *klass);
13 :
14 : static AtkObject* mai_redundant_object_factory_create_accessible (
15 : GObject *obj);
16 : static GType mai_redundant_object_factory_get_accessible_type (void);
17 :
18 : GType
19 1 : mai_redundant_object_factory_get_type (void)
20 : {
21 : static GType type = 0;
22 :
23 1 : if (!type)
24 : {
25 : static const GTypeInfo tinfo =
26 : {
27 : sizeof (maiRedundantObjectFactoryClass),
28 : (GBaseInitFunc) NULL, /* base init */
29 : (GBaseFinalizeFunc) NULL, /* base finalize */
30 : (GClassInitFunc) mai_redundant_object_factory_class_init, /* class init */
31 : (GClassFinalizeFunc) NULL, /* class finalize */
32 : NULL, /* class data */
33 : sizeof (maiRedundantObjectFactory), /* instance size */
34 : 0, /* nb preallocs */
35 : (GInstanceInitFunc) NULL, /* instance init */
36 : NULL /* value table */
37 : };
38 1 : type = g_type_register_static (
39 : ATK_TYPE_OBJECT_FACTORY,
40 : "MaiRedundantObjectFactory" , &tinfo, 0);
41 : }
42 :
43 1 : return type;
44 : }
45 :
46 : static void
47 0 : mai_redundant_object_factory_class_init (maiRedundantObjectFactoryClass *klass)
48 : {
49 0 : AtkObjectFactoryClass *class = ATK_OBJECT_FACTORY_CLASS (klass);
50 :
51 0 : class->create_accessible = mai_redundant_object_factory_create_accessible;
52 0 : class->get_accessible_type = mai_redundant_object_factory_get_accessible_type;
53 0 : }
54 :
55 : /**
56 : * mai_redundant_object_factory_new:
57 : *
58 : * Creates an instance of an #AtkObjectFactory which generates primitive
59 : * (non-functioning) #AtkObjects.
60 : *
61 : * Returns: an instance of an #AtkObjectFactory
62 : **/
63 : AtkObjectFactory*
64 0 : mai_redundant_object_factory_new ()
65 : {
66 : GObject *factory;
67 :
68 0 : factory = g_object_new (mai_redundant_object_factory_get_type(), NULL);
69 :
70 0 : g_return_val_if_fail (factory != NULL, NULL);
71 0 : return ATK_OBJECT_FACTORY (factory);
72 : }
73 :
74 : static AtkObject*
75 0 : mai_redundant_object_factory_create_accessible (GObject *obj)
76 : {
77 : AtkObject *accessible;
78 :
79 0 : g_return_val_if_fail (obj != NULL, NULL);
80 :
81 0 : accessible = g_object_new (ATK_TYPE_OBJECT, NULL);
82 0 : g_return_val_if_fail (accessible != NULL, NULL);
83 :
84 0 : accessible->role = ATK_ROLE_REDUNDANT_OBJECT;
85 :
86 0 : return accessible;
87 : }
88 :
89 : static GType
90 0 : mai_redundant_object_factory_get_accessible_type ()
91 : {
92 0 : return mai_redundant_object_factory_get_type();
93 : }
|