glib/gobject/gparamspecs.h
changeset 18 47c74d1534e1
equal deleted inserted replaced
0:e4d67989cc36 18:47c74d1534e1
       
     1 /* GObject - GLib Type, Object, Parameter and Signal Library
       
     2  * Copyright (C) 1997-1999, 2000-2001 Tim Janik and Red Hat, Inc.
       
     3  * Portions copyright (c) 2006-2009 Nokia Corporation.  All rights reserved.
       
     4  *
       
     5  * This library is free software; you can redistribute it and/or
       
     6  * modify it under the terms of the GNU Lesser General Public
       
     7  * License as published by the Free Software Foundation; either
       
     8  * version 2 of the License, or (at your option) any later version.
       
     9  *
       
    10  * This library is distributed in the hope that it will be useful,
       
    11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
       
    13  * Lesser General Public License for more details.
       
    14  *
       
    15  * You should have received a copy of the GNU Lesser General
       
    16  * Public License along with this library; if not, write to the
       
    17  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
       
    18  * Boston, MA 02111-1307, USA.
       
    19  *
       
    20  * gparamspecs.h: GLib default param specs
       
    21  */
       
    22 #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
       
    23 #error "Only <glib-object.h> can be included directly."
       
    24 #endif
       
    25 
       
    26 #ifndef __G_PARAMSPECS_H__
       
    27 #define __G_PARAMSPECS_H__
       
    28 
       
    29 #include        <gobject/gvalue.h>
       
    30 #include        <gobject/genums.h>
       
    31 #include        <gobject/gboxed.h>
       
    32 #include        <gobject/gobject.h>
       
    33 
       
    34 G_BEGIN_DECLS
       
    35 
       
    36 /* --- type macros --- */
       
    37 /**
       
    38  * G_TYPE_PARAM_CHAR:
       
    39  * 
       
    40  * The #GType of #GParamSpecChar.
       
    41  */
       
    42 #define	G_TYPE_PARAM_CHAR		   (g_param_spec_types[0])
       
    43 /**
       
    44  * G_IS_PARAM_SPEC_CHAR:
       
    45  * @pspec: a valid #GParamSpec instance
       
    46  * 
       
    47  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_CHAR.
       
    48  * 
       
    49  * Returns: %TRUE on success.
       
    50  */
       
    51 #define G_IS_PARAM_SPEC_CHAR(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
       
    52 /**
       
    53  * G_PARAM_SPEC_CHAR:
       
    54  * @pspec: a valid #GParamSpec instance
       
    55  * 
       
    56  * Cast a #GParamSpec instance into a #GParamSpecChar.
       
    57  */
       
    58 #define G_PARAM_SPEC_CHAR(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
       
    59 
       
    60 /**
       
    61  * G_TYPE_PARAM_UCHAR:
       
    62  * 
       
    63  * The #GType of #GParamSpecUChar.
       
    64  */
       
    65 #define	G_TYPE_PARAM_UCHAR		   (g_param_spec_types[1])
       
    66 /**
       
    67  * G_IS_PARAM_SPEC_UCHAR:
       
    68  * @pspec: a valid #GParamSpec instance
       
    69  * 
       
    70  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UCHAR.
       
    71  * 
       
    72  * Returns: %TRUE on success.
       
    73  */
       
    74 #define G_IS_PARAM_SPEC_UCHAR(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
       
    75 /**
       
    76  * G_PARAM_SPEC_UCHAR:
       
    77  * @pspec: a valid #GParamSpec instance
       
    78  * 
       
    79  * Cast a #GParamSpec instance into a #GParamSpecUChar.
       
    80  */
       
    81 #define G_PARAM_SPEC_UCHAR(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
       
    82 
       
    83 /**
       
    84  * G_TYPE_PARAM_BOOLEAN:
       
    85  * 
       
    86  * The #GType of #GParamSpecBoolean.
       
    87  */
       
    88 #define	G_TYPE_PARAM_BOOLEAN		   (g_param_spec_types[2])
       
    89 /**
       
    90  * G_IS_PARAM_SPEC_BOOLEAN:
       
    91  * @pspec: a valid #GParamSpec instance
       
    92  * 
       
    93  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOOLEAN.
       
    94  * 
       
    95  * Returns: %TRUE on success.
       
    96  */
       
    97 #define G_IS_PARAM_SPEC_BOOLEAN(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
       
    98 /**
       
    99  * G_PARAM_SPEC_BOOLEAN:
       
   100  * @pspec: a valid #GParamSpec instance
       
   101  * 
       
   102  * Cast a #GParamSpec instance into a #GParamSpecBoolean.
       
   103  */
       
   104 #define G_PARAM_SPEC_BOOLEAN(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
       
   105 
       
   106 /**
       
   107  * G_TYPE_PARAM_INT:
       
   108  * 
       
   109  * The #GType of #GParamSpecInt.
       
   110  */
       
   111 #define	G_TYPE_PARAM_INT		   (g_param_spec_types[3])
       
   112 /**
       
   113  * G_IS_PARAM_SPEC_INT:
       
   114  * @pspec: a valid #GParamSpec instance
       
   115  * 
       
   116  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT.
       
   117  * 
       
   118  * Returns: %TRUE on success.
       
   119  */
       
   120 #define G_IS_PARAM_SPEC_INT(pspec)         (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
       
   121 /**
       
   122  * G_PARAM_SPEC_INT:
       
   123  * @pspec: a valid #GParamSpec instance
       
   124  * 
       
   125  * Cast a #GParamSpec instance into a #GParamSpecInt.
       
   126  */
       
   127 #define G_PARAM_SPEC_INT(pspec)            (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
       
   128 
       
   129 /**
       
   130  * G_TYPE_PARAM_UINT:
       
   131  * 
       
   132  * The #GType of #GParamSpecUInt.
       
   133  */
       
   134 #define	G_TYPE_PARAM_UINT		   (g_param_spec_types[4])
       
   135 /**
       
   136  * G_IS_PARAM_SPEC_UINT:
       
   137  * @pspec: a valid #GParamSpec instance
       
   138  * 
       
   139  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT.
       
   140  * 
       
   141  * Returns: %TRUE on success.
       
   142  */
       
   143 #define G_IS_PARAM_SPEC_UINT(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
       
   144 /**
       
   145  * G_PARAM_SPEC_UINT:
       
   146  * @pspec: a valid #GParamSpec instance
       
   147  * 
       
   148  * Cast a #GParamSpec instance into a #GParamSpecUInt.
       
   149  */
       
   150 #define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
       
   151 
       
   152 /**
       
   153  * G_TYPE_PARAM_LONG:
       
   154  * 
       
   155  * The #GType of #GParamSpecLong.
       
   156  */
       
   157 #define	G_TYPE_PARAM_LONG		   (g_param_spec_types[5])
       
   158 /**
       
   159  * G_IS_PARAM_SPEC_LONG:
       
   160  * @pspec: a valid #GParamSpec instance
       
   161  * 
       
   162  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_LONG.
       
   163  * 
       
   164  * Returns: %TRUE on success.
       
   165  */
       
   166 #define G_IS_PARAM_SPEC_LONG(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
       
   167 /**
       
   168  * G_PARAM_SPEC_LONG:
       
   169  * @pspec: a valid #GParamSpec instance
       
   170  * 
       
   171  * Cast a #GParamSpec instance into a #GParamSpecLong.
       
   172  */
       
   173 #define G_PARAM_SPEC_LONG(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
       
   174 
       
   175 /**
       
   176  * G_TYPE_PARAM_ULONG:
       
   177  * 
       
   178  * The #GType of #GParamSpecULong.
       
   179  */
       
   180 #define	G_TYPE_PARAM_ULONG		   (g_param_spec_types[6])
       
   181 /**
       
   182  * G_IS_PARAM_SPEC_ULONG:
       
   183  * @pspec: a valid #GParamSpec instance
       
   184  * 
       
   185  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ULONG.
       
   186  * 
       
   187  * Returns: %TRUE on success.
       
   188  */
       
   189 #define G_IS_PARAM_SPEC_ULONG(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
       
   190 /**
       
   191  * G_PARAM_SPEC_ULONG:
       
   192  * @pspec: a valid #GParamSpec instance
       
   193  * 
       
   194  * Cast a #GParamSpec instance into a #GParamSpecULong.
       
   195  */
       
   196 #define G_PARAM_SPEC_ULONG(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
       
   197 
       
   198 /**
       
   199  * G_TYPE_PARAM_INT64:
       
   200  * 
       
   201  * The #GType of #GParamSpecInt64.
       
   202  */
       
   203 #define	G_TYPE_PARAM_INT64		   (g_param_spec_types[7])
       
   204 /**
       
   205  * G_IS_PARAM_SPEC_INT64:
       
   206  * @pspec: a valid #GParamSpec instance
       
   207  * 
       
   208  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_INT64.
       
   209  *
       
   210  * Returns: %TRUE on success.
       
   211  */
       
   212 #define G_IS_PARAM_SPEC_INT64(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))
       
   213 /**
       
   214  * G_PARAM_SPEC_INT64:
       
   215  * @pspec: a valid #GParamSpec instance
       
   216  * 
       
   217  * Cast a #GParamSpec instance into a #GParamSpecInt64.
       
   218  */
       
   219 #define G_PARAM_SPEC_INT64(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64))
       
   220 
       
   221 /**
       
   222  * G_TYPE_PARAM_UINT64:
       
   223  * 
       
   224  * The #GType of #GParamSpecUInt64.
       
   225  */
       
   226 #define	G_TYPE_PARAM_UINT64		   (g_param_spec_types[8])
       
   227 /**
       
   228  * G_IS_PARAM_SPEC_UINT64:
       
   229  * @pspec: a valid #GParamSpec instance
       
   230  * 
       
   231  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UINT64.
       
   232  * 
       
   233  * Returns: %TRUE on success.
       
   234  */
       
   235 #define G_IS_PARAM_SPEC_UINT64(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))
       
   236 /**
       
   237  * G_PARAM_SPEC_UINT64:
       
   238  * @pspec: a valid #GParamSpec instance
       
   239  * 
       
   240  * Cast a #GParamSpec instance into a #GParamSpecUInt64.
       
   241  */
       
   242 #define G_PARAM_SPEC_UINT64(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64))
       
   243 
       
   244 /**
       
   245  * G_TYPE_PARAM_UNICHAR:
       
   246  * 
       
   247  * The #GType of #GParamSpecUnichar.
       
   248  */
       
   249 #define	G_TYPE_PARAM_UNICHAR		   (g_param_spec_types[9])
       
   250 /**
       
   251  * G_PARAM_SPEC_UNICHAR:
       
   252  * @pspec: a valid #GParamSpec instance
       
   253  * 
       
   254  * Cast a #GParamSpec instance into a #GParamSpecUnichar.
       
   255  */
       
   256 #define G_PARAM_SPEC_UNICHAR(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar))
       
   257 /**
       
   258  * G_IS_PARAM_SPEC_UNICHAR:
       
   259  * @pspec: a valid #GParamSpec instance
       
   260  * 
       
   261  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_UNICHAR.
       
   262  * 
       
   263  * Returns: %TRUE on success.
       
   264  */
       
   265 #define G_IS_PARAM_SPEC_UNICHAR(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))
       
   266 
       
   267 /**
       
   268  * G_TYPE_PARAM_ENUM:
       
   269  * 
       
   270  * The #GType of #GParamSpecEnum.
       
   271  */
       
   272 #define	G_TYPE_PARAM_ENUM		   (g_param_spec_types[10])
       
   273 /**
       
   274  * G_IS_PARAM_SPEC_ENUM:
       
   275  * @pspec: a valid #GParamSpec instance
       
   276  * 
       
   277  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_ENUM.
       
   278  * 
       
   279  * Returns: %TRUE on success.
       
   280  */
       
   281 #define G_IS_PARAM_SPEC_ENUM(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
       
   282 /**
       
   283  * G_PARAM_SPEC_ENUM:
       
   284  * @pspec: a valid #GParamSpec instance
       
   285  * 
       
   286  * Cast a #GParamSpec instance into a #GParamSpecEnum.
       
   287  */
       
   288 #define G_PARAM_SPEC_ENUM(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
       
   289 
       
   290 /**
       
   291  * G_TYPE_PARAM_FLAGS:
       
   292  * 
       
   293  * The #GType of #GParamSpecFlags.
       
   294  */
       
   295 #define	G_TYPE_PARAM_FLAGS		   (g_param_spec_types[11])
       
   296 /**
       
   297  * G_IS_PARAM_SPEC_FLAGS:
       
   298  * @pspec: a valid #GParamSpec instance
       
   299  * 
       
   300  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLAGS.
       
   301  * 
       
   302  * Returns: %TRUE on success.
       
   303  */
       
   304 #define G_IS_PARAM_SPEC_FLAGS(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
       
   305 /**
       
   306  * G_PARAM_SPEC_FLAGS:
       
   307  * @pspec: a valid #GParamSpec instance
       
   308  * 
       
   309  * Cast a #GParamSpec instance into a #GParamSpecFlags.
       
   310  */
       
   311 #define G_PARAM_SPEC_FLAGS(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
       
   312 
       
   313 /**
       
   314  * G_TYPE_PARAM_FLOAT:
       
   315  * 
       
   316  * The #GType of #GParamSpecFloat.
       
   317  */
       
   318 #define	G_TYPE_PARAM_FLOAT		   (g_param_spec_types[12])
       
   319 /**
       
   320  * G_IS_PARAM_SPEC_FLOAT:
       
   321  * @pspec: a valid #GParamSpec instance
       
   322  * 
       
   323  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_FLOAT.
       
   324  * 
       
   325  * Returns: %TRUE on success.
       
   326  */
       
   327 #define G_IS_PARAM_SPEC_FLOAT(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
       
   328 /**
       
   329  * G_PARAM_SPEC_FLOAT:
       
   330  * @pspec: a valid #GParamSpec instance
       
   331  * 
       
   332  * Cast a #GParamSpec instance into a #GParamSpecFloat.
       
   333  */
       
   334 #define G_PARAM_SPEC_FLOAT(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
       
   335 
       
   336 /**
       
   337  * G_TYPE_PARAM_DOUBLE:
       
   338  * 
       
   339  * The #GType of #GParamSpecDouble.
       
   340  */
       
   341 #define	G_TYPE_PARAM_DOUBLE		   (g_param_spec_types[13])
       
   342 /**
       
   343  * G_IS_PARAM_SPEC_DOUBLE:
       
   344  * @pspec: a valid #GParamSpec instance
       
   345  * 
       
   346  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_DOUBLE.
       
   347  * 
       
   348  * Returns: %TRUE on success.
       
   349  */
       
   350 #define G_IS_PARAM_SPEC_DOUBLE(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
       
   351 /**
       
   352  * G_PARAM_SPEC_DOUBLE:
       
   353  * @pspec: a valid #GParamSpec instance
       
   354  * 
       
   355  * Cast a #GParamSpec instance into a #GParamSpecDouble.
       
   356  */
       
   357 #define G_PARAM_SPEC_DOUBLE(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
       
   358 
       
   359 /**
       
   360  * G_TYPE_PARAM_STRING:
       
   361  * 
       
   362  * The #GType of #GParamSpecString.
       
   363  */
       
   364 #define	G_TYPE_PARAM_STRING		   (g_param_spec_types[14])
       
   365 /**
       
   366  * G_IS_PARAM_SPEC_STRING:
       
   367  * @pspec: a valid #GParamSpec instance
       
   368  * 
       
   369  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_STRING.
       
   370  * 
       
   371  * Returns: %TRUE on success.
       
   372  */
       
   373 #define G_IS_PARAM_SPEC_STRING(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
       
   374 /**
       
   375  * G_PARAM_SPEC_STRING:
       
   376  * @pspec: a valid #GParamSpec instance
       
   377  * 
       
   378  * Casts a #GParamSpec instance into a #GParamSpecString.
       
   379  */
       
   380 #define G_PARAM_SPEC_STRING(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
       
   381 
       
   382 /**
       
   383  * G_TYPE_PARAM_PARAM:
       
   384  * 
       
   385  * The #GType of #GParamSpecParam.
       
   386  */
       
   387 #define	G_TYPE_PARAM_PARAM		   (g_param_spec_types[15])
       
   388 /**
       
   389  * G_IS_PARAM_SPEC_PARAM:
       
   390  * @pspec: a valid #GParamSpec instance
       
   391  * 
       
   392  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_PARAM.
       
   393  * 
       
   394  * Returns: %TRUE on success.
       
   395  */
       
   396 #define G_IS_PARAM_SPEC_PARAM(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))
       
   397 /**
       
   398  * G_PARAM_SPEC_PARAM:
       
   399  * @pspec: a valid #GParamSpec instance
       
   400  * 
       
   401  * Casts a #GParamSpec instance into a #GParamSpecParam.
       
   402  */
       
   403 #define G_PARAM_SPEC_PARAM(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam))
       
   404 
       
   405 /**
       
   406  * G_TYPE_PARAM_BOXED:
       
   407  * 
       
   408  * The #GType of #GParamSpecBoxed.
       
   409  */
       
   410 #define	G_TYPE_PARAM_BOXED		   (g_param_spec_types[16])
       
   411 /**
       
   412  * G_IS_PARAM_SPEC_BOXED:
       
   413  * @pspec: a valid #GParamSpec instance
       
   414  * 
       
   415  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_BOXED.
       
   416  * 
       
   417  * Returns: %TRUE on success.
       
   418  */
       
   419 #define G_IS_PARAM_SPEC_BOXED(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))
       
   420 /**
       
   421  * G_PARAM_SPEC_BOXED:
       
   422  * @pspec: a valid #GParamSpec instance
       
   423  * 
       
   424  * Cast a #GParamSpec instance into a #GParamSpecBoxed.
       
   425  */
       
   426 #define G_PARAM_SPEC_BOXED(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed))
       
   427 
       
   428 /**
       
   429  * G_TYPE_PARAM_POINTER:
       
   430  * 
       
   431  * The #GType of #GParamSpecPointer.
       
   432  */
       
   433 #define	G_TYPE_PARAM_POINTER		   (g_param_spec_types[17])
       
   434 /**
       
   435  * G_IS_PARAM_SPEC_POINTER:
       
   436  * @pspec: a valid #GParamSpec instance
       
   437  * 
       
   438  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_POINTER.
       
   439  * 
       
   440  * Returns: %TRUE on success.
       
   441  */
       
   442 #define G_IS_PARAM_SPEC_POINTER(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))
       
   443 /**
       
   444  * G_PARAM_SPEC_POINTER:
       
   445  * @pspec: a valid #GParamSpec instance
       
   446  * 
       
   447  * Casts a #GParamSpec instance into a #GParamSpecPointer.
       
   448  */
       
   449 #define G_PARAM_SPEC_POINTER(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer))
       
   450 
       
   451 /**
       
   452  * G_TYPE_PARAM_VALUE_ARRAY:
       
   453  * 
       
   454  * The #GType of #GParamSpecValueArray.
       
   455  */
       
   456 #define	G_TYPE_PARAM_VALUE_ARRAY	   (g_param_spec_types[18])
       
   457 /**
       
   458  * G_IS_PARAM_SPEC_VALUE_ARRAY:
       
   459  * @pspec: a valid #GParamSpec instance
       
   460  * 
       
   461  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_VALUE_ARRAY.
       
   462  * 
       
   463  * Returns: %TRUE on success.
       
   464  */
       
   465 #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY))
       
   466 /**
       
   467  * G_PARAM_SPEC_VALUE_ARRAY:
       
   468  * @pspec: a valid #GParamSpec instance
       
   469  * 
       
   470  * Cast a #GParamSpec instance into a #GParamSpecValueArray.
       
   471  */
       
   472 #define G_PARAM_SPEC_VALUE_ARRAY(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray))
       
   473 
       
   474 /**
       
   475  * G_TYPE_PARAM_OBJECT:
       
   476  * 
       
   477  * The #GType of #GParamSpecObject.
       
   478  */
       
   479 #define	G_TYPE_PARAM_OBJECT		   (g_param_spec_types[19])
       
   480 /**
       
   481  * G_IS_PARAM_SPEC_OBJECT:
       
   482  * @pspec: a valid #GParamSpec instance
       
   483  * 
       
   484  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OBJECT.
       
   485  * 
       
   486  * Returns: %TRUE on success.
       
   487  */
       
   488 #define G_IS_PARAM_SPEC_OBJECT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
       
   489 /**
       
   490  * G_PARAM_SPEC_OBJECT:
       
   491  * @pspec: a valid #GParamSpec instance
       
   492  * 
       
   493  * Casts a #GParamSpec instance into a #GParamSpecObject.
       
   494  */
       
   495 #define G_PARAM_SPEC_OBJECT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
       
   496 
       
   497 /**
       
   498  * G_TYPE_PARAM_OVERRIDE:
       
   499  * 
       
   500  * The #GType of #GParamSpecOverride.
       
   501  * 
       
   502  * Since: 2.4
       
   503  */
       
   504 #define	G_TYPE_PARAM_OVERRIDE		   (g_param_spec_types[20])
       
   505 /**
       
   506  * G_IS_PARAM_SPEC_OVERRIDE:
       
   507  * @pspec: a #GParamSpec
       
   508  * 
       
   509  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_OVERRIDE.
       
   510  * 
       
   511  * Since: 2.4
       
   512  * Returns: %TRUE on success.
       
   513  */
       
   514 #define G_IS_PARAM_SPEC_OVERRIDE(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))
       
   515 /**
       
   516  * G_PARAM_SPEC_OVERRIDE:
       
   517  * @pspec: a #GParamSpec
       
   518  * 
       
   519  * Casts a #GParamSpec into a #GParamSpecOverride.
       
   520  * 
       
   521  * Since: 2.4
       
   522  */
       
   523 #define G_PARAM_SPEC_OVERRIDE(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride))
       
   524 
       
   525 /**
       
   526  * G_TYPE_PARAM_GTYPE:
       
   527  * 
       
   528  * The #GType of #GParamSpecGType.
       
   529  * 
       
   530  * Since: 2.10
       
   531  */
       
   532 #define	G_TYPE_PARAM_GTYPE		   (g_param_spec_types[21])
       
   533 /**
       
   534  * G_IS_PARAM_SPEC_GTYPE:
       
   535  * @pspec: a #GParamSpec
       
   536  * 
       
   537  * Checks whether the given #GParamSpec is of type %G_TYPE_PARAM_GTYPE.
       
   538  * 
       
   539  * Since: 2.10
       
   540  * Returns: %TRUE on success. 
       
   541  */
       
   542 #define G_IS_PARAM_SPEC_GTYPE(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE))
       
   543 /**
       
   544  * G_PARAM_SPEC_GTYPE:
       
   545  * @pspec: a #GParamSpec
       
   546  * 
       
   547  * Casts a #GParamSpec into a #GParamSpecGType.
       
   548  * 
       
   549  * Since: 2.10
       
   550  */
       
   551 #define G_PARAM_SPEC_GTYPE(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType))
       
   552 
       
   553 
       
   554 /* --- typedefs & structures --- */
       
   555 typedef struct _GParamSpecChar       GParamSpecChar;
       
   556 typedef struct _GParamSpecUChar      GParamSpecUChar;
       
   557 typedef struct _GParamSpecBoolean    GParamSpecBoolean;
       
   558 typedef struct _GParamSpecInt        GParamSpecInt;
       
   559 typedef struct _GParamSpecUInt       GParamSpecUInt;
       
   560 typedef struct _GParamSpecLong       GParamSpecLong;
       
   561 typedef struct _GParamSpecULong      GParamSpecULong;
       
   562 typedef struct _GParamSpecInt64      GParamSpecInt64;
       
   563 typedef struct _GParamSpecUInt64     GParamSpecUInt64;
       
   564 typedef struct _GParamSpecUnichar    GParamSpecUnichar;
       
   565 typedef struct _GParamSpecEnum       GParamSpecEnum;
       
   566 typedef struct _GParamSpecFlags      GParamSpecFlags;
       
   567 typedef struct _GParamSpecFloat      GParamSpecFloat;
       
   568 typedef struct _GParamSpecDouble     GParamSpecDouble;
       
   569 typedef struct _GParamSpecString     GParamSpecString;
       
   570 typedef struct _GParamSpecParam      GParamSpecParam;
       
   571 typedef struct _GParamSpecBoxed      GParamSpecBoxed;
       
   572 typedef struct _GParamSpecPointer    GParamSpecPointer;
       
   573 typedef struct _GParamSpecValueArray GParamSpecValueArray;
       
   574 typedef struct _GParamSpecObject     GParamSpecObject;
       
   575 typedef struct _GParamSpecOverride   GParamSpecOverride;
       
   576 typedef struct _GParamSpecGType      GParamSpecGType;
       
   577 
       
   578 /**
       
   579  * GParamSpecChar:
       
   580  * @parent_instance: private #GParamSpec portion
       
   581  * @minimum: minimum value for the property specified
       
   582  * @maximum: maximum value for the property specified
       
   583  * @default_value: default value for the property specified
       
   584  * 
       
   585  * A #GParamSpec derived structure that contains the meta data for character properties.
       
   586  */
       
   587 struct _GParamSpecChar
       
   588 {
       
   589   GParamSpec    parent_instance;
       
   590   
       
   591   gint8         minimum;
       
   592   gint8         maximum;
       
   593   gint8         default_value;
       
   594 };
       
   595 /**
       
   596  * GParamSpecUChar:
       
   597  * @parent_instance: private #GParamSpec portion
       
   598  * @minimum: minimum value for the property specified
       
   599  * @maximum: maximum value for the property specified
       
   600  * @default_value: default value for the property specified
       
   601  * 
       
   602  * A #GParamSpec derived structure that contains the meta data for unsigned character properties.
       
   603  */
       
   604 struct _GParamSpecUChar
       
   605 {
       
   606   GParamSpec    parent_instance;
       
   607   
       
   608   guint8        minimum;
       
   609   guint8        maximum;
       
   610   guint8        default_value;
       
   611 };
       
   612 /**
       
   613  * GParamSpecBoolean:
       
   614  * @parent_instance: private #GParamSpec portion
       
   615  * @default_value: default value for the property specified
       
   616  * 
       
   617  * A #GParamSpec derived structure that contains the meta data for boolean properties.
       
   618  */
       
   619 struct _GParamSpecBoolean
       
   620 {
       
   621   GParamSpec    parent_instance;
       
   622   
       
   623   gboolean      default_value;
       
   624 };
       
   625 /**
       
   626  * GParamSpecInt:
       
   627  * @parent_instance: private #GParamSpec portion
       
   628  * @minimum: minimum value for the property specified
       
   629  * @maximum: maximum value for the property specified
       
   630  * @default_value: default value for the property specified
       
   631  * 
       
   632  * A #GParamSpec derived structure that contains the meta data for integer properties.
       
   633  */
       
   634 struct _GParamSpecInt
       
   635 {
       
   636   GParamSpec    parent_instance;
       
   637   
       
   638   gint          minimum;
       
   639   gint          maximum;
       
   640   gint          default_value;
       
   641 };
       
   642 /**
       
   643  * GParamSpecUInt:
       
   644  * @parent_instance: private #GParamSpec portion
       
   645  * @minimum: minimum value for the property specified
       
   646  * @maximum: maximum value for the property specified
       
   647  * @default_value: default value for the property specified
       
   648  * 
       
   649  * A #GParamSpec derived structure that contains the meta data for unsigned integer properties.
       
   650  */
       
   651 struct _GParamSpecUInt
       
   652 {
       
   653   GParamSpec    parent_instance;
       
   654   
       
   655   guint         minimum;
       
   656   guint         maximum;
       
   657   guint         default_value;
       
   658 };
       
   659 /**
       
   660  * GParamSpecLong:
       
   661  * @parent_instance: private #GParamSpec portion
       
   662  * @minimum: minimum value for the property specified
       
   663  * @maximum: maximum value for the property specified
       
   664  * @default_value: default value for the property specified
       
   665  * 
       
   666  * A #GParamSpec derived structure that contains the meta data for long integer properties.
       
   667  */
       
   668 struct _GParamSpecLong
       
   669 {
       
   670   GParamSpec    parent_instance;
       
   671   
       
   672   glong         minimum;
       
   673   glong         maximum;
       
   674   glong         default_value;
       
   675 };
       
   676 /**
       
   677  * GParamSpecULong:
       
   678  * @parent_instance: private #GParamSpec portion
       
   679  * @minimum: minimum value for the property specified
       
   680  * @maximum: maximum value for the property specified
       
   681  * @default_value: default value for the property specified
       
   682  * 
       
   683  * A #GParamSpec derived structure that contains the meta data for unsigned long integer properties.
       
   684  */
       
   685 struct _GParamSpecULong
       
   686 {
       
   687   GParamSpec    parent_instance;
       
   688   
       
   689   gulong        minimum;
       
   690   gulong        maximum;
       
   691   gulong        default_value;
       
   692 };
       
   693 /**
       
   694  * GParamSpecInt64:
       
   695  * @parent_instance: private #GParamSpec portion
       
   696  * @minimum: minimum value for the property specified
       
   697  * @maximum: maximum value for the property specified
       
   698  * @default_value: default value for the property specified
       
   699  * 
       
   700  * A #GParamSpec derived structure that contains the meta data for 64bit integer properties.
       
   701  */
       
   702 struct _GParamSpecInt64
       
   703 {
       
   704   GParamSpec    parent_instance;
       
   705   
       
   706   gint64        minimum;
       
   707   gint64        maximum;
       
   708   gint64        default_value;
       
   709 };
       
   710 /**
       
   711  * GParamSpecUInt64:
       
   712  * @parent_instance: private #GParamSpec portion
       
   713  * @minimum: minimum value for the property specified
       
   714  * @maximum: maximum value for the property specified
       
   715  * @default_value: default value for the property specified
       
   716  * 
       
   717  * A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties.
       
   718  */
       
   719 struct _GParamSpecUInt64
       
   720 {
       
   721   GParamSpec    parent_instance;
       
   722   
       
   723   guint64       minimum;
       
   724   guint64       maximum;
       
   725   guint64       default_value;
       
   726 };
       
   727 /**
       
   728  * GParamSpecUnichar:
       
   729  * @parent_instance: private #GParamSpec portion
       
   730  * @default_value: default value for the property specified
       
   731  * 
       
   732  * A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties.
       
   733  */
       
   734 struct _GParamSpecUnichar
       
   735 {
       
   736   GParamSpec    parent_instance;
       
   737   
       
   738   gunichar      default_value;
       
   739 };
       
   740 /**
       
   741  * GParamSpecEnum:
       
   742  * @parent_instance: private #GParamSpec portion
       
   743  * @enum_class: the #GEnumClass for the enum
       
   744  * @default_value: default value for the property specified
       
   745  * 
       
   746  * A #GParamSpec derived structure that contains the meta data for enum 
       
   747  * properties.
       
   748  */
       
   749 struct _GParamSpecEnum
       
   750 {
       
   751   GParamSpec    parent_instance;
       
   752   
       
   753   GEnumClass   *enum_class;
       
   754   gint          default_value;
       
   755 };
       
   756 /**
       
   757  * GParamSpecFlags:
       
   758  * @parent_instance: private #GParamSpec portion
       
   759  * @flags_class: the #GFlagsClass for the flags
       
   760  * @default_value: default value for the property specified
       
   761  * 
       
   762  * A #GParamSpec derived structure that contains the meta data for flags
       
   763  * properties.
       
   764  */
       
   765 struct _GParamSpecFlags
       
   766 {
       
   767   GParamSpec    parent_instance;
       
   768   
       
   769   GFlagsClass  *flags_class;
       
   770   guint         default_value;
       
   771 };
       
   772 /**
       
   773  * GParamSpecFloat:
       
   774  * @parent_instance: private #GParamSpec portion
       
   775  * @minimum: minimum value for the property specified
       
   776  * @maximum: maximum value for the property specified
       
   777  * @default_value: default value for the property specified
       
   778  * @epsilon: values closer than @epsilon will be considered identical
       
   779  *  by g_param_values_cmp(); the default value is 1e-30.
       
   780  * 
       
   781  * A #GParamSpec derived structure that contains the meta data for float properties.
       
   782  */
       
   783 struct _GParamSpecFloat
       
   784 {
       
   785   GParamSpec    parent_instance;
       
   786   
       
   787   gfloat        minimum;
       
   788   gfloat        maximum;
       
   789   gfloat        default_value;
       
   790   gfloat        epsilon;
       
   791 };
       
   792 /**
       
   793  * GParamSpecDouble:
       
   794  * @parent_instance: private #GParamSpec portion
       
   795  * @minimum: minimum value for the property specified
       
   796  * @maximum: maximum value for the property specified
       
   797  * @default_value: default value for the property specified
       
   798  * @epsilon: values closer than @epsilon will be considered identical
       
   799  *  by g_param_values_cmp(); the default value is 1e-90.
       
   800  * 
       
   801  * A #GParamSpec derived structure that contains the meta data for double properties.
       
   802  */
       
   803 struct _GParamSpecDouble
       
   804 {
       
   805   GParamSpec    parent_instance;
       
   806   
       
   807   gdouble       minimum;
       
   808   gdouble       maximum;
       
   809   gdouble       default_value;
       
   810   gdouble       epsilon;
       
   811 };
       
   812 /**
       
   813  * GParamSpecString:
       
   814  * @parent_instance: private #GParamSpec portion
       
   815  * @default_value: default value for the property specified
       
   816  * @cset_first: a string containing the allowed values for the first byte
       
   817  * @cset_nth: a string containing the allowed values for the subsequent bytes
       
   818  * @substitutor: the replacement byte for bytes which don't match @cset_first or @cset_nth.
       
   819  * @null_fold_if_empty: replace empty string by %NULL
       
   820  * @ensure_non_null: replace %NULL strings by an empty string
       
   821  * 
       
   822  * A #GParamSpec derived structure that contains the meta data for string
       
   823  * properties.
       
   824  */
       
   825 struct _GParamSpecString
       
   826 {
       
   827   GParamSpec    parent_instance;
       
   828   
       
   829   gchar        *default_value;
       
   830   gchar        *cset_first;
       
   831   gchar        *cset_nth;
       
   832   gchar         substitutor;
       
   833   guint         null_fold_if_empty : 1;
       
   834   guint         ensure_non_null : 1;
       
   835 };
       
   836 /**
       
   837  * GParamSpecParam:
       
   838  * @parent_instance: private #GParamSpec portion
       
   839  * 
       
   840  * A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM
       
   841  * properties.
       
   842  */
       
   843 struct _GParamSpecParam
       
   844 {
       
   845   GParamSpec    parent_instance;
       
   846 };
       
   847 /**
       
   848  * GParamSpecBoxed:
       
   849  * @parent_instance: private #GParamSpec portion
       
   850  * 
       
   851  * A #GParamSpec derived structure that contains the meta data for boxed properties.
       
   852  */
       
   853 struct _GParamSpecBoxed
       
   854 {
       
   855   GParamSpec    parent_instance;
       
   856 };
       
   857 /**
       
   858  * GParamSpecPointer:
       
   859  * @parent_instance: private #GParamSpec portion
       
   860  * 
       
   861  * A #GParamSpec derived structure that contains the meta data for pointer properties.
       
   862  */
       
   863 struct _GParamSpecPointer
       
   864 {
       
   865   GParamSpec    parent_instance;
       
   866 };
       
   867 /**
       
   868  * GParamSpecValueArray:
       
   869  * @parent_instance: private #GParamSpec portion
       
   870  * @element_spec: a #GParamSpec describing the elements contained in arrays of this property, may be %NULL
       
   871  * @fixed_n_elements: if greater than 0, arrays of this property will always have this many elements
       
   872  * 
       
   873  * A #GParamSpec derived structure that contains the meta data for #GValueArray properties.
       
   874  */
       
   875 struct _GParamSpecValueArray
       
   876 {
       
   877   GParamSpec    parent_instance;
       
   878   GParamSpec   *element_spec;
       
   879   guint		fixed_n_elements;
       
   880 };
       
   881 /**
       
   882  * GParamSpecObject:
       
   883  * @parent_instance: private #GParamSpec portion
       
   884  * 
       
   885  * A #GParamSpec derived structure that contains the meta data for object properties.
       
   886  */
       
   887 struct _GParamSpecObject
       
   888 {
       
   889   GParamSpec    parent_instance;
       
   890 };
       
   891 /**
       
   892  * GParamSpecOverride:
       
   893  * 
       
   894  * This is a type of #GParamSpec type that simply redirects operations to
       
   895  * another paramspec.  All operations other than getting or
       
   896  * setting the value are redirected, including accessing the nick and
       
   897  * blurb, validating a value, and so forth. See
       
   898  * g_param_spec_get_redirect_target() for retrieving the overidden
       
   899  * property. #GParamSpecOverride is used in implementing
       
   900  * g_object_class_override_property(), and will not be directly useful
       
   901  * unless you are implementing a new base type similar to GObject.
       
   902  * 
       
   903  * Since: 2.4
       
   904  */
       
   905 struct _GParamSpecOverride
       
   906 {
       
   907   /*< private >*/
       
   908   GParamSpec    parent_instance;
       
   909   GParamSpec   *overridden;
       
   910 };
       
   911 /**
       
   912  * GParamSpecGType:
       
   913  * @parent_instance: private #GParamSpec portion
       
   914  * @is_a_type: a #GType whose subtypes can occur as values
       
   915  * 
       
   916  * A #GParamSpec derived structure that contains the meta data for #GType properties.
       
   917  * 
       
   918  * Since: 2.10
       
   919  */
       
   920 struct _GParamSpecGType
       
   921 {
       
   922   GParamSpec    parent_instance;
       
   923   GType         is_a_type;
       
   924 };
       
   925 
       
   926 /* --- GParamSpec prototypes --- */
       
   927 IMPORT_C GParamSpec*	g_param_spec_char	 (const gchar	 *name,
       
   928 					  const gchar	 *nick,
       
   929 					  const gchar	 *blurb,
       
   930 					  gint8		  minimum,
       
   931 					  gint8		  maximum,
       
   932 					  gint8		  default_value,
       
   933 					  GParamFlags	  flags);
       
   934 IMPORT_C GParamSpec*	g_param_spec_uchar	 (const gchar	 *name,
       
   935 					  const gchar	 *nick,
       
   936 					  const gchar	 *blurb,
       
   937 					  guint8	  minimum,
       
   938 					  guint8	  maximum,
       
   939 					  guint8	  default_value,
       
   940 					  GParamFlags	  flags);
       
   941 IMPORT_C GParamSpec*	g_param_spec_boolean	 (const gchar	 *name,
       
   942 					  const gchar	 *nick,
       
   943 					  const gchar	 *blurb,
       
   944 					  gboolean	  default_value,
       
   945 					  GParamFlags	  flags);
       
   946 IMPORT_C GParamSpec*	g_param_spec_int	 (const gchar	 *name,
       
   947 					  const gchar	 *nick,
       
   948 					  const gchar	 *blurb,
       
   949 					  gint		  minimum,
       
   950 					  gint		  maximum,
       
   951 					  gint		  default_value,
       
   952 					  GParamFlags	  flags);
       
   953 IMPORT_C GParamSpec*	g_param_spec_uint	 (const gchar	 *name,
       
   954 					  const gchar	 *nick,
       
   955 					  const gchar	 *blurb,
       
   956 					  guint		  minimum,
       
   957 					  guint		  maximum,
       
   958 					  guint		  default_value,
       
   959 					  GParamFlags	  flags);
       
   960 IMPORT_C GParamSpec*	g_param_spec_long	 (const gchar	 *name,
       
   961 					  const gchar	 *nick,
       
   962 					  const gchar	 *blurb,
       
   963 					  glong		  minimum,
       
   964 					  glong		  maximum,
       
   965 					  glong		  default_value,
       
   966 					  GParamFlags	  flags);
       
   967 IMPORT_C GParamSpec*	g_param_spec_ulong	 (const gchar	 *name,
       
   968 					  const gchar	 *nick,
       
   969 					  const gchar	 *blurb,
       
   970 					  gulong	  minimum,
       
   971 					  gulong	  maximum,
       
   972 					  gulong	  default_value,
       
   973 					  GParamFlags	  flags);
       
   974 IMPORT_C GParamSpec*	g_param_spec_int64	 (const gchar	 *name,
       
   975 					  const gchar	 *nick,
       
   976 					  const gchar	 *blurb,
       
   977 					  gint64       	  minimum,
       
   978 					  gint64       	  maximum,
       
   979 					  gint64       	  default_value,
       
   980 					  GParamFlags	  flags);
       
   981 IMPORT_C GParamSpec*	g_param_spec_uint64	 (const gchar	 *name,
       
   982 					  const gchar	 *nick,
       
   983 					  const gchar	 *blurb,
       
   984 					  guint64	  minimum,
       
   985 					  guint64	  maximum,
       
   986 					  guint64	  default_value,
       
   987 					  GParamFlags	  flags);
       
   988 IMPORT_C GParamSpec*    g_param_spec_unichar      (const gchar    *name,
       
   989 				          const gchar    *nick,
       
   990 				          const gchar    *blurb,
       
   991 				          gunichar	  default_value,
       
   992 				          GParamFlags     flags);
       
   993 IMPORT_C GParamSpec*	g_param_spec_enum	 (const gchar	 *name,
       
   994 					  const gchar	 *nick,
       
   995 					  const gchar	 *blurb,
       
   996 					  GType		  enum_type,
       
   997 					  gint		  default_value,
       
   998 					  GParamFlags	  flags);
       
   999 IMPORT_C GParamSpec*	g_param_spec_flags	 (const gchar	 *name,
       
  1000 					  const gchar	 *nick,
       
  1001 					  const gchar	 *blurb,
       
  1002 					  GType		  flags_type,
       
  1003 					  guint		  default_value,
       
  1004 					  GParamFlags	  flags);
       
  1005 IMPORT_C GParamSpec*	g_param_spec_float	 (const gchar	 *name,
       
  1006 					  const gchar	 *nick,
       
  1007 					  const gchar	 *blurb,
       
  1008 					  gfloat	  minimum,
       
  1009 					  gfloat	  maximum,
       
  1010 					  gfloat	  default_value,
       
  1011 					  GParamFlags	  flags);
       
  1012 IMPORT_C GParamSpec*	g_param_spec_double	 (const gchar	 *name,
       
  1013 					  const gchar	 *nick,
       
  1014 					  const gchar	 *blurb,
       
  1015 					  gdouble	  minimum,
       
  1016 					  gdouble	  maximum,
       
  1017 					  gdouble	  default_value,
       
  1018 					  GParamFlags	  flags);
       
  1019 IMPORT_C GParamSpec*	g_param_spec_string	 (const gchar	 *name,
       
  1020 					  const gchar	 *nick,
       
  1021 					  const gchar	 *blurb,
       
  1022 					  const gchar	 *default_value,
       
  1023 					  GParamFlags	  flags);
       
  1024 IMPORT_C GParamSpec*	g_param_spec_param	 (const gchar	 *name,
       
  1025 					  const gchar	 *nick,
       
  1026 					  const gchar	 *blurb,
       
  1027 					  GType		  param_type,
       
  1028 					  GParamFlags	  flags);
       
  1029 IMPORT_C GParamSpec*	g_param_spec_boxed	 (const gchar	 *name,
       
  1030 					  const gchar	 *nick,
       
  1031 					  const gchar	 *blurb,
       
  1032 					  GType		  boxed_type,
       
  1033 					  GParamFlags	  flags);
       
  1034 IMPORT_C GParamSpec*	g_param_spec_pointer	 (const gchar	 *name,
       
  1035 					  const gchar	 *nick,
       
  1036 					  const gchar	 *blurb,
       
  1037 					  GParamFlags	  flags);
       
  1038 IMPORT_C GParamSpec*	g_param_spec_value_array (const gchar	 *name,
       
  1039 					  const gchar	 *nick,
       
  1040 					  const gchar	 *blurb,
       
  1041 					  GParamSpec	 *element_spec,
       
  1042 					  GParamFlags	  flags);
       
  1043 IMPORT_C GParamSpec*	g_param_spec_object	 (const gchar	 *name,
       
  1044 					  const gchar	 *nick,
       
  1045 					  const gchar	 *blurb,
       
  1046 					  GType		  object_type,
       
  1047 					  GParamFlags	  flags);
       
  1048 IMPORT_C GParamSpec*     g_param_spec_override    (const gchar    *name,
       
  1049 					  GParamSpec     *overridden);
       
  1050 IMPORT_C GParamSpec*	g_param_spec_gtype	 (const gchar	 *name,
       
  1051 					  const gchar	 *nick,
       
  1052 					  const gchar	 *blurb,
       
  1053 					  GType           is_a_type,
       
  1054 					  GParamFlags	  flags);
       
  1055 
       
  1056 /* --- internal --- */
       
  1057 /* We prefix variable declarations so they can
       
  1058  * properly get exported in windows dlls.
       
  1059  */
       
  1060 #ifndef GOBJECT_VAR
       
  1061 #  ifdef G_PLATFORM_WIN32
       
  1062 #    ifdef GOBJECT_STATIC_COMPILATION
       
  1063 #      define GOBJECT_VAR extern
       
  1064 #    else /* !GOBJECT_STATIC_COMPILATION */
       
  1065 #      ifdef GOBJECT_COMPILATION
       
  1066 #        ifdef DLL_EXPORT
       
  1067 #          define GOBJECT_VAR __declspec(dllexport)
       
  1068 #        else /* !DLL_EXPORT */
       
  1069 #          define GOBJECT_VAR extern
       
  1070 #        endif /* !DLL_EXPORT */
       
  1071 #      else /* !GOBJECT_COMPILATION */
       
  1072 #        define GOBJECT_VAR extern __declspec(dllimport)
       
  1073 #      endif /* !GOBJECT_COMPILATION */
       
  1074 #    endif /* !GOBJECT_STATIC_COMPILATION */
       
  1075 #  else /* !G_PLATFORM_WIN32 */
       
  1076 #    define GOBJECT_VAR extern
       
  1077 #  endif /* !G_PLATFORM_WIN32 */
       
  1078 #endif /* GOBJECT_VAR */
       
  1079 
       
  1080 #ifdef __SYMBIAN32__
       
  1081 IMPORT_C GType ** _g_param_spec_types(void);
       
  1082 #endif /*__SYMBIAN32__ */
       
  1083 GOBJECT_VAR GType *g_param_spec_types;
       
  1084 
       
  1085 G_END_DECLS
       
  1086 
       
  1087 #endif /* __G_PARAMSPECS_H__ */