Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:17:40

0001 /* GObject - GLib Type, Object, Parameter and Signal Library
0002  * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc.
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-or-later
0005  *
0006  * This library is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU Lesser General Public
0008  * License as published by the Free Software Foundation; either
0009  * version 2.1 of the License, or (at your option) any later version.
0010  *
0011  * This library is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0014  * Lesser General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU Lesser General
0017  * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
0018  *
0019  * gparamspecs.h: GLib default param specs
0020  */
0021 #ifndef __G_PARAMSPECS_H__
0022 #define __G_PARAMSPECS_H__
0023 
0024 #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
0025 #error "Only <glib-object.h> can be included directly."
0026 #endif
0027 
0028 #include        <gobject/gvalue.h>
0029 #include        <gobject/genums.h>
0030 #include        <gobject/gboxed.h>
0031 #include        <gobject/gobject.h>
0032 
0033 G_BEGIN_DECLS
0034 
0035 /* --- type macros --- */
0036 /**
0037  * G_TYPE_PARAM_CHAR:
0038  * 
0039  * The #GType of #GParamSpecChar.
0040  */
0041 #define G_TYPE_PARAM_CHAR          (g_param_spec_types[0])
0042 /**
0043  * G_IS_PARAM_SPEC_CHAR:
0044  * @pspec: a valid #GParamSpec instance
0045  * 
0046  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR.
0047  * 
0048  * Returns: %TRUE on success.
0049  */
0050 #define G_IS_PARAM_SPEC_CHAR(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
0051 /**
0052  * G_PARAM_SPEC_CHAR:
0053  * @pspec: a valid #GParamSpec instance
0054  * 
0055  * Cast a #GParamSpec instance into a #GParamSpecChar.
0056  */
0057 #define G_PARAM_SPEC_CHAR(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
0058 
0059 /**
0060  * G_TYPE_PARAM_UCHAR:
0061  * 
0062  * The #GType of #GParamSpecUChar.
0063  */
0064 #define G_TYPE_PARAM_UCHAR         (g_param_spec_types[1])
0065 /**
0066  * G_IS_PARAM_SPEC_UCHAR:
0067  * @pspec: a valid #GParamSpec instance
0068  * 
0069  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR.
0070  * 
0071  * Returns: %TRUE on success.
0072  */
0073 #define G_IS_PARAM_SPEC_UCHAR(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
0074 /**
0075  * G_PARAM_SPEC_UCHAR:
0076  * @pspec: a valid #GParamSpec instance
0077  * 
0078  * Cast a #GParamSpec instance into a #GParamSpecUChar.
0079  */
0080 #define G_PARAM_SPEC_UCHAR(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
0081 
0082 /**
0083  * G_TYPE_PARAM_BOOLEAN:
0084  * 
0085  * The #GType of #GParamSpecBoolean.
0086  */
0087 #define G_TYPE_PARAM_BOOLEAN           (g_param_spec_types[2])
0088 /**
0089  * G_IS_PARAM_SPEC_BOOLEAN:
0090  * @pspec: a valid #GParamSpec instance
0091  * 
0092  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN.
0093  * 
0094  * Returns: %TRUE on success.
0095  */
0096 #define G_IS_PARAM_SPEC_BOOLEAN(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
0097 /**
0098  * G_PARAM_SPEC_BOOLEAN:
0099  * @pspec: a valid #GParamSpec instance
0100  * 
0101  * Cast a #GParamSpec instance into a #GParamSpecBoolean.
0102  */
0103 #define G_PARAM_SPEC_BOOLEAN(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
0104 
0105 /**
0106  * G_TYPE_PARAM_INT:
0107  * 
0108  * The #GType of #GParamSpecInt.
0109  */
0110 #define G_TYPE_PARAM_INT           (g_param_spec_types[3])
0111 /**
0112  * G_IS_PARAM_SPEC_INT:
0113  * @pspec: a valid #GParamSpec instance
0114  * 
0115  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT.
0116  * 
0117  * Returns: %TRUE on success.
0118  */
0119 #define G_IS_PARAM_SPEC_INT(pspec)         (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
0120 /**
0121  * G_PARAM_SPEC_INT:
0122  * @pspec: a valid #GParamSpec instance
0123  * 
0124  * Cast a #GParamSpec instance into a #GParamSpecInt.
0125  */
0126 #define G_PARAM_SPEC_INT(pspec)            (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
0127 
0128 /**
0129  * G_TYPE_PARAM_UINT:
0130  * 
0131  * The #GType of #GParamSpecUInt.
0132  */
0133 #define G_TYPE_PARAM_UINT          (g_param_spec_types[4])
0134 /**
0135  * G_IS_PARAM_SPEC_UINT:
0136  * @pspec: a valid #GParamSpec instance
0137  * 
0138  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT.
0139  * 
0140  * Returns: %TRUE on success.
0141  */
0142 #define G_IS_PARAM_SPEC_UINT(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
0143 /**
0144  * G_PARAM_SPEC_UINT:
0145  * @pspec: a valid #GParamSpec instance
0146  * 
0147  * Cast a #GParamSpec instance into a #GParamSpecUInt.
0148  */
0149 #define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
0150 
0151 /**
0152  * G_TYPE_PARAM_LONG:
0153  * 
0154  * The #GType of #GParamSpecLong.
0155  */
0156 #define G_TYPE_PARAM_LONG          (g_param_spec_types[5])
0157 /**
0158  * G_IS_PARAM_SPEC_LONG:
0159  * @pspec: a valid #GParamSpec instance
0160  * 
0161  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG.
0162  * 
0163  * Returns: %TRUE on success.
0164  */
0165 #define G_IS_PARAM_SPEC_LONG(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
0166 /**
0167  * G_PARAM_SPEC_LONG:
0168  * @pspec: a valid #GParamSpec instance
0169  * 
0170  * Cast a #GParamSpec instance into a #GParamSpecLong.
0171  */
0172 #define G_PARAM_SPEC_LONG(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
0173 
0174 /**
0175  * G_TYPE_PARAM_ULONG:
0176  * 
0177  * The #GType of #GParamSpecULong.
0178  */
0179 #define G_TYPE_PARAM_ULONG         (g_param_spec_types[6])
0180 /**
0181  * G_IS_PARAM_SPEC_ULONG:
0182  * @pspec: a valid #GParamSpec instance
0183  * 
0184  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG.
0185  * 
0186  * Returns: %TRUE on success.
0187  */
0188 #define G_IS_PARAM_SPEC_ULONG(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
0189 /**
0190  * G_PARAM_SPEC_ULONG:
0191  * @pspec: a valid #GParamSpec instance
0192  * 
0193  * Cast a #GParamSpec instance into a #GParamSpecULong.
0194  */
0195 #define G_PARAM_SPEC_ULONG(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
0196 
0197 /**
0198  * G_TYPE_PARAM_INT64:
0199  * 
0200  * The #GType of #GParamSpecInt64.
0201  */
0202 #define G_TYPE_PARAM_INT64         (g_param_spec_types[7])
0203 /**
0204  * G_IS_PARAM_SPEC_INT64:
0205  * @pspec: a valid #GParamSpec instance
0206  * 
0207  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64.
0208  *
0209  * Returns: %TRUE on success.
0210  */
0211 #define G_IS_PARAM_SPEC_INT64(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))
0212 /**
0213  * G_PARAM_SPEC_INT64:
0214  * @pspec: a valid #GParamSpec instance
0215  * 
0216  * Cast a #GParamSpec instance into a #GParamSpecInt64.
0217  */
0218 #define G_PARAM_SPEC_INT64(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64))
0219 
0220 /**
0221  * G_TYPE_PARAM_UINT64:
0222  * 
0223  * The #GType of #GParamSpecUInt64.
0224  */
0225 #define G_TYPE_PARAM_UINT64        (g_param_spec_types[8])
0226 /**
0227  * G_IS_PARAM_SPEC_UINT64:
0228  * @pspec: a valid #GParamSpec instance
0229  * 
0230  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64.
0231  * 
0232  * Returns: %TRUE on success.
0233  */
0234 #define G_IS_PARAM_SPEC_UINT64(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))
0235 /**
0236  * G_PARAM_SPEC_UINT64:
0237  * @pspec: a valid #GParamSpec instance
0238  * 
0239  * Cast a #GParamSpec instance into a #GParamSpecUInt64.
0240  */
0241 #define G_PARAM_SPEC_UINT64(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64))
0242 
0243 /**
0244  * G_TYPE_PARAM_UNICHAR:
0245  * 
0246  * The #GType of #GParamSpecUnichar.
0247  */
0248 #define G_TYPE_PARAM_UNICHAR           (g_param_spec_types[9])
0249 /**
0250  * G_PARAM_SPEC_UNICHAR:
0251  * @pspec: a valid #GParamSpec instance
0252  * 
0253  * Cast a #GParamSpec instance into a #GParamSpecUnichar.
0254  */
0255 #define G_PARAM_SPEC_UNICHAR(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar))
0256 /**
0257  * G_IS_PARAM_SPEC_UNICHAR:
0258  * @pspec: a valid #GParamSpec instance
0259  * 
0260  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR.
0261  * 
0262  * Returns: %TRUE on success.
0263  */
0264 #define G_IS_PARAM_SPEC_UNICHAR(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))
0265 
0266 /**
0267  * G_TYPE_PARAM_ENUM:
0268  * 
0269  * The #GType of #GParamSpecEnum.
0270  */
0271 #define G_TYPE_PARAM_ENUM          (g_param_spec_types[10])
0272 /**
0273  * G_IS_PARAM_SPEC_ENUM:
0274  * @pspec: a valid #GParamSpec instance
0275  * 
0276  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM.
0277  * 
0278  * Returns: %TRUE on success.
0279  */
0280 #define G_IS_PARAM_SPEC_ENUM(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
0281 /**
0282  * G_PARAM_SPEC_ENUM:
0283  * @pspec: a valid #GParamSpec instance
0284  * 
0285  * Cast a #GParamSpec instance into a #GParamSpecEnum.
0286  */
0287 #define G_PARAM_SPEC_ENUM(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
0288 
0289 /**
0290  * G_TYPE_PARAM_FLAGS:
0291  * 
0292  * The #GType of #GParamSpecFlags.
0293  */
0294 #define G_TYPE_PARAM_FLAGS         (g_param_spec_types[11])
0295 /**
0296  * G_IS_PARAM_SPEC_FLAGS:
0297  * @pspec: a valid #GParamSpec instance
0298  * 
0299  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS.
0300  * 
0301  * Returns: %TRUE on success.
0302  */
0303 #define G_IS_PARAM_SPEC_FLAGS(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
0304 /**
0305  * G_PARAM_SPEC_FLAGS:
0306  * @pspec: a valid #GParamSpec instance
0307  * 
0308  * Cast a #GParamSpec instance into a #GParamSpecFlags.
0309  */
0310 #define G_PARAM_SPEC_FLAGS(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
0311 
0312 /**
0313  * G_TYPE_PARAM_FLOAT:
0314  * 
0315  * The #GType of #GParamSpecFloat.
0316  */
0317 #define G_TYPE_PARAM_FLOAT         (g_param_spec_types[12])
0318 /**
0319  * G_IS_PARAM_SPEC_FLOAT:
0320  * @pspec: a valid #GParamSpec instance
0321  * 
0322  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT.
0323  * 
0324  * Returns: %TRUE on success.
0325  */
0326 #define G_IS_PARAM_SPEC_FLOAT(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
0327 /**
0328  * G_PARAM_SPEC_FLOAT:
0329  * @pspec: a valid #GParamSpec instance
0330  * 
0331  * Cast a #GParamSpec instance into a #GParamSpecFloat.
0332  */
0333 #define G_PARAM_SPEC_FLOAT(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
0334 
0335 /**
0336  * G_TYPE_PARAM_DOUBLE:
0337  * 
0338  * The #GType of #GParamSpecDouble.
0339  */
0340 #define G_TYPE_PARAM_DOUBLE        (g_param_spec_types[13])
0341 /**
0342  * G_IS_PARAM_SPEC_DOUBLE:
0343  * @pspec: a valid #GParamSpec instance
0344  * 
0345  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE.
0346  * 
0347  * Returns: %TRUE on success.
0348  */
0349 #define G_IS_PARAM_SPEC_DOUBLE(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
0350 /**
0351  * G_PARAM_SPEC_DOUBLE:
0352  * @pspec: a valid #GParamSpec instance
0353  * 
0354  * Cast a #GParamSpec instance into a #GParamSpecDouble.
0355  */
0356 #define G_PARAM_SPEC_DOUBLE(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
0357 
0358 /**
0359  * G_TYPE_PARAM_STRING:
0360  * 
0361  * The #GType of #GParamSpecString.
0362  */
0363 #define G_TYPE_PARAM_STRING        (g_param_spec_types[14])
0364 /**
0365  * G_IS_PARAM_SPEC_STRING:
0366  * @pspec: a valid #GParamSpec instance
0367  * 
0368  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING.
0369  * 
0370  * Returns: %TRUE on success.
0371  */
0372 #define G_IS_PARAM_SPEC_STRING(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
0373 /**
0374  * G_PARAM_SPEC_STRING:
0375  * @pspec: a valid #GParamSpec instance
0376  * 
0377  * Casts a #GParamSpec instance into a #GParamSpecString.
0378  */
0379 #define G_PARAM_SPEC_STRING(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
0380 
0381 /**
0382  * G_TYPE_PARAM_PARAM:
0383  * 
0384  * The #GType of #GParamSpecParam.
0385  */
0386 #define G_TYPE_PARAM_PARAM         (g_param_spec_types[15])
0387 /**
0388  * G_IS_PARAM_SPEC_PARAM:
0389  * @pspec: a valid #GParamSpec instance
0390  * 
0391  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM.
0392  * 
0393  * Returns: %TRUE on success.
0394  */
0395 #define G_IS_PARAM_SPEC_PARAM(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))
0396 /**
0397  * G_PARAM_SPEC_PARAM:
0398  * @pspec: a valid #GParamSpec instance
0399  * 
0400  * Casts a #GParamSpec instance into a #GParamSpecParam.
0401  */
0402 #define G_PARAM_SPEC_PARAM(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam))
0403 
0404 /**
0405  * G_TYPE_PARAM_BOXED:
0406  * 
0407  * The #GType of #GParamSpecBoxed.
0408  */
0409 #define G_TYPE_PARAM_BOXED         (g_param_spec_types[16])
0410 /**
0411  * G_IS_PARAM_SPEC_BOXED:
0412  * @pspec: a valid #GParamSpec instance
0413  * 
0414  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED.
0415  * 
0416  * Returns: %TRUE on success.
0417  */
0418 #define G_IS_PARAM_SPEC_BOXED(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))
0419 /**
0420  * G_PARAM_SPEC_BOXED:
0421  * @pspec: a valid #GParamSpec instance
0422  * 
0423  * Cast a #GParamSpec instance into a #GParamSpecBoxed.
0424  */
0425 #define G_PARAM_SPEC_BOXED(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed))
0426 
0427 /**
0428  * G_TYPE_PARAM_POINTER:
0429  * 
0430  * The #GType of #GParamSpecPointer.
0431  */
0432 #define G_TYPE_PARAM_POINTER           (g_param_spec_types[17])
0433 /**
0434  * G_IS_PARAM_SPEC_POINTER:
0435  * @pspec: a valid #GParamSpec instance
0436  * 
0437  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER.
0438  * 
0439  * Returns: %TRUE on success.
0440  */
0441 #define G_IS_PARAM_SPEC_POINTER(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))
0442 /**
0443  * G_PARAM_SPEC_POINTER:
0444  * @pspec: a valid #GParamSpec instance
0445  * 
0446  * Casts a #GParamSpec instance into a #GParamSpecPointer.
0447  */
0448 #define G_PARAM_SPEC_POINTER(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer))
0449 
0450 /**
0451  * G_TYPE_PARAM_VALUE_ARRAY:
0452  * 
0453  * The #GType of #GParamSpecValueArray.
0454  *
0455  * Deprecated: 2.32: Use #GArray instead of #GValueArray
0456  */
0457 #define G_TYPE_PARAM_VALUE_ARRAY       (g_param_spec_types[18]) GOBJECT_DEPRECATED_MACRO_IN_2_32
0458 /**
0459  * G_IS_PARAM_SPEC_VALUE_ARRAY:
0460  * @pspec: a valid #GParamSpec instance
0461  * 
0462  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY.
0463  * 
0464  * Returns: %TRUE on success.
0465  *
0466  * Deprecated: 2.32: Use #GArray instead of #GValueArray
0467  */
0468 #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY)) GOBJECT_DEPRECATED_MACRO_IN_2_32
0469 /**
0470  * G_PARAM_SPEC_VALUE_ARRAY:
0471  * @pspec: a valid #GParamSpec instance
0472  * 
0473  * Cast a #GParamSpec instance into a #GParamSpecValueArray.
0474  *
0475  * Deprecated: 2.32: Use #GArray instead of #GValueArray
0476  */
0477 #define G_PARAM_SPEC_VALUE_ARRAY(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray)) GOBJECT_DEPRECATED_MACRO_IN_2_32
0478 
0479 /**
0480  * G_TYPE_PARAM_OBJECT:
0481  * 
0482  * The #GType of #GParamSpecObject.
0483  */
0484 #define G_TYPE_PARAM_OBJECT        (g_param_spec_types[19])
0485 /**
0486  * G_IS_PARAM_SPEC_OBJECT:
0487  * @pspec: a valid #GParamSpec instance
0488  * 
0489  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
0490  * 
0491  * Returns: %TRUE on success.
0492  */
0493 #define G_IS_PARAM_SPEC_OBJECT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
0494 /**
0495  * G_PARAM_SPEC_OBJECT:
0496  * @pspec: a valid #GParamSpec instance
0497  * 
0498  * Casts a #GParamSpec instance into a #GParamSpecObject.
0499  */
0500 #define G_PARAM_SPEC_OBJECT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
0501 
0502 /**
0503  * G_TYPE_PARAM_OVERRIDE:
0504  * 
0505  * The #GType of #GParamSpecOverride.
0506  * 
0507  * Since: 2.4
0508  */
0509 #define G_TYPE_PARAM_OVERRIDE          (g_param_spec_types[20])
0510 /**
0511  * G_IS_PARAM_SPEC_OVERRIDE:
0512  * @pspec: a #GParamSpec
0513  * 
0514  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OVERRIDE.
0515  * 
0516  * Since: 2.4
0517  * Returns: %TRUE on success.
0518  */
0519 #define G_IS_PARAM_SPEC_OVERRIDE(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))
0520 /**
0521  * G_PARAM_SPEC_OVERRIDE:
0522  * @pspec: a #GParamSpec
0523  * 
0524  * Casts a #GParamSpec into a #GParamSpecOverride.
0525  * 
0526  * Since: 2.4
0527  */
0528 #define G_PARAM_SPEC_OVERRIDE(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride))
0529 
0530 /**
0531  * G_TYPE_PARAM_GTYPE:
0532  * 
0533  * The #GType of #GParamSpecGType.
0534  * 
0535  * Since: 2.10
0536  */
0537 #define G_TYPE_PARAM_GTYPE         (g_param_spec_types[21])
0538 /**
0539  * G_IS_PARAM_SPEC_GTYPE:
0540  * @pspec: a #GParamSpec
0541  * 
0542  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_GTYPE.
0543  * 
0544  * Since: 2.10
0545  * Returns: %TRUE on success. 
0546  */
0547 #define G_IS_PARAM_SPEC_GTYPE(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE))
0548 /**
0549  * G_PARAM_SPEC_GTYPE:
0550  * @pspec: a #GParamSpec
0551  * 
0552  * Casts a #GParamSpec into a #GParamSpecGType.
0553  * 
0554  * Since: 2.10
0555  */
0556 #define G_PARAM_SPEC_GTYPE(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType))
0557 
0558 /**
0559  * G_TYPE_PARAM_VARIANT:
0560  *
0561  * The #GType of #GParamSpecVariant.
0562  *
0563  * Since: 2.26
0564  */
0565 #define G_TYPE_PARAM_VARIANT                (g_param_spec_types[22])
0566 /**
0567  * G_IS_PARAM_SPEC_VARIANT:
0568  * @pspec: a #GParamSpec
0569  *
0570  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VARIANT.
0571  *
0572  * Returns: %TRUE on success
0573  *
0574  * Since: 2.26
0575  */
0576 #define G_IS_PARAM_SPEC_VARIANT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VARIANT))
0577 /**
0578  * G_PARAM_SPEC_VARIANT:
0579  * @pspec: a #GParamSpec
0580  *
0581  * Casts a #GParamSpec into a #GParamSpecVariant.
0582  *
0583  * Since: 2.26
0584  */
0585 #define G_PARAM_SPEC_VARIANT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VARIANT, GParamSpecVariant))
0586 
0587 /* --- typedefs & structures --- */
0588 typedef struct _GParamSpecChar       GParamSpecChar;
0589 typedef struct _GParamSpecUChar      GParamSpecUChar;
0590 typedef struct _GParamSpecBoolean    GParamSpecBoolean;
0591 typedef struct _GParamSpecInt        GParamSpecInt;
0592 typedef struct _GParamSpecUInt       GParamSpecUInt;
0593 typedef struct _GParamSpecLong       GParamSpecLong;
0594 typedef struct _GParamSpecULong      GParamSpecULong;
0595 typedef struct _GParamSpecInt64      GParamSpecInt64;
0596 typedef struct _GParamSpecUInt64     GParamSpecUInt64;
0597 typedef struct _GParamSpecUnichar    GParamSpecUnichar;
0598 typedef struct _GParamSpecEnum       GParamSpecEnum;
0599 typedef struct _GParamSpecFlags      GParamSpecFlags;
0600 typedef struct _GParamSpecFloat      GParamSpecFloat;
0601 typedef struct _GParamSpecDouble     GParamSpecDouble;
0602 typedef struct _GParamSpecString     GParamSpecString;
0603 typedef struct _GParamSpecParam      GParamSpecParam;
0604 typedef struct _GParamSpecBoxed      GParamSpecBoxed;
0605 typedef struct _GParamSpecPointer    GParamSpecPointer;
0606 typedef struct _GParamSpecValueArray GParamSpecValueArray;
0607 typedef struct _GParamSpecObject     GParamSpecObject;
0608 typedef struct _GParamSpecOverride   GParamSpecOverride;
0609 typedef struct _GParamSpecGType      GParamSpecGType;
0610 typedef struct _GParamSpecVariant    GParamSpecVariant;
0611 
0612 /**
0613  * GParamSpecChar:
0614  * @parent_instance: private #GParamSpec portion
0615  * @minimum: minimum value for the property specified
0616  * @maximum: maximum value for the property specified
0617  * @default_value: default value for the property specified
0618  * 
0619  * A #GParamSpec derived structure that contains the meta data for character properties.
0620  */
0621 struct _GParamSpecChar
0622 {
0623   GParamSpec    parent_instance;
0624   
0625   gint8         minimum;
0626   gint8         maximum;
0627   gint8         default_value;
0628 };
0629 /**
0630  * GParamSpecUChar:
0631  * @parent_instance: private #GParamSpec portion
0632  * @minimum: minimum value for the property specified
0633  * @maximum: maximum value for the property specified
0634  * @default_value: default value for the property specified
0635  * 
0636  * A #GParamSpec derived structure that contains the meta data for unsigned character properties.
0637  */
0638 struct _GParamSpecUChar
0639 {
0640   GParamSpec    parent_instance;
0641   
0642   guint8        minimum;
0643   guint8        maximum;
0644   guint8        default_value;
0645 };
0646 /**
0647  * GParamSpecBoolean:
0648  * @parent_instance: private #GParamSpec portion
0649  * @default_value: default value for the property specified
0650  * 
0651  * A #GParamSpec derived structure that contains the meta data for boolean properties.
0652  */
0653 struct _GParamSpecBoolean
0654 {
0655   GParamSpec    parent_instance;
0656   
0657   gboolean      default_value;
0658 };
0659 /**
0660  * GParamSpecInt:
0661  * @parent_instance: private #GParamSpec portion
0662  * @minimum: minimum value for the property specified
0663  * @maximum: maximum value for the property specified
0664  * @default_value: default value for the property specified
0665  * 
0666  * A #GParamSpec derived structure that contains the meta data for integer properties.
0667  */
0668 struct _GParamSpecInt
0669 {
0670   GParamSpec    parent_instance;
0671   
0672   gint          minimum;
0673   gint          maximum;
0674   gint          default_value;
0675 };
0676 /**
0677  * GParamSpecUInt:
0678  * @parent_instance: private #GParamSpec portion
0679  * @minimum: minimum value for the property specified
0680  * @maximum: maximum value for the property specified
0681  * @default_value: default value for the property specified
0682  * 
0683  * A #GParamSpec derived structure that contains the meta data for unsigned integer properties.
0684  */
0685 struct _GParamSpecUInt
0686 {
0687   GParamSpec    parent_instance;
0688   
0689   guint         minimum;
0690   guint         maximum;
0691   guint         default_value;
0692 };
0693 /**
0694  * GParamSpecLong:
0695  * @parent_instance: private #GParamSpec portion
0696  * @minimum: minimum value for the property specified
0697  * @maximum: maximum value for the property specified
0698  * @default_value: default value for the property specified
0699  * 
0700  * A #GParamSpec derived structure that contains the meta data for long integer properties.
0701  */
0702 struct _GParamSpecLong
0703 {
0704   GParamSpec    parent_instance;
0705   
0706   glong         minimum;
0707   glong         maximum;
0708   glong         default_value;
0709 };
0710 /**
0711  * GParamSpecULong:
0712  * @parent_instance: private #GParamSpec portion
0713  * @minimum: minimum value for the property specified
0714  * @maximum: maximum value for the property specified
0715  * @default_value: default value for the property specified
0716  * 
0717  * A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.
0718  */
0719 struct _GParamSpecULong
0720 {
0721   GParamSpec    parent_instance;
0722   
0723   gulong        minimum;
0724   gulong        maximum;
0725   gulong        default_value;
0726 };
0727 /**
0728  * GParamSpecInt64:
0729  * @parent_instance: private #GParamSpec portion
0730  * @minimum: minimum value for the property specified
0731  * @maximum: maximum value for the property specified
0732  * @default_value: default value for the property specified
0733  * 
0734  * A #GParamSpec derived structure that contains the meta data for 64bit integer properties.
0735  */
0736 struct _GParamSpecInt64
0737 {
0738   GParamSpec    parent_instance;
0739   
0740   gint64        minimum;
0741   gint64        maximum;
0742   gint64        default_value;
0743 };
0744 /**
0745  * GParamSpecUInt64:
0746  * @parent_instance: private #GParamSpec portion
0747  * @minimum: minimum value for the property specified
0748  * @maximum: maximum value for the property specified
0749  * @default_value: default value for the property specified
0750  * 
0751  * A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.
0752  */
0753 struct _GParamSpecUInt64
0754 {
0755   GParamSpec    parent_instance;
0756   
0757   guint64       minimum;
0758   guint64       maximum;
0759   guint64       default_value;
0760 };
0761 /**
0762  * GParamSpecUnichar:
0763  * @parent_instance: private #GParamSpec portion
0764  * @default_value: default value for the property specified
0765  * 
0766  * A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.
0767  */
0768 struct _GParamSpecUnichar
0769 {
0770   GParamSpec    parent_instance;
0771   
0772   gunichar      default_value;
0773 };
0774 /**
0775  * GParamSpecEnum:
0776  * @parent_instance: private #GParamSpec portion
0777  * @enum_class: the #GEnumClass for the enum
0778  * @default_value: default value for the property specified
0779  * 
0780  * A #GParamSpec derived structure that contains the meta data for enum 
0781  * properties.
0782  */
0783 struct _GParamSpecEnum
0784 {
0785   GParamSpec    parent_instance;
0786   
0787   GEnumClass   *enum_class;
0788   gint          default_value;
0789 };
0790 /**
0791  * GParamSpecFlags:
0792  * @parent_instance: private #GParamSpec portion
0793  * @flags_class: the #GFlagsClass for the flags
0794  * @default_value: default value for the property specified
0795  * 
0796  * A #GParamSpec derived structure that contains the meta data for flags
0797  * properties.
0798  */
0799 struct _GParamSpecFlags
0800 {
0801   GParamSpec    parent_instance;
0802   
0803   GFlagsClass  *flags_class;
0804   guint         default_value;
0805 };
0806 /**
0807  * GParamSpecFloat:
0808  * @parent_instance: private #GParamSpec portion
0809  * @minimum: minimum value for the property specified
0810  * @maximum: maximum value for the property specified
0811  * @default_value: default value for the property specified
0812  * @epsilon: values closer than @epsilon will be considered identical
0813  *  by g_param_values_cmp(); the default value is 1e-30.
0814  * 
0815  * A #GParamSpec derived structure that contains the meta data for float properties.
0816  */
0817 struct _GParamSpecFloat
0818 {
0819   GParamSpec    parent_instance;
0820   
0821   gfloat        minimum;
0822   gfloat        maximum;
0823   gfloat        default_value;
0824   gfloat        epsilon;
0825 };
0826 /**
0827  * GParamSpecDouble:
0828  * @parent_instance: private #GParamSpec portion
0829  * @minimum: minimum value for the property specified
0830  * @maximum: maximum value for the property specified
0831  * @default_value: default value for the property specified
0832  * @epsilon: values closer than @epsilon will be considered identical
0833  *  by g_param_values_cmp(); the default value is 1e-90.
0834  * 
0835  * A #GParamSpec derived structure that contains the meta data for double properties.
0836  */
0837 struct _GParamSpecDouble
0838 {
0839   GParamSpec    parent_instance;
0840   
0841   gdouble       minimum;
0842   gdouble       maximum;
0843   gdouble       default_value;
0844   gdouble       epsilon;
0845 };
0846 /**
0847  * GParamSpecString:
0848  * @parent_instance: private #GParamSpec portion
0849  * @default_value: default value for the property specified
0850  * @cset_first: a string containing the allowed values for the first byte
0851  * @cset_nth: a string containing the allowed values for the subsequent bytes
0852  * @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.
0853  * @null_fold_if_empty: replace empty string by %NULL
0854  * @ensure_non_null: replace %NULL strings by an empty string
0855  * 
0856  * A #GParamSpec derived structure that contains the meta data for string
0857  * properties.
0858  */
0859 struct _GParamSpecString
0860 {
0861   GParamSpec    parent_instance;
0862   
0863   gchar        *default_value;
0864   gchar        *cset_first;
0865   gchar        *cset_nth;
0866   gchar         substitutor;
0867   guint         null_fold_if_empty : 1;
0868   guint         ensure_non_null : 1;
0869 };
0870 /**
0871  * GParamSpecParam:
0872  * @parent_instance: private #GParamSpec portion
0873  * 
0874  * A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
0875  * properties.
0876  */
0877 struct _GParamSpecParam
0878 {
0879   GParamSpec    parent_instance;
0880 };
0881 /**
0882  * GParamSpecBoxed:
0883  * @parent_instance: private #GParamSpec portion
0884  * 
0885  * A #GParamSpec derived structure that contains the meta data for boxed properties.
0886  */
0887 struct _GParamSpecBoxed
0888 {
0889   GParamSpec    parent_instance;
0890 };
0891 /**
0892  * GParamSpecPointer:
0893  * @parent_instance: private #GParamSpec portion
0894  * 
0895  * A #GParamSpec derived structure that contains the meta data for pointer properties.
0896  */
0897 struct _GParamSpecPointer
0898 {
0899   GParamSpec    parent_instance;
0900 };
0901 /**
0902  * GParamSpecValueArray:
0903  * @parent_instance: private #GParamSpec portion
0904  * @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL
0905  * @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements
0906  * 
0907  * A #GParamSpec derived structure that contains the meta data for #GValueArray properties.
0908  */
0909 struct _GParamSpecValueArray
0910 {
0911   GParamSpec    parent_instance;
0912   GParamSpec   *element_spec;
0913   guint     fixed_n_elements;
0914 };
0915 /**
0916  * GParamSpecObject:
0917  * @parent_instance: private #GParamSpec portion
0918  * 
0919  * A #GParamSpec derived structure that contains the meta data for object properties.
0920  */
0921 struct _GParamSpecObject
0922 {
0923   GParamSpec    parent_instance;
0924 };
0925 /**
0926  * GParamSpecOverride:
0927  *
0928  * A #GParamSpec derived structure that redirects operations to
0929  * other types of #GParamSpec.
0930  * 
0931  * All operations other than getting or setting the value are redirected,
0932  * including accessing the nick and blurb, validating a value, and so
0933  * forth.
0934  *
0935  * See g_param_spec_get_redirect_target() for retrieving the overridden
0936  * property. #GParamSpecOverride is used in implementing
0937  * g_object_class_override_property(), and will not be directly useful
0938  * unless you are implementing a new base type similar to GObject.
0939  * 
0940  * Since: 2.4
0941  */
0942 struct _GParamSpecOverride
0943 {
0944   /*< private >*/
0945   GParamSpec    parent_instance;
0946   GParamSpec   *overridden;
0947 };
0948 /**
0949  * GParamSpecGType:
0950  * @parent_instance: private #GParamSpec portion
0951  * @is_a_type: a #GType whose subtypes can occur as values
0952  * 
0953  * A #GParamSpec derived structure that contains the meta data for #GType properties.
0954  * 
0955  * Since: 2.10
0956  */
0957 struct _GParamSpecGType
0958 {
0959   GParamSpec    parent_instance;
0960   GType         is_a_type;
0961 };
0962 /**
0963  * GParamSpecVariant:
0964  * @parent_instance: private #GParamSpec portion
0965  * @type: a #GVariantType, or %NULL
0966  * @default_value: a #GVariant, or %NULL
0967  *
0968  * A #GParamSpec derived structure that contains the meta data for #GVariant properties.
0969  *
0970  * When comparing values with g_param_values_cmp(), scalar values with the same
0971  * type will be compared with g_variant_compare(). Other non-%NULL variants will
0972  * be checked for equality with g_variant_equal(), and their sort order is
0973  * otherwise undefined. %NULL is ordered before non-%NULL variants. Two %NULL
0974  * values compare equal.
0975  *
0976  * Since: 2.26
0977  */
0978 struct _GParamSpecVariant
0979 {
0980   GParamSpec    parent_instance;
0981   GVariantType *type;
0982   GVariant     *default_value;
0983 
0984   /*< private >*/
0985   gpointer      padding[4];
0986 };
0987 
0988 /* --- GParamSpec prototypes --- */
0989 GOBJECT_AVAILABLE_IN_ALL
0990 GParamSpec* g_param_spec_char    (const gchar    *name,
0991                       const gchar    *nick,
0992                       const gchar    *blurb,
0993                       gint8       minimum,
0994                       gint8       maximum,
0995                       gint8       default_value,
0996                       GParamFlags     flags);
0997 GOBJECT_AVAILABLE_IN_ALL
0998 GParamSpec* g_param_spec_uchar   (const gchar    *name,
0999                       const gchar    *nick,
1000                       const gchar    *blurb,
1001                       guint8      minimum,
1002                       guint8      maximum,
1003                       guint8      default_value,
1004                       GParamFlags     flags);
1005 GOBJECT_AVAILABLE_IN_ALL
1006 GParamSpec* g_param_spec_boolean     (const gchar    *name,
1007                       const gchar    *nick,
1008                       const gchar    *blurb,
1009                       gboolean    default_value,
1010                       GParamFlags     flags);
1011 GOBJECT_AVAILABLE_IN_ALL
1012 GParamSpec* g_param_spec_int     (const gchar    *name,
1013                       const gchar    *nick,
1014                       const gchar    *blurb,
1015                       gint        minimum,
1016                       gint        maximum,
1017                       gint        default_value,
1018                       GParamFlags     flags);
1019 GOBJECT_AVAILABLE_IN_ALL
1020 GParamSpec* g_param_spec_uint    (const gchar    *name,
1021                       const gchar    *nick,
1022                       const gchar    *blurb,
1023                       guint       minimum,
1024                       guint       maximum,
1025                       guint       default_value,
1026                       GParamFlags     flags);
1027 GOBJECT_AVAILABLE_IN_ALL
1028 GParamSpec* g_param_spec_long    (const gchar    *name,
1029                       const gchar    *nick,
1030                       const gchar    *blurb,
1031                       glong       minimum,
1032                       glong       maximum,
1033                       glong       default_value,
1034                       GParamFlags     flags);
1035 GOBJECT_AVAILABLE_IN_ALL
1036 GParamSpec* g_param_spec_ulong   (const gchar    *name,
1037                       const gchar    *nick,
1038                       const gchar    *blurb,
1039                       gulong      minimum,
1040                       gulong      maximum,
1041                       gulong      default_value,
1042                       GParamFlags     flags);
1043 GOBJECT_AVAILABLE_IN_ALL
1044 GParamSpec* g_param_spec_int64   (const gchar    *name,
1045                       const gchar    *nick,
1046                       const gchar    *blurb,
1047                       gint64          minimum,
1048                       gint64          maximum,
1049                       gint64          default_value,
1050                       GParamFlags     flags);
1051 GOBJECT_AVAILABLE_IN_ALL
1052 GParamSpec* g_param_spec_uint64  (const gchar    *name,
1053                       const gchar    *nick,
1054                       const gchar    *blurb,
1055                       guint64     minimum,
1056                       guint64     maximum,
1057                       guint64     default_value,
1058                       GParamFlags     flags);
1059 GOBJECT_AVAILABLE_IN_ALL
1060 GParamSpec* g_param_spec_unichar      (const gchar    *name,
1061                           const gchar    *nick,
1062                           const gchar    *blurb,
1063                           gunichar    default_value,
1064                           GParamFlags     flags);
1065 GOBJECT_AVAILABLE_IN_ALL
1066 GParamSpec* g_param_spec_enum    (const gchar    *name,
1067                       const gchar    *nick,
1068                       const gchar    *blurb,
1069                       GType       enum_type,
1070                       gint        default_value,
1071                       GParamFlags     flags);
1072 GOBJECT_AVAILABLE_IN_ALL
1073 GParamSpec* g_param_spec_flags   (const gchar    *name,
1074                       const gchar    *nick,
1075                       const gchar    *blurb,
1076                       GType       flags_type,
1077                       guint       default_value,
1078                       GParamFlags     flags);
1079 GOBJECT_AVAILABLE_IN_ALL
1080 GParamSpec* g_param_spec_float   (const gchar    *name,
1081                       const gchar    *nick,
1082                       const gchar    *blurb,
1083                       gfloat      minimum,
1084                       gfloat      maximum,
1085                       gfloat      default_value,
1086                       GParamFlags     flags);
1087 GOBJECT_AVAILABLE_IN_ALL
1088 GParamSpec* g_param_spec_double  (const gchar    *name,
1089                       const gchar    *nick,
1090                       const gchar    *blurb,
1091                       gdouble     minimum,
1092                       gdouble     maximum,
1093                       gdouble     default_value,
1094                       GParamFlags     flags);
1095 GOBJECT_AVAILABLE_IN_ALL
1096 GParamSpec* g_param_spec_string  (const gchar    *name,
1097                       const gchar    *nick,
1098                       const gchar    *blurb,
1099                       const gchar    *default_value,
1100                       GParamFlags     flags);
1101 GOBJECT_AVAILABLE_IN_ALL
1102 GParamSpec* g_param_spec_param   (const gchar    *name,
1103                       const gchar    *nick,
1104                       const gchar    *blurb,
1105                       GType       param_type,
1106                       GParamFlags     flags);
1107 GOBJECT_AVAILABLE_IN_ALL
1108 GParamSpec* g_param_spec_boxed   (const gchar    *name,
1109                       const gchar    *nick,
1110                       const gchar    *blurb,
1111                       GType       boxed_type,
1112                       GParamFlags     flags);
1113 GOBJECT_AVAILABLE_IN_ALL
1114 GParamSpec* g_param_spec_pointer     (const gchar    *name,
1115                       const gchar    *nick,
1116                       const gchar    *blurb,
1117                       GParamFlags     flags);
1118 GOBJECT_AVAILABLE_IN_ALL
1119 GParamSpec* g_param_spec_value_array (const gchar    *name,
1120                       const gchar    *nick,
1121                       const gchar    *blurb,
1122                       GParamSpec     *element_spec,
1123                       GParamFlags     flags);
1124 GOBJECT_AVAILABLE_IN_ALL
1125 GParamSpec* g_param_spec_object  (const gchar    *name,
1126                       const gchar    *nick,
1127                       const gchar    *blurb,
1128                       GType       object_type,
1129                       GParamFlags     flags);
1130 GOBJECT_AVAILABLE_IN_ALL
1131 GParamSpec* g_param_spec_override    (const gchar    *name,
1132                       GParamSpec     *overridden);
1133 GOBJECT_AVAILABLE_IN_ALL
1134 GParamSpec* g_param_spec_gtype   (const gchar    *name,
1135                       const gchar    *nick,
1136                       const gchar    *blurb,
1137                       GType           is_a_type,
1138                       GParamFlags     flags);
1139 GOBJECT_AVAILABLE_IN_ALL
1140 GParamSpec* g_param_spec_variant     (const gchar        *name,
1141                       const gchar        *nick,
1142                       const gchar        *blurb,
1143                       const GVariantType *type,
1144                       GVariant           *default_value,
1145                       GParamFlags         flags);
1146 
1147 GOBJECT_VAR GType *g_param_spec_types;
1148 
1149 G_END_DECLS
1150 
1151 #endif /* __G_PARAMSPECS_H__ */