📄 gobject.h
字号:
* to complete its initialisation. * * The class structure for the <structname>GObject</structname> type. * * <example> * <title>Implementing singletons using a constructor</title> * <programlisting> * static MySingleton *the_singleton = NULL; * * static GObject* * my_singleton_constructor (GType type, * guint n_construct_params, * GObjectConstructParam *construct_params) * { * GObject *object; * * if (!the_singleton) * { * object = G_OBJECT_CLASS (parent_class)->constructor (type, * n_construct_params, * construct_params); * the_singleton = MY_SINGLETON (object); * } * else * object = g_object_ref (G_OBJECT (the_singleton)); * * return object; * } * </programlisting></example> */struct _GObjectClass{ GTypeClass g_type_class; /*< private >*/ GSList *construct_properties; /*< public >*/ /* seldomly overidden */ GObject* (*constructor) (GType type, guint n_construct_properties, GObjectConstructParam *construct_properties); /* overridable methods */ void (*set_property) (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec); void (*get_property) (GObject *object, guint property_id, GValue *value, GParamSpec *pspec); void (*dispose) (GObject *object); void (*finalize) (GObject *object); /* seldomly overidden */ void (*dispatch_properties_changed) (GObject *object, guint n_pspecs, GParamSpec **pspecs); /* signals */ void (*notify) (GObject *object, GParamSpec *pspec); /* called when done constructing */ void (*constructed) (GObject *object); /*< private >*/ /* padding */ gpointer pdummy[7];};/** * GObjectConstructParam: * @pspec: the #GParamSpec of the construct parameter * @value: the value to set the parameter to * * The <structname>GObjectConstructParam</structname> struct is an auxiliary * structure used to hand #GParamSpec/#GValue pairs to the @constructor of * a #GObjectClass. */struct _GObjectConstructParam{ GParamSpec *pspec; GValue *value;};/** * GInitiallyUnowned: * * All the fields in the <structname>GInitiallyUnowned</structname> structure * are private to the #GInitiallyUnowned implementation and should never be * accessed directly. *//** * GInitiallyUnownedClass: * * The class structure for the <structname>GInitiallyUnowned</structname> type. *//* --- prototypes --- */GType g_initially_unowned_get_type (void);void g_object_class_install_property (GObjectClass *oclass, guint property_id, GParamSpec *pspec);GParamSpec* g_object_class_find_property (GObjectClass *oclass, const gchar *property_name);GParamSpec**g_object_class_list_properties (GObjectClass *oclass, guint *n_properties);void g_object_class_override_property (GObjectClass *oclass, guint property_id, const gchar *name);void g_object_interface_install_property (gpointer g_iface, GParamSpec *pspec);GParamSpec* g_object_interface_find_property (gpointer g_iface, const gchar *property_name);GParamSpec**g_object_interface_list_properties (gpointer g_iface, guint *n_properties_p);GType g_object_get_type (void) G_GNUC_CONST;gpointer g_object_new (GType object_type, const gchar *first_property_name, ...);gpointer g_object_newv (GType object_type, guint n_parameters, GParameter *parameters);GObject* g_object_new_valist (GType object_type, const gchar *first_property_name, va_list var_args);void g_object_set (gpointer object, const gchar *first_property_name, ...) G_GNUC_NULL_TERMINATED;void g_object_get (gpointer object, const gchar *first_property_name, ...) G_GNUC_NULL_TERMINATED;gpointer g_object_connect (gpointer object, const gchar *signal_spec, ...) G_GNUC_NULL_TERMINATED;void g_object_disconnect (gpointer object, const gchar *signal_spec, ...) G_GNUC_NULL_TERMINATED;void g_object_set_valist (GObject *object, const gchar *first_property_name, va_list var_args);void g_object_get_valist (GObject *object, const gchar *first_property_name, va_list var_args);void g_object_set_property (GObject *object, const gchar *property_name, const GValue *value);void g_object_get_property (GObject *object, const gchar *property_name, GValue *value);void g_object_freeze_notify (GObject *object);void g_object_notify (GObject *object, const gchar *property_name);void g_object_thaw_notify (GObject *object);gboolean g_object_is_floating (gpointer object);gpointer g_object_ref_sink (gpointer object);gpointer g_object_ref (gpointer object);void g_object_unref (gpointer object);void g_object_weak_ref (GObject *object, GWeakNotify notify, gpointer data);void g_object_weak_unref (GObject *object, GWeakNotify notify, gpointer data);void g_object_add_weak_pointer (GObject *object, gpointer *weak_pointer_location);void g_object_remove_weak_pointer (GObject *object, gpointer *weak_pointer_location);/** * GToggleNotify: * @data: Callback data passed to g_object_add_toggle_ref() * @object: The object on which g_object_add_toggle_ref() was called. * @is_last_ref: %TRUE if the toggle reference is now the * last reference to the object. %FALSE if the toggle * reference was the last reference and there are now other * references. * * A callback function used for notification when the state * of a toggle reference changes. See g_object_add_toggle_ref(). */typedef void (*GToggleNotify) (gpointer data, GObject *object, gboolean is_last_ref);void g_object_add_toggle_ref (GObject *object, GToggleNotify notify, gpointer data);void g_object_remove_toggle_ref (GObject *object, GToggleNotify notify, gpointer data);gpointer g_object_get_qdata (GObject *object, GQuark quark);void g_object_set_qdata (GObject *object, GQuark quark, gpointer data);void g_object_set_qdata_full (GObject *object, GQuark quark, gpointer data, GDestroyNotify destroy);gpointer g_object_steal_qdata (GObject *object, GQuark quark);gpointer g_object_get_data (GObject *object, const gchar *key);void g_object_set_data (GObject *object, const gchar *key, gpointer data);void g_object_set_data_full (GObject *object, const gchar *key, gpointer data, GDestroyNotify destroy);gpointer g_object_steal_data (GObject *object, const gchar *key);void g_object_watch_closure (GObject *object, GClosure *closure);GClosure* g_cclosure_new_object (GCallback callback_func, GObject *object);GClosure* g_cclosure_new_object_swap (GCallback callback_func, GObject *object);GClosure* g_closure_new_object (guint sizeof_closure, GObject *object);void g_value_set_object (GValue *value, gpointer v_object);gpointer g_value_get_object (const GValue *value);gpointer g_value_dup_object (const GValue *value);gulong g_signal_connect_object (gpointer instance, const gchar *detailed_signal, GCallback c_handler, gpointer gobject, GConnectFlags connect_flags);/*< protected >*/void g_object_force_floating (GObject *object);void g_object_run_dispose (GObject *object);void g_value_take_object (GValue *value, gpointer v_object);#ifndef G_DISABLE_DEPRECATEDvoid g_value_set_object_take_ownership (GValue *value, gpointer v_object);#endif#if !defined(G_DISABLE_DEPRECATED) || defined(GTK_COMPILATION)gsize g_object_compat_control (gsize what, gpointer data);#endif/* --- implementation macros --- */#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \G_STMT_START { \ GObject *_object = (GObject*) (object); \ GParamSpec *_pspec = (GParamSpec*) (pspec); \ guint _property_id = (property_id); \ g_warning ("%s: invalid %s id %u for \"%s\" of type `%s' in `%s'", \ G_STRLOC, \ (pname), \ _property_id, \ _pspec->name, \ g_type_name (G_PARAM_SPEC_TYPE (_pspec)), \ G_OBJECT_TYPE_NAME (_object)); \} G_STMT_END/** * G_OBJECT_WARN_INVALID_PROPERTY_ID: * @object: the #GObject on which set_property() or get_property() was called * @property_id: the numeric id of the property * @pspec: the #GParamSpec of the property * * This macro should be used to emit a standard warning about unexpected * properties in set_property() and get_property() implementations. */#define G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec) \ G_OBJECT_WARN_INVALID_PSPEC ((object), "property", (property_id), (pspec))G_END_DECLS#endif /* __G_OBJECT_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -