X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gobject%2Fgtype-private.h;h=d7e2ee2faa6d84f5d65692f5c70f4e6b34d8402a;hb=9da85c7262325478e8730ae9f3e76bd0528a9a8c;hp=664eb55c3814a3802ef04ebb2db23e980fce2921;hpb=a4e38786750d538b334b8a7a7cc9f5a3ff48bc33;p=platform%2Fupstream%2Fglib.git diff --git a/gobject/gtype-private.h b/gobject/gtype-private.h index 664eb55..d7e2ee2 100644 --- a/gobject/gtype-private.h +++ b/gobject/gtype-private.h @@ -12,21 +12,45 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General - * Public License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307, USA. + * Public License along with this library; if not, see . */ +#ifndef __G_TYPE_PRIVATE_H__ +#define __G_TYPE_PRIVATE_H__ + #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_TYPE_PRIVATE_H__ -#define __G_TYPE_PRIVATE_H__ - #include "gboxed.h" +#include "gclosure.h" G_BEGIN_DECLS +extern GTypeDebugFlags _g_type_debug_flags; + +typedef struct _GRealClosure GRealClosure; +struct _GRealClosure +{ + GClosureMarshal meta_marshal; + gpointer meta_marshal_data; + GVaClosureMarshal va_meta_marshal; + GVaClosureMarshal va_marshal; + GClosure closure; +}; + +#define G_REAL_CLOSURE(_c) \ + ((GRealClosure *)G_STRUCT_MEMBER_P ((_c), -G_STRUCT_OFFSET (GRealClosure, closure))) + +void _g_value_c_init (void); /* sync with gvalue.c */ +void _g_value_types_init (void); /* sync with gvaluetypes.c */ +void _g_enum_types_init (void); /* sync with genums.c */ +void _g_param_type_init (void); /* sync with gparam.c */ +void _g_boxed_type_init (void); /* sync with gboxed.c */ +void _g_object_type_init (void); /* sync with gobject.c */ +void _g_param_spec_types_init (void); /* sync with gparamspecs.c */ +void _g_value_transforms_init (void); /* sync with gvaluetransform.c */ +void _g_signal_init (void); /* sync with gsignal.c */ + /* for gboxed.c */ gpointer _g_type_boxed_copy (GType type, gpointer value); @@ -36,6 +60,19 @@ void _g_type_boxed_init (GType type, GBoxedCopyFunc copy_func, GBoxedFreeFunc free_func); +gboolean _g_closure_is_void (GClosure *closure, + gpointer instance); +gboolean _g_closure_supports_invoke_va (GClosure *closure); +void _g_closure_set_va_marshal (GClosure *closure, + GVaClosureMarshal marshal); +void _g_closure_invoke_va (GClosure *closure, + GValue /*out*/ *return_value, + gpointer instance, + va_list args, + int n_params, + GType *param_types); + + G_END_DECLS #endif /* __G_TYPE_PRIVATE_H__ */