(root)/
glib-2.79.0/
gobject/
gbindinggroup.h
       1  /* GObject - GLib Type, Object, Parameter and Signal Library
       2   *
       3   * Copyright (C) 2015-2022 Christian Hergert <christian@hergert.me>
       4   * Copyright (C) 2015 Garrett Regier <garrettregier@gmail.com>
       5   *
       6   * This library is free software; you can redistribute it and/or
       7   * modify it under the terms of the GNU Lesser General Public
       8   * License as published by the Free Software Foundation; either
       9   * version 2.1 of the License, or (at your option) any later version.
      10   *
      11   * This library is distributed in the hope that it will be useful,
      12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
      13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14   * Lesser General Public License for more details.
      15   *
      16   * You should have received a copy of the GNU Lesser General
      17   * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
      18   *
      19   * SPDX-License-Identifier: LGPL-2.1-or-later
      20   */
      21  
      22  #ifndef __G_BINDING_GROUP_H__
      23  #define __G_BINDING_GROUP_H__
      24  
      25  #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
      26  #error "Only <glib-object.h> can be included directly."
      27  #endif
      28  
      29  #include <glib.h>
      30  #include <gobject/gobject.h>
      31  #include <gobject/gbinding.h>
      32  
      33  G_BEGIN_DECLS
      34  
      35  #define G_BINDING_GROUP(obj)    (G_TYPE_CHECK_INSTANCE_CAST ((obj), G_TYPE_BINDING_GROUP, GBindingGroup))
      36  #define G_IS_BINDING_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), G_TYPE_BINDING_GROUP))
      37  #define G_TYPE_BINDING_GROUP    (g_binding_group_get_type())
      38  
      39  typedef struct _GBindingGroup GBindingGroup;
      40  
      41  GOBJECT_AVAILABLE_IN_2_72
      42  GType          g_binding_group_get_type           (void) G_GNUC_CONST;
      43  GOBJECT_AVAILABLE_IN_2_72
      44  GBindingGroup *g_binding_group_new                (void);
      45  GOBJECT_AVAILABLE_IN_2_72
      46  gpointer       g_binding_group_dup_source         (GBindingGroup         *self);
      47  GOBJECT_AVAILABLE_IN_2_72
      48  void           g_binding_group_set_source         (GBindingGroup         *self,
      49                                                     gpointer               source);
      50  GOBJECT_AVAILABLE_IN_2_72
      51  void           g_binding_group_bind               (GBindingGroup         *self,
      52                                                     const gchar           *source_property,
      53                                                     gpointer               target,
      54                                                     const gchar           *target_property,
      55                                                     GBindingFlags          flags);
      56  GOBJECT_AVAILABLE_IN_2_72
      57  void           g_binding_group_bind_full          (GBindingGroup         *self,
      58                                                     const gchar           *source_property,
      59                                                     gpointer               target,
      60                                                     const gchar           *target_property,
      61                                                     GBindingFlags          flags,
      62                                                     GBindingTransformFunc  transform_to,
      63                                                     GBindingTransformFunc  transform_from,
      64                                                     gpointer               user_data,
      65                                                     GDestroyNotify         user_data_destroy);
      66  GOBJECT_AVAILABLE_IN_2_72
      67  void           g_binding_group_bind_with_closures (GBindingGroup         *self,
      68                                                     const gchar           *source_property,
      69                                                     gpointer               target,
      70                                                     const gchar           *target_property,
      71                                                     GBindingFlags          flags,
      72                                                     GClosure              *transform_to,
      73                                                     GClosure              *transform_from);
      74  
      75  G_END_DECLS
      76  
      77  #endif /* __G_BINDING_GROUP_H__ */