Initial commit
[atksocket-atkplug-example:mainline.git] / socket / ta-socket-accessible-factory.c
1 /*
2  * Copyright (C) 2011 Igalia S.L.
3  * Authors: Mario Sanchez Prada <msanchez@igalia.com>
4  *
5  * Based on a C# example written in C# by Mike Gorse:
6  * http://mgorse.freeshell.org/plug-socket-test.tar.gz
7  *
8  * This program is free software; you can redistribute it and/or
9  * modify it under the terms of version 3 of the GNU General Public
10  * License as published by the Free Software Foundation.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public
18  * License along with this program; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  *
22  */
23 #include "ta-socket-accessible-factory.h"
24
25 #include "ta-socket-accessible.h"
26 #include "ta-socket-label.h"
27
28 #include <atk/atk.h>
29 #include <glib.h>
30
31 G_DEFINE_TYPE (TaSocketAccessibleFactory, ta_socket_accessible_factory, ATK_TYPE_OBJECT_FACTORY);
32
33 static AtkObject *ta_socket_accessible_factory_create_accessible (GObject *obj)
34 {
35   g_return_val_if_fail(G_IS_OBJECT (obj), NULL);
36
37   AtkObject *new = NULL;
38
39   new = ta_socket_accessible_new ();
40   atk_object_initialize (new, obj);
41   return new;
42 }
43
44 static GType ta_socket_accessible_factory_get_accessible_type (void)
45 {
46   return TA_TYPE_SOCKET_ACCESSIBLE;
47 }
48
49 static void ta_socket_accessible_factory_class_init (TaSocketAccessibleFactoryClass *klass)
50 {
51   GObjectClass *g_object_class = G_OBJECT_CLASS(klass);
52   AtkObjectFactoryClass *atk_object_factory_class = NULL;
53
54   atk_object_factory_class = ATK_OBJECT_FACTORY_CLASS (klass);
55   atk_object_factory_class->create_accessible = ta_socket_accessible_factory_create_accessible;
56   atk_object_factory_class->get_accessible_type = ta_socket_accessible_factory_get_accessible_type;
57 }
58
59 static void ta_socket_accessible_factory_init(TaSocketAccessibleFactory *socket)
60 {
61 }
62
63 void ta_socket_accessible_factory_initialize (void)
64 {
65   atk_registry_set_factory_type (atk_get_default_registry (),
66                                  TA_TYPE_SOCKET_LABEL,
67                                  TA_TYPE_SOCKET_ACCESSIBLE_FACTORY);
68 }