First public contribution.
2 * Portions copyright (c) 2006-2009 Nokia Corporation. All rights reserved.
6 #include <glib-object.h>
9 #include "mrt2_glib2_test.h"
10 #endif /*__SYMBIAN32__*/
11 #define G_TYPE_TEST (my_test_get_type ())
12 #define MY_TEST(test) (G_TYPE_CHECK_INSTANCE_CAST ((test), G_TYPE_TEST, GTest))
13 #define MY_IS_TEST(test) (G_TYPE_CHECK_INSTANCE_TYPE ((test), G_TYPE_TEST))
14 #define MY_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_CAST ((tclass), G_TYPE_TEST, GTestClass))
15 #define MY_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST))
16 #define MY_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass))
18 typedef struct _GTest GTest;
19 typedef struct _GTestClass GTestClass;
28 GObjectClass parent_class;
31 static GType my_test_get_type (void);
33 static void my_test_class_init (GTestClass * klass);
34 static void my_test_init (GTest * test);
35 static void my_test_dispose (GObject * object);
37 static GObjectClass *parent_class = NULL;
40 my_test_get_type (void)
42 static GType test_type = 0;
45 static const GTypeInfo test_info = {
49 (GClassInitFunc) my_test_class_init,
54 (GInstanceInitFunc) my_test_init,
58 test_type = g_type_register_static (G_TYPE_OBJECT, "GTest",
65 my_test_class_init (GTestClass * klass)
67 GObjectClass *gobject_class;
69 gobject_class = (GObjectClass *) klass;
71 parent_class = g_type_class_ref (G_TYPE_OBJECT);
73 gobject_class->dispose = my_test_dispose;
77 my_test_init (GTest * test)
79 g_print ("init %p\n", test);
83 my_test_dispose (GObject * object)
87 test = MY_TEST (object);
89 g_print ("dispose %p!\n", object);
91 G_OBJECT_CLASS (parent_class)->dispose (object);
95 my_test_do_refcount (GTest * test)
98 if (i++ % 100000 == 0)
101 g_object_unref (test);
105 main (int argc, char **argv)
112 g_log_set_handler (NULL, G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, &mrtLogHandler, NULL);
113 g_set_print_handler(mrtPrintHandler);
114 #endif /*__SYMBIAN32__*/
115 g_thread_init (NULL);
116 g_print ("START: %s\n", argv[0]);
117 g_log_set_always_fatal (G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL | g_log_set_always_fatal (G_LOG_FATAL_MASK));
120 test = g_object_new (G_TYPE_TEST, NULL);
123 for (i=0; i<100000; i++) {
125 for (i=0; i<100000000; i++) {
126 #endif//__SYMBIAN32__
127 my_test_do_refcount (test);
133 testResultXml("objects2");
134 #endif /* EMULATOR */