os/ossrv/glib/gobject/gobject_wsd.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200 (2014-06-10)
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description: 
sl@0
    15
*
sl@0
    16
*/
sl@0
    17
sl@0
    18
sl@0
    19
#ifndef __GOBJECT_WSD_H__
sl@0
    20
#define __GOBJECT_WSD_H__
sl@0
    21
sl@0
    22
#if (defined(__SYMBIAN32__) && (defined(__WINSCW__) || defined(__WINS__)))
sl@0
    23
sl@0
    24
#include <_ansi.h>
sl@0
    25
#include <sys/cdefs.h>
sl@0
    26
#include <gobject.h>
sl@0
    27
#include "gbsearcharray.h"
sl@0
    28
sl@0
    29
/* --------------------------- MACRO DEFINATIONS --------------------------*/
sl@0
    30
sl@0
    31
#ifndef EMULATOR
sl@0
    32
#define EMULATOR (defined(__SYMBIAN32__) && (defined(__WINSCW__) || defined(__WINS__)))
sl@0
    33
#endif /* EMULATOR */
sl@0
    34
sl@0
    35
#define VARIABLE_NAME_MACRO(name,filename) s_##filename##_g__ ## name ## _lock
sl@0
    36
sl@0
    37
#define FUNCTION_NAME_MACRO(name,filename) _s_##filename##_g__ ## name ## _lock
sl@0
    38
sl@0
    39
#define VARIABLE_NAME(var,filename) s_##filename##_##var
sl@0
    40
sl@0
    41
#define FUNCTION_NAME(var,filename) _s_##filename##_##var
sl@0
    42
sl@0
    43
#define VARIABLE_DECL_MACRO(name,filename,datatype) \
sl@0
    44
datatype VARIABLE_NAME_MACRO(name,filename);
sl@0
    45
sl@0
    46
#define VARIABLE_DECL(var,filename,datatype)\
sl@0
    47
datatype VARIABLE_NAME(var,filename);
sl@0
    48
sl@0
    49
#define VARIABLE_DECL_ARRAY(name,filename,datatype,size) \
sl@0
    50
datatype VARIABLE_NAME(name,filename)[size];
sl@0
    51
sl@0
    52
#define RETURN_VAL(var,filename) (Gobject_ImpurePtr()->VARIABLE_NAME(var,filename))
sl@0
    53
sl@0
    54
#define RETURN_VAL_MACRO(var,filename) (Gobject_ImpurePtr()->VARIABLE_NAME_MACRO(var,filename))
sl@0
    55
sl@0
    56
#define PLS(var,filename,type) \
sl@0
    57
type *FUNCTION_NAME(var,filename)() \
sl@0
    58
{ \
sl@0
    59
return &RETURN_VAL(var,filename);\
sl@0
    60
}
sl@0
    61
sl@0
    62
#define PLS_MACRO(var,filename,type) \
sl@0
    63
type *FUNCTION_NAME_MACRO(var,filename)() \
sl@0
    64
{ \
sl@0
    65
return &RETURN_VAL_MACRO(var,filename);\
sl@0
    66
}
sl@0
    67
sl@0
    68
#define PLS_ARRAY(var,filename,type) \
sl@0
    69
type *FUNCTION_NAME(var,filename)() \
sl@0
    70
{ \
sl@0
    71
return RETURN_VAL(var,filename);\
sl@0
    72
}
sl@0
    73
/* ------------------------ END MACRO DEFINATIONS --------------------------*/
sl@0
    74
sl@0
    75
typedef struct _GObjectNotifyContext          GObjectNotifyContext;
sl@0
    76
typedef void (*GObjectNotifyQueueDispatcher) (GObject     *object,
sl@0
    77
					      guint        n_pspecs,
sl@0
    78
					      GParamSpec **pspecs);
sl@0
    79
sl@0
    80
struct _GObjectNotifyContext
sl@0
    81
{
sl@0
    82
  GQuark                       quark_notify_queue;
sl@0
    83
  GObjectNotifyQueueDispatcher dispatcher;
sl@0
    84
  GTrashStack                 *_nqueue_trash; /* unused */
sl@0
    85
};
sl@0
    86
sl@0
    87
typedef guint (*function_type) (GObject*, gint);
sl@0
    88
#ifdef __cplusplus
sl@0
    89
extern "C"
sl@0
    90
#endif /* extern "C" */
sl@0
    91
guint object_floating_flag_handler (GObject *object,gint job);
sl@0
    92
sl@0
    93
typedef struct _Emission     Emission;
sl@0
    94
typedef struct _SignalNode   SignalNode;
sl@0
    95
sl@0
    96
#define class class1
sl@0
    97
sl@0
    98
typedef struct _TypeNode        TypeNode;
sl@0
    99
typedef struct _CommonData      CommonData;
sl@0
   100
typedef struct _IFaceData       IFaceData;
sl@0
   101
typedef struct _ClassData       ClassData;
sl@0
   102
typedef struct _InstanceData    InstanceData;
sl@0
   103
typedef union  _TypeData        TypeData;
sl@0
   104
typedef struct _IFaceEntry      IFaceEntry;
sl@0
   105
sl@0
   106
typedef struct {
sl@0
   107
  gpointer            cache_data;
sl@0
   108
  GTypeClassCacheFunc cache_func;
sl@0
   109
} ClassCacheFunc;
sl@0
   110
typedef struct {
sl@0
   111
  gpointer                check_data;
sl@0
   112
  GTypeInterfaceCheckFunc check_func;
sl@0
   113
} IFaceCheckFunc;
sl@0
   114
struct global_struct
sl@0
   115
{
sl@0
   116
	//Global data of gboxed.c
sl@0
   117
	VARIABLE_DECL(boxed_bsa,gboxed,GBSearchArray *)
sl@0
   118
	VARIABLE_DECL(type_id,g_closure_get_type ,GType)
sl@0
   119
	VARIABLE_DECL(type_id,g_value_get_type ,GType)
sl@0
   120
	VARIABLE_DECL(type_id,g_value_array_get_type ,GType)
sl@0
   121
	VARIABLE_DECL(type_id,g_date_get_type ,GType)
sl@0
   122
	VARIABLE_DECL(type_id,g_strv_get_type ,GType)
sl@0
   123
	VARIABLE_DECL(type_id,g_gstring_get_type ,GType)
sl@0
   124
	VARIABLE_DECL(type_id,g_hash_table_get_type ,GType)
sl@0
   125
	VARIABLE_DECL(type_id,g_regex_get_type ,GType)
sl@0
   126
sl@0
   127
	//Global data of genums.c
sl@0
   128
	VARIABLE_DECL(initialized ,g_enum_types_init,gboolean)
sl@0
   129
	VARIABLE_DECL(info,g_enum_types_init,GTypeInfo)
sl@0
   130
sl@0
   131
	//Global data of gobject.c
sl@0
   132
	VARIABLE_DECL(quark_closure_array,gobject,GQuark)
sl@0
   133
	VARIABLE_DECL(quark_weak_refs,gobject,GQuark)
sl@0
   134
	VARIABLE_DECL(quark_toggle_refs,gobject,GQuark)
sl@0
   135
	VARIABLE_DECL(pspec_pool,gobject,GParamSpecPool *)
sl@0
   136
	VARIABLE_DECL(property_notify_context,gobject,GObjectNotifyContext)
sl@0
   137
	VARIABLE_DECL_ARRAY(gobject_signals,gobject,gulong,1)
sl@0
   138
	VARIABLE_DECL_MACRO(construction_mutex,gobject,GStaticMutex)
sl@0
   139
	VARIABLE_DECL(construction_objects,gobject,GSList *)
sl@0
   140
	#ifdef	G_ENABLE_DEBUG
sl@0
   141
	VARIABLE_DECL_MACRO(debug_objects,gobject,GStaticMutex)
sl@0
   142
	VARIABLE_DECL(g_trap_object_ref,gobject,volatile GObject *)
sl@0
   143
	VARIABLE_DECL(debug_objects_count,gobject,guint)
sl@0
   144
	VARIABLE_DECL(debug_objects_ht,gobject,GHashTable	*)
sl@0
   145
	#endif /* G_ENABLE_DEBUG */
sl@0
   146
	VARIABLE_DECL(initialized ,g_object_type_init,gboolean)
sl@0
   147
	VARIABLE_DECL(info,g_object_type_init,GTypeInfo)
sl@0
   148
	VARIABLE_DECL(floating_flag_handler,gobject,function_type)
sl@0
   149
sl@0
   150
	//GLobal data of gparam.c
sl@0
   151
	VARIABLE_DECL(init_smutex,g_param_spec_pool_new ,GStaticMutex)
sl@0
   152
sl@0
   153
	//Global data of gparamspec.c
sl@0
   154
	VARIABLE_DECL(pspec_info,g_param_spec_types_init,GParamSpecTypeInfo)
sl@0
   155
	VARIABLE_DECL(g_param_spec_types ,gparamspecs,GType *)
sl@0
   156
sl@0
   157
	//Global data of gsignal.c
sl@0
   158
	#ifdef	G_ENABLE_DEBUG
sl@0
   159
	VARIABLE_DECL(g_trace_instance_signals,gsignal,volatile gpointer )
sl@0
   160
	VARIABLE_DECL(g_trap_instance_signals,gsignal,volatile gpointer )
sl@0
   161
	#endif /* G_ENABLE_DEBUG */
sl@0
   162
sl@0
   163
 	VARIABLE_DECL(g_signal_key_bsa,gsignal,GBSearchArray *)
sl@0
   164
	VARIABLE_DECL(g_signal_hlbsa_bconfig,gsignal,GBSearchConfig)
sl@0
   165
	VARIABLE_DECL(g_class_closure_bconfig,gsignal,GBSearchConfig)
sl@0
   166
	VARIABLE_DECL(g_handler_list_bsa_ht,gsignal,GHashTable    *)
sl@0
   167
	VARIABLE_DECL(g_recursive_emissions,gsignal,Emission *)
sl@0
   168
	VARIABLE_DECL(g_restart_emissions ,gsignal,Emission *)
sl@0
   169
	VARIABLE_DECL(g_handler_sequential_number ,gsignal,gulong)
sl@0
   170
	VARIABLE_DECL_MACRO(g_signal_mutex,gsignal,GStaticMutex)
sl@0
   171
	VARIABLE_DECL(g_n_signal_nodes,gsignal,guint)
sl@0
   172
	VARIABLE_DECL(g_signal_nodes ,gsignal,SignalNode   **)
sl@0
   173
	VARIABLE_DECL(seq_hook_id ,g_signal_add_emission_hook ,gulong)
sl@0
   174
sl@0
   175
	//Global data of gsourceclosure.c
sl@0
   176
	VARIABLE_DECL(our_type ,g_io_channel_get_type ,GType)
sl@0
   177
	VARIABLE_DECL(etype ,g_io_condition_get_type,GType)
sl@0
   178
	VARIABLE_DECL(closure_callback_funcs,gsourceclosure,GSourceCallbackFuncs)
sl@0
   179
sl@0
   180
	//Global data of gtype.c
sl@0
   181
	VARIABLE_DECL(type_rw_lock,gtype,GStaticRWLock)
sl@0
   182
	VARIABLE_DECL(class_init_rec_mutex,gtype,GStaticRecMutex)
sl@0
   183
	VARIABLE_DECL(static_n_class_cache_funcs,gtype,guint)
sl@0
   184
	VARIABLE_DECL(static_class_cache_funcs ,gtype,ClassCacheFunc *)
sl@0
   185
	VARIABLE_DECL(static_n_iface_check_funcs,gtype,guint)
sl@0
   186
	VARIABLE_DECL(static_iface_check_funcs,gtype,IFaceCheckFunc *)
sl@0
   187
	VARIABLE_DECL(static_quark_type_flags,gtype,GQuark)
sl@0
   188
	VARIABLE_DECL(static_quark_iface_holder,gtype,GQuark)
sl@0
   189
	VARIABLE_DECL(static_quark_dependants_array,gtype,GQuark)
sl@0
   190
	VARIABLE_DECL(_g_type_debug_flags,gtype,GTypeDebugFlags)
sl@0
   191
	VARIABLE_DECL(static_type_nodes_ht,gtype,GHashTable *)
sl@0
   192
	VARIABLE_DECL_ARRAY(static_fundamental_type_nodes,gtype,TypeNode *,(G_TYPE_FUNDAMENTAL_MAX >> G_TYPE_FUNDAMENTAL_SHIFT) + 1)
sl@0
   193
	VARIABLE_DECL(static_fundamental_next,gtype,GType)
sl@0
   194
	VARIABLE_DECL_MACRO(instance_real_class,gtype,GStaticMutex)
sl@0
   195
	VARIABLE_DECL(instance_real_class_bsa,gtype,GBSearchArray *)
sl@0
   196
	VARIABLE_DECL(instance_real_class_bconfig,gtype,GBSearchConfig)
sl@0
   197
	VARIABLE_DECL_ARRAY(debug_keys,g_type_init_with_debug_flags ,GDebugKey,2)
sl@0
   198
	VARIABLE_DECL_MACRO(type_init_lock,g_type_init_with_debug_flags,GStaticMutex)
sl@0
   199
sl@0
   200
	//Global data of gtypemodule.c
sl@0
   201
	VARIABLE_DECL(parent_class ,gtypemodule,gpointer)
sl@0
   202
	VARIABLE_DECL(type_module_type,g_type_module_get_type ,GType)
sl@0
   203
sl@0
   204
	//Global data of gtypeplugin.c
sl@0
   205
	VARIABLE_DECL(type_plugin_type ,g_type_plugin_get_type,GType)
sl@0
   206
sl@0
   207
	//Global data of gvalue.c
sl@0
   208
	VARIABLE_DECL(transform_array,gvalue,GBSearchArray *)
sl@0
   209
	VARIABLE_DECL(transform_bconfig,gvalue,GBSearchConfig)
sl@0
   210
sl@0
   211
	// Global data of gvaluetypes.c
sl@0
   212
	VARIABLE_DECL(type ,g_gtype_get_type ,GType)
sl@0
   213
sl@0
   214
};
sl@0
   215
sl@0
   216
#undef class
sl@0
   217
sl@0
   218
__BEGIN_DECLS
sl@0
   219
struct global_struct *Gobject_ImpurePtr();
sl@0
   220
__END_DECLS
sl@0
   221
#endif 
sl@0
   222
sl@0
   223
#endif /* __GOBJECT_WSD_H__ */