*** empty log message ***
[platform/core/uifw/at-spi2-atk.git] / test / login-helper-server-test.c
1 #include <libbonobo.h>
2 #include <login-helper/login-helper.h>
3
4 static void test_init_login_helper_vpointers (LoginHelper *helper, 
5                                               gpointer test_set_safe, 
6                                               gpointer test_get_device_reqs, 
7                                               gpointer test_get_raise_windows);
8
9 static gboolean test_set_safe (LoginHelper *helper, gboolean safe);
10
11 static LoginHelperDeviceReqFlags test_get_device_reqs (LoginHelper *helper);
12
13 static Window* test_get_raise_windows (LoginHelper *helper);
14
15 int
16 main (int argc, char **argv)
17 {
18         int          ret;
19         char        *obj_id, *display_name;
20         BonoboObject *helper;
21         
22         if (!bonobo_init (&argc, argv))
23         {
24                 g_error ("Could not initialize oaf / Bonobo");
25         }
26         
27         obj_id = "OAFIID:GNOME_GOK:1.0";  /* just for testing, stolen from GOK */
28         
29         helper = BONOBO_OBJECT (g_object_new (LOGIN_HELPER_TYPE, NULL));
30         
31         ret = bonobo_activation_register_active_server (
32                 obj_id,
33                 bonobo_object_corba_objref (bonobo_object (helper)),
34                 NULL);
35         
36         if (ret != Bonobo_ACTIVATION_REG_SUCCESS)
37         {
38                 switch (ret) 
39                 {
40                 case Bonobo_ACTIVATION_REG_NOT_LISTED:
41                         fprintf (stderr, "OAFIID not listed\n");
42                         break;
43                 default:
44                         fprintf (stderr, "Registration Error: %d\n", ret);
45                         break;
46                 }
47         }
48         else
49         {
50                 CORBA_Environment ev;
51                 Bonobo_Unknown ret;
52                 CORBA_exception_init (&ev);
53                 
54                 ret = Bonobo_Unknown_queryInterface (
55                         BONOBO_OBJREF (helper),
56                         "IDL:Accessibility/LoginHelper:1.0", 
57                         &ev);
58                 
59                 if (BONOBO_EX (&ev))
60                 {
61                         fprintf (stderr, "queryInterface error: %s\n", 
62                                  bonobo_exception_get_text (&ev));
63                 }
64                 else
65                 {
66                         fprintf (stderr, "query returned %p: objref self = %p\n", 
67                                  ret, BONOBO_OBJREF (helper));
68                 }
69         }
70
71         /* this is a testing hack - we are changing the LoginHelperClass's vpointers here */
72         
73         test_init_login_helper_vpointers (helper, test_set_safe, test_get_device_reqs, test_get_raise_windows);
74
75         bonobo_main ();
76 }
77
78 static void
79 test_init_login_helper_vpointers (LoginHelper *helper, 
80                                   gpointer set_safe_func, 
81                                   gpointer get_device_reqs_func, 
82                                   gpointer get_raise_windows_func)
83 {
84         LoginHelperClass *klass = LOGIN_HELPER_GET_CLASS (helper);
85         klass->set_safe = set_safe_func;
86         klass->get_device_reqs = get_device_reqs_func;
87         klass->get_raise_windows = get_raise_windows_func;
88 }
89
90 static gboolean
91 test_set_safe (LoginHelper *helper, gboolean safe)
92 {
93         return TRUE;
94 }
95
96 static LoginHelperDeviceReqFlags
97 test_get_device_reqs (LoginHelper *helper)
98 {
99         return 0;
100 }
101
102 static Window*
103 test_get_raise_windows (LoginHelper *helper)
104 {
105         return NULL;
106 }