1// included by glib2.pas
2
3{$IFDEF read_forward_definitions}
4{$ENDIF read_forward_definitions}
5
6//------------------------------------------------------------------------------
7
8{$IFDEF read_interface_types}
9   PGObject = ^TGObject;
10   TGObject = record
11        g_type_instance : TGTypeInstance;
12        ref_count : guint;
13        qdata : PGData;
14     end;
15
16   TGObjectGetPropertyFunc = procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl;
17
18   TGObjectSetPropertyFunc = procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl;
19
20   TGObjectFinalizeFunc = procedure (anObject:PGObject); cdecl;
21
22   TGWeakNotify = procedure (data:gpointer; where_the_object_was:PGObject); cdecl;
23
24{< private > }
25   PGObjectConstructParam = ^TGObjectConstructParam;
26
27{ public overridable methods  }
28{ seldomly overidden  }
29{ signals  }
30{ padding  }
31   PGObjectClass = ^TGObjectClass;
32   TGObjectClass = record
33        g_type_class : TGTypeClass;
34        construct_properties : PGSList;
35        _constructor : function (_type:GType; n_construct_properties:guint; construct_properties:PGObjectConstructParam):PGObject; cdecl;
36        set_property : procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl;
37        get_property : procedure (anObject:PGObject; property_id:guint; value:PGValue; pspec:PGParamSpec); cdecl;
38        _dispose : procedure (anObject:PGObject); cdecl;
39        finalize : procedure (anObject:PGObject); cdecl;
40        dispatch_properties_changed : procedure (anObject:PGObject; n_pspecs:guint; pspecs:PPGParamSpec); cdecl;
41        notify : procedure (anObject:PGObject; pspec:PGParamSpec); cdecl;
42        pdummy : array[0..7] of gpointer;
43     end;
44
45   TGObjectConstructParam = record
46        pspec : PGParamSpec;
47        value : PGValue;
48     end;
49
50  G_FLAGS_TYPE = GType;
51{$ENDIF read_interface_types}
52
53//------------------------------------------------------------------------------
54
55{$IFDEF read_interface_rest}
56
57{ --- type macros ---  }
58
59function G_TYPE_IS_OBJECT(_type : GType) : boolean;
60function G_OBJECT(anObject: pointer) : PGObject;
61function G_OBJECT_CLASS(_class : Pointer) : PGObjectClass;
62function G_IS_OBJECT(anObject: pointer) : boolean;
63function G_IS_OBJECT_CLASS(_class : Pointer) : boolean;
64function G_OBJECT_GET_CLASS(anObject: pointer) : PGObjectClass;
65function G_OBJECT_TYPE(anObject: pointer) : GType;
66function G_OBJECT_TYPE_NAME(anObject: pointer) : Pgchar;
67function G_OBJECT_CLASS_TYPE(_class : Pointer) : GType;
68function G_OBJECT_CLASS_NAME(_class : Pointer) : Pgchar;
69function G_VALUE_HOLDS_OBJECT(value : Pointer) : boolean;
70
71
72{ --- prototypes ---  }
73
74procedure g_object_class_install_property(oclass:PGObjectClass; property_id:guint; pspec:PGParamSpec); cdecl; external gobjectlib;
75function g_object_class_find_property(oclass:PGObjectClass; property_name:Pgchar):PGParamSpec; cdecl; external gobjectlib;
76function g_object_class_list_properties(oclass:PGObjectClass; n_properties:Pguint):PPGParamSpec; cdecl; external gobjectlib;
77{$IFNDEF KYLIX}
78function g_object_new(object_type:GType; first_property_name:Pgchar; args:array of const):gpointer; cdecl; overload; external gobjectlib;
79function g_object_new(object_type:GType; first_property_name:Pgchar):gpointer; cdecl; overload; varargs; external gobjectlib;
80function g_object_newv(object_type:GType; n_parameters:guint; parameters:PGParameter):gpointer; cdecl; external gobjectlib;
81function g_object_new_valist(object_type:GType; first_property_name:Pgchar; var_args: array of const):PGObject; cdecl; external gobjectlib;
82procedure g_object_set(anObject:gpointer; first_property_name:Pgchar; args:array of const); cdecl; overload; external gobjectlib;
83procedure g_object_set(anObject:gpointer; first_property_name:Pgchar); cdecl; overload; varargs; external gobjectlib;
84procedure g_object_get(anObject:gpointer; first_property_name:Pgchar; args:array of const); cdecl; overload; external gobjectlib;
85procedure g_object_get(anObject:gpointer; first_property_name:Pgchar); cdecl; overload; varargs; external gobjectlib;
86function g_object_connect(anObject:gpointer; signal_spec:Pgchar; args:array of const):gpointer; cdecl; overload; external gobjectlib;
87function g_object_connect(anObject:gpointer; signal_spec:Pgchar):gpointer; cdecl; overload; varargs; external gobjectlib;
88procedure g_object_disconnect(anObject:gpointer; signal_spec:Pgchar; args:array of const); cdecl; overload; external gobjectlib;
89procedure g_object_disconnect(anObject:gpointer; signal_spec:Pgchar); cdecl; overload; varargs; external gobjectlib;
90procedure g_object_set_valist(anObject:PGObject; first_property_name:Pgchar; var_args: array of const); cdecl; external gobjectlib;
91procedure g_object_get_valist(anObject:PGObject; first_property_name:Pgchar; var_args: array of const); cdecl; external gobjectlib;
92{$ELSE}
93function g_object_new(object_type:GType; first_property_name:Pgchar):gpointer; varargs; cdecl; external gobjectlib;
94function g_object_newv(object_type:GType; n_parameters:guint; parameters:PGParameter):gpointer; varargs; cdecl; external gobjectlib;
95function g_object_new_valist(object_type:GType; first_property_name:Pgchar):PGObject; varargs; cdecl; external gobjectlib;
96procedure g_object_set(anObject:gpointer; first_property_name:Pgchar); varargs; cdecl; external gobjectlib;
97procedure g_object_get(anObject:gpointer; first_property_name:Pgchar); varargs; cdecl; external gobjectlib;
98function g_object_connect(anObject:gpointer; signal_spec:Pgchar):gpointer; varargs; cdecl; external gobjectlib;
99procedure g_object_disconnect(anObject:gpointer; signal_spec:Pgchar); varargs; cdecl; external gobjectlib;
100procedure g_object_set_valist(anObject:PGObject; first_property_name:Pgchar); varargs; cdecl; external gobjectlib;
101procedure g_object_get_valist(anObject:PGObject; first_property_name:Pgchar); varargs; cdecl; external gobjectlib;
102{$ENDIF}
103procedure g_object_set_property(anObject:PGObject; property_name:Pgchar; value:PGValue); cdecl; external gobjectlib;
104procedure g_object_get_property(anObject:PGObject; property_name:Pgchar; value:PGValue); cdecl; external gobjectlib;
105procedure g_object_freeze_notify(anObject:PGObject); cdecl; external gobjectlib;
106procedure g_object_notify(anObject:PGObject; property_name:Pgchar); cdecl; external gobjectlib;
107procedure g_object_thaw_notify(anObject:PGObject); cdecl; external gobjectlib;
108function g_object_ref(anObject:gpointer):gpointer; cdecl; external gobjectlib;
109procedure g_object_unref(anObject:gpointer); cdecl; external gobjectlib;
110procedure g_object_weak_ref(anObject:PGObject; notify:TGWeakNotify; data:gpointer); cdecl; external gobjectlib;
111procedure g_object_weak_unref(anObject:PGObject; notify:TGWeakNotify; data:gpointer); cdecl; external gobjectlib;
112procedure g_object_add_weak_pointer(anObject:PGObject; weak_pointer_location:Pgpointer); cdecl; external gobjectlib;
113procedure g_object_remove_weak_pointer(anObject:PGObject; weak_pointer_location:Pgpointer); cdecl; external gobjectlib;
114function g_object_get_qdata(anObject:PGObject; quark:TGQuark):gpointer; cdecl; external gobjectlib;
115procedure g_object_set_qdata(anObject:PGObject; quark:TGQuark; data:gpointer); cdecl; external gobjectlib;
116procedure g_object_set_qdata_full(anObject:PGObject; quark:TGQuark; data:gpointer; destroy:TGDestroyNotify); cdecl; external gobjectlib;
117function g_object_steal_qdata(anObject:PGObject; quark:TGQuark):gpointer; cdecl; external gobjectlib;
118function g_object_get_data(anObject:PGObject; key:Pgchar):gpointer; cdecl; external gobjectlib;
119procedure g_object_set_data(anObject:PGObject; key:Pgchar; data:gpointer); cdecl; external gobjectlib;
120procedure g_object_set_data_full(anObject:PGObject; key:Pgchar; data:gpointer; destroy:TGDestroyNotify); cdecl; external gobjectlib;
121function g_object_steal_data(anObject:PGObject; key:Pgchar):gpointer; cdecl; external gobjectlib;
122procedure g_object_watch_closure(anObject:PGObject; closure:PGClosure); cdecl; external gobjectlib;
123function g_cclosure_new_object(callback_func:TGCallback; anObject:PGObject):PGClosure; cdecl; external gobjectlib;
124function g_cclosure_new_object_swap(callback_func:TGCallback; anObject:PGObject):PGClosure; cdecl; external gobjectlib;
125function g_closure_new_object(sizeof_closure:guint; anObject:PGObject):PGClosure; cdecl; external gobjectlib;
126procedure g_value_set_object(value:PGValue; v_object:gpointer); cdecl; external gobjectlib;
127function g_value_get_object(value:PGValue):gpointer; cdecl; external gobjectlib;
128function g_value_dup_object(value:PGValue):PGObject; cdecl; external gobjectlib;
129function g_signal_connect_object(instance:gpointer; detailed_signal:Pgchar; c_handler:TGCallback; gobject:gpointer; connect_flags:TGConnectFlags):gulong; cdecl; external gobjectlib;
130{< protected > }
131procedure g_object_run_dispose(anObject:PGObject); cdecl; external gobjectlib;
132{ --- marshaller specific ---  }
133procedure g_value_set_object_take_ownership(value:PGValue; v_object:gpointer); cdecl; external gobjectlib;
134
135
136{ --- implementation macros ---  }
137procedure G_OBJECT_WARN_INVALID_PSPEC(anObject: gpointer; pname: PGChar;
138  property_id: gint; pspec: gpointer);
139procedure G_OBJECT_WARN_INVALID_PROPERTY_ID(anObject: gpointer;
140  property_id: gint; pspec : gpointer);
141{$ENDIF read_interface_rest}
142
143// included by glib2.pas
144
145