<commit_before>/* GTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 <NAME>, <NAME> and <NAME>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
 * 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.
 */

/*
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
 */

#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif

#ifndef __GTK_TYPE_UTILS_H__
#define __GTK_TYPE_UTILS_H__

/* enum types generated by glib-mkenums
 */
#include <gtk/gtktypebuiltins.h>

G_BEGIN_DECLS

/* urg */
#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ())
GType gtk_identifier_get_type (void) G_GNUC_CONST;

/* --- typedefs --- */
/* here we come with some necessary forward declarations for structures and
 * provide some fundamental function signatures
 */
typedef struct _GtkArg	       	     GtkArg;

/**
 * GtkFunction:
 * @data: #gpointer
 *
 * Defines a function pointer.
 *
 * Returns: #gint
 */
typedef gboolean (*GtkFunction)	    (gpointer      data);

/**
 * GtkCallbackMarshal:
 * @object: #GObject*
 * @data: #gpointer
 * @n_args: #guint
 * @args: #GtkArg*
 *
 * Defines a function pointer.
 */
typedef void (*GtkCallbackMarshal)  (GObject      *object,
				     gpointer      data,
				     guint         n_args,
				     GtkArg       *args);

/* This used to be defined in gtkitemfactory.h, but moved over here after
 * the complete deprecation of that header
 */
typedef gchar * (*GtkTranslateFunc) (const gchar  *path,
				     gpointer      func_data);

#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION)
/**
 * GtkArg:
 *
 * This is a structure that we use to pass in typed values (and names).
 *
 * Deprecated: 2.2:
 */
struct _GtkArg
{
  GType type;
  gchar *name;

  /* this union only defines the required storage types for
   * the possibile values, thus there is no gint enum_data field,
   * because that would just be a mere alias for gint int_data.
   * use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access
   * the discrete memebers.
   */
  union {
    /* flat values */
    gchar char_data;
    guchar uchar_data;
    gboolean bool_data;
    gint int_data;
    guint uint_data;
    glong long_data;
    gulong ulong_data;
    gfloat float_data;
    gdouble double_data;
    gchar *string_data;
    GObject *object_data;
    gpointer pointer_data;

    /* structured values */
    struct {
      GCallback f;
      gpointer d;
    } signal_data;
  } d;
};
#endif /* GTK_COMPILATION */
<commit_msg>Deprecate GtkCallbackMarshal and GtkFunction<commit_after>/* GTK - The GIMP Toolkit
 * Copyright (C) 1995-1997 <NAME>, <NAME> and <NAME>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
 * 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.
 */

/*
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
 * file for a list of people on the GTK+ Team.  See the ChangeLog
 * files for a list of changes.  These files are distributed with
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
 */

#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif

#ifndef __GTK_TYPE_UTILS_H__
#define __GTK_TYPE_UTILS_H__

/* enum types generated by glib-mkenums
 */
#include <gtk/gtktypebuiltins.h>

G_BEGIN_DECLS

/* urg */
#define GTK_TYPE_IDENTIFIER (gtk_identifier_get_type ())
GType gtk_identifier_get_type (void) G_GNUC_CONST;

#if !defined (GTK_DISABLE_DEPRECATED) || defined (GTK_COMPILATION)
/* --- typedefs --- */
/* here we come with some necessary forward declarations for structures and
 * provide some fundamental function signatures
 */
typedef struct _GtkArg	       	     GtkArg;

/**
 * GtkFunction:
 * @data: #gpointer
 *
 * Defines a function pointer.
 *
 * Returns: #gint
 *
 * Deprecated: 2.24: Use GSourceFunc() instead.
 */
typedef gboolean (*GtkFunction)	    (gpointer      data);

/**
 * GtkCallbackMarshal:
 * @object: #GObject*
 * @data: #gpointer
 * @n_args: #guint
 * @args: #GtkArg*
 *
 * Defines a function pointer.
 *
 * Deprecated: 2.24:
 */
typedef void (*GtkCallbackMarshal)  (GObject      *object,
				     gpointer      data,
				     guint         n_args,
				     GtkArg       *args);

/**
 * GtkArg:
 *
 * This is a structure that we use to pass in typed values (and names).
 *
 * Deprecated: 2.2:
 */
struct _GtkArg
{
  GType type;
  gchar *name;

  /* this union only defines the required storage types for
   * the possibile values, thus there is no gint enum_data field,
   * because that would just be a mere alias for gint int_data.
   * use the GTK_VALUE_*() and GTK_RETLOC_*() macros to access
   * the discrete memebers.
   */
  union {
    /* flat values */
    gchar char_data;
    guchar uchar_data;
    gboolean bool_data;
    gint int_data;
    guint uint_data;
    glong long_data;
    gulong ulong_data;
    gfloat float_data;
    gdouble double_data;
    gchar *string_data;
    GObject *object_data;
    gpointer pointer_data;

    /* structured values */
    struct {
      GCallback f;
      gpointer d;
    } signal_data;
  } d;
};
#endif /* GTK_DISABLE_DEPRECATED */

/* This used to be defined in gtkitemfactory.h, but moved over here after
 * the complete deprecation of that header
 */
typedef gchar * (*GtkTranslateFunc) (const gchar  *path,
                                     gpointer      func_data);


{'fraction_non_alphanumeric': 0.09070796460176991, 'fraction_numerical': 0.010619469026548672, 'mean_word_length': 3.107207752877044, 'pattern_counts': {'":': 0, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4357351', 'n_tokens_mistral': 2266, 'n_tokens_neox': 2136, 'n_words': 792}