epoc32/include/stdapis/glib-2.0/gobject/gparamspecs.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
equal deleted inserted replaced
1:666f914201fb 2:2fe1408b6811
     1 gparamspecs.h
     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 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 <_ansi.h>
       
    30 #include        <gobject/gvalue.h>
       
    31 #include        <gobject/genums.h>
       
    32 #include        <gobject/gboxed.h>
       
    33 #include        <gobject/gobject.h>
       
    34 
       
    35 G_BEGIN_DECLS
       
    36 
       
    37 /* --- type macros --- */
       
    38 #define	G_TYPE_PARAM_CHAR		   (g_param_spec_types[0])
       
    39 #define G_IS_PARAM_SPEC_CHAR(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
       
    40 #define G_PARAM_SPEC_CHAR(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
       
    41 #define	G_TYPE_PARAM_UCHAR		   (g_param_spec_types[1])
       
    42 #define G_IS_PARAM_SPEC_UCHAR(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
       
    43 #define G_PARAM_SPEC_UCHAR(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
       
    44 #define	G_TYPE_PARAM_BOOLEAN		   (g_param_spec_types[2])
       
    45 #define G_IS_PARAM_SPEC_BOOLEAN(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
       
    46 #define G_PARAM_SPEC_BOOLEAN(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
       
    47 #define	G_TYPE_PARAM_INT		   (g_param_spec_types[3])
       
    48 #define G_IS_PARAM_SPEC_INT(pspec)         (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
       
    49 #define G_PARAM_SPEC_INT(pspec)            (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
       
    50 #define	G_TYPE_PARAM_UINT		   (g_param_spec_types[4])
       
    51 #define G_IS_PARAM_SPEC_UINT(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
       
    52 #define G_PARAM_SPEC_UINT(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
       
    53 #define	G_TYPE_PARAM_LONG		   (g_param_spec_types[5])
       
    54 #define G_IS_PARAM_SPEC_LONG(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
       
    55 #define G_PARAM_SPEC_LONG(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
       
    56 #define	G_TYPE_PARAM_ULONG		   (g_param_spec_types[6])
       
    57 #define G_IS_PARAM_SPEC_ULONG(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
       
    58 #define G_PARAM_SPEC_ULONG(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
       
    59 #define	G_TYPE_PARAM_INT64		   (g_param_spec_types[7])
       
    60 #define G_IS_PARAM_SPEC_INT64(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))
       
    61 #define G_PARAM_SPEC_INT64(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64))
       
    62 #define	G_TYPE_PARAM_UINT64		   (g_param_spec_types[8])
       
    63 #define G_IS_PARAM_SPEC_UINT64(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))
       
    64 #define G_PARAM_SPEC_UINT64(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64))
       
    65 #define	G_TYPE_PARAM_UNICHAR		   (g_param_spec_types[9])
       
    66 #define G_PARAM_SPEC_UNICHAR(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar))
       
    67 #define G_IS_PARAM_SPEC_UNICHAR(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))
       
    68 #define	G_TYPE_PARAM_ENUM		   (g_param_spec_types[10])
       
    69 #define G_IS_PARAM_SPEC_ENUM(pspec)        (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
       
    70 #define G_PARAM_SPEC_ENUM(pspec)           (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
       
    71 #define	G_TYPE_PARAM_FLAGS		   (g_param_spec_types[11])
       
    72 #define G_IS_PARAM_SPEC_FLAGS(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
       
    73 #define G_PARAM_SPEC_FLAGS(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
       
    74 #define	G_TYPE_PARAM_FLOAT		   (g_param_spec_types[12])
       
    75 #define G_IS_PARAM_SPEC_FLOAT(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
       
    76 #define G_PARAM_SPEC_FLOAT(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
       
    77 #define	G_TYPE_PARAM_DOUBLE		   (g_param_spec_types[13])
       
    78 #define G_IS_PARAM_SPEC_DOUBLE(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
       
    79 #define G_PARAM_SPEC_DOUBLE(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
       
    80 #define	G_TYPE_PARAM_STRING		   (g_param_spec_types[14])
       
    81 #define G_IS_PARAM_SPEC_STRING(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
       
    82 #define G_PARAM_SPEC_STRING(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
       
    83 #define	G_TYPE_PARAM_PARAM		   (g_param_spec_types[15])
       
    84 #define G_IS_PARAM_SPEC_PARAM(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))
       
    85 #define G_PARAM_SPEC_PARAM(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam))
       
    86 #define	G_TYPE_PARAM_BOXED		   (g_param_spec_types[16])
       
    87 #define G_IS_PARAM_SPEC_BOXED(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))
       
    88 #define G_PARAM_SPEC_BOXED(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed))
       
    89 #define	G_TYPE_PARAM_POINTER		   (g_param_spec_types[17])
       
    90 #define G_IS_PARAM_SPEC_POINTER(pspec)     (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))
       
    91 #define G_PARAM_SPEC_POINTER(pspec)        (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer))
       
    92 #define	G_TYPE_PARAM_VALUE_ARRAY	   (g_param_spec_types[18])
       
    93 #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY))
       
    94 #define G_PARAM_SPEC_VALUE_ARRAY(pspec)    (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray))
       
    95 #define	G_TYPE_PARAM_OBJECT		   (g_param_spec_types[19])
       
    96 #define G_IS_PARAM_SPEC_OBJECT(pspec)      (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
       
    97 #define G_PARAM_SPEC_OBJECT(pspec)         (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
       
    98 #define	G_TYPE_PARAM_OVERRIDE		   (g_param_spec_types[20])
       
    99 #define G_IS_PARAM_SPEC_OVERRIDE(pspec)    (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))
       
   100 #define G_PARAM_SPEC_OVERRIDE(pspec)       (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride))
       
   101 #define	G_TYPE_PARAM_GTYPE		   (g_param_spec_types[21])
       
   102 #define G_IS_PARAM_SPEC_GTYPE(pspec)       (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE))
       
   103 #define G_PARAM_SPEC_GTYPE(pspec)          (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType))
       
   104 
       
   105 
       
   106 /* --- typedefs & structures --- */
       
   107 typedef struct _GParamSpecChar       GParamSpecChar;
       
   108 typedef struct _GParamSpecUChar      GParamSpecUChar;
       
   109 typedef struct _GParamSpecBoolean    GParamSpecBoolean;
       
   110 typedef struct _GParamSpecInt        GParamSpecInt;
       
   111 typedef struct _GParamSpecUInt       GParamSpecUInt;
       
   112 typedef struct _GParamSpecLong       GParamSpecLong;
       
   113 typedef struct _GParamSpecULong      GParamSpecULong;
       
   114 typedef struct _GParamSpecInt64      GParamSpecInt64;
       
   115 typedef struct _GParamSpecUInt64     GParamSpecUInt64;
       
   116 typedef struct _GParamSpecUnichar    GParamSpecUnichar;
       
   117 typedef struct _GParamSpecEnum       GParamSpecEnum;
       
   118 typedef struct _GParamSpecFlags      GParamSpecFlags;
       
   119 typedef struct _GParamSpecFloat      GParamSpecFloat;
       
   120 typedef struct _GParamSpecDouble     GParamSpecDouble;
       
   121 typedef struct _GParamSpecString     GParamSpecString;
       
   122 typedef struct _GParamSpecParam      GParamSpecParam;
       
   123 typedef struct _GParamSpecBoxed      GParamSpecBoxed;
       
   124 typedef struct _GParamSpecPointer    GParamSpecPointer;
       
   125 typedef struct _GParamSpecValueArray GParamSpecValueArray;
       
   126 typedef struct _GParamSpecObject     GParamSpecObject;
       
   127 typedef struct _GParamSpecOverride   GParamSpecOverride;
       
   128 typedef struct _GParamSpecGType      GParamSpecGType;
       
   129 
       
   130 struct _GParamSpecChar
       
   131 {
       
   132   GParamSpec    parent_instance;
       
   133   
       
   134   gint8         minimum;
       
   135   gint8         maximum;
       
   136   gint8         default_value;
       
   137 };
       
   138 struct _GParamSpecUChar
       
   139 {
       
   140   GParamSpec    parent_instance;
       
   141   
       
   142   guint8        minimum;
       
   143   guint8        maximum;
       
   144   guint8        default_value;
       
   145 };
       
   146 struct _GParamSpecBoolean
       
   147 {
       
   148   GParamSpec    parent_instance;
       
   149   
       
   150   gboolean      default_value;
       
   151 };
       
   152 struct _GParamSpecInt
       
   153 {
       
   154   GParamSpec    parent_instance;
       
   155   
       
   156   gint          minimum;
       
   157   gint          maximum;
       
   158   gint          default_value;
       
   159 };
       
   160 struct _GParamSpecUInt
       
   161 {
       
   162   GParamSpec    parent_instance;
       
   163   
       
   164   guint         minimum;
       
   165   guint         maximum;
       
   166   guint         default_value;
       
   167 };
       
   168 struct _GParamSpecLong
       
   169 {
       
   170   GParamSpec    parent_instance;
       
   171   
       
   172   glong         minimum;
       
   173   glong         maximum;
       
   174   glong         default_value;
       
   175 };
       
   176 struct _GParamSpecULong
       
   177 {
       
   178   GParamSpec    parent_instance;
       
   179   
       
   180   gulong        minimum;
       
   181   gulong        maximum;
       
   182   gulong        default_value;
       
   183 };
       
   184 struct _GParamSpecInt64
       
   185 {
       
   186   GParamSpec    parent_instance;
       
   187   
       
   188   gint64        minimum;
       
   189   gint64        maximum;
       
   190   gint64        default_value;
       
   191 };
       
   192 struct _GParamSpecUInt64
       
   193 {
       
   194   GParamSpec    parent_instance;
       
   195   
       
   196   guint64       minimum;
       
   197   guint64       maximum;
       
   198   guint64       default_value;
       
   199 };
       
   200 struct _GParamSpecUnichar
       
   201 {
       
   202   GParamSpec    parent_instance;
       
   203   
       
   204   gunichar      default_value;
       
   205 };
       
   206 struct _GParamSpecEnum
       
   207 {
       
   208   GParamSpec    parent_instance;
       
   209   
       
   210   GEnumClass   *enum_class;
       
   211   gint          default_value;
       
   212 };
       
   213 struct _GParamSpecFlags
       
   214 {
       
   215   GParamSpec    parent_instance;
       
   216   
       
   217   GFlagsClass  *flags_class;
       
   218   guint         default_value;
       
   219 };
       
   220 struct _GParamSpecFloat
       
   221 {
       
   222   GParamSpec    parent_instance;
       
   223   
       
   224   gfloat        minimum;
       
   225   gfloat        maximum;
       
   226   gfloat        default_value;
       
   227   gfloat        epsilon;
       
   228 };
       
   229 struct _GParamSpecDouble
       
   230 {
       
   231   GParamSpec    parent_instance;
       
   232   
       
   233   gdouble       minimum;
       
   234   gdouble       maximum;
       
   235   gdouble       default_value;
       
   236   gdouble       epsilon;
       
   237 };
       
   238 struct _GParamSpecString
       
   239 {
       
   240   GParamSpec    parent_instance;
       
   241   
       
   242   gchar        *default_value;
       
   243   gchar        *cset_first;
       
   244   gchar        *cset_nth;
       
   245   gchar         substitutor;
       
   246   guint         null_fold_if_empty : 1;
       
   247   guint         ensure_non_null : 1;
       
   248 };
       
   249 struct _GParamSpecParam
       
   250 {
       
   251   GParamSpec    parent_instance;
       
   252 };
       
   253 struct _GParamSpecBoxed
       
   254 {
       
   255   GParamSpec    parent_instance;
       
   256 };
       
   257 struct _GParamSpecPointer
       
   258 {
       
   259   GParamSpec    parent_instance;
       
   260 };
       
   261 struct _GParamSpecValueArray
       
   262 {
       
   263   GParamSpec    parent_instance;
       
   264   GParamSpec   *element_spec;
       
   265   guint		fixed_n_elements;
       
   266 };
       
   267 struct _GParamSpecObject
       
   268 {
       
   269   GParamSpec    parent_instance;
       
   270 };
       
   271 struct _GParamSpecOverride
       
   272 {
       
   273   /*< private >*/
       
   274   GParamSpec    parent_instance;
       
   275   GParamSpec   *overridden;
       
   276 };
       
   277 struct _GParamSpecGType
       
   278 {
       
   279   GParamSpec    parent_instance;
       
   280   GType         is_a_type;
       
   281 };
       
   282 
       
   283 /* --- GParamSpec prototypes --- */
       
   284 IMPORT_C GParamSpec*	g_param_spec_char	 (const gchar	 *name,
       
   285 					  const gchar	 *nick,
       
   286 					  const gchar	 *blurb,
       
   287 					  gint8		  minimum,
       
   288 					  gint8		  maximum,
       
   289 					  gint8		  default_value,
       
   290 					  GParamFlags	  flags);
       
   291 IMPORT_C GParamSpec*	g_param_spec_uchar	 (const gchar	 *name,
       
   292 					  const gchar	 *nick,
       
   293 					  const gchar	 *blurb,
       
   294 					  guint8	  minimum,
       
   295 					  guint8	  maximum,
       
   296 					  guint8	  default_value,
       
   297 					  GParamFlags	  flags);
       
   298 IMPORT_C GParamSpec*	g_param_spec_boolean	 (const gchar	 *name,
       
   299 					  const gchar	 *nick,
       
   300 					  const gchar	 *blurb,
       
   301 					  gboolean	  default_value,
       
   302 					  GParamFlags	  flags);
       
   303 IMPORT_C GParamSpec*	g_param_spec_int	 (const gchar	 *name,
       
   304 					  const gchar	 *nick,
       
   305 					  const gchar	 *blurb,
       
   306 					  gint		  minimum,
       
   307 					  gint		  maximum,
       
   308 					  gint		  default_value,
       
   309 					  GParamFlags	  flags);
       
   310 IMPORT_C GParamSpec*	g_param_spec_uint	 (const gchar	 *name,
       
   311 					  const gchar	 *nick,
       
   312 					  const gchar	 *blurb,
       
   313 					  guint		  minimum,
       
   314 					  guint		  maximum,
       
   315 					  guint		  default_value,
       
   316 					  GParamFlags	  flags);
       
   317 IMPORT_C GParamSpec*	g_param_spec_long	 (const gchar	 *name,
       
   318 					  const gchar	 *nick,
       
   319 					  const gchar	 *blurb,
       
   320 					  glong		  minimum,
       
   321 					  glong		  maximum,
       
   322 					  glong		  default_value,
       
   323 					  GParamFlags	  flags);
       
   324 IMPORT_C GParamSpec*	g_param_spec_ulong	 (const gchar	 *name,
       
   325 					  const gchar	 *nick,
       
   326 					  const gchar	 *blurb,
       
   327 					  gulong	  minimum,
       
   328 					  gulong	  maximum,
       
   329 					  gulong	  default_value,
       
   330 					  GParamFlags	  flags);
       
   331 IMPORT_C GParamSpec*	g_param_spec_int64	 (const gchar	 *name,
       
   332 					  const gchar	 *nick,
       
   333 					  const gchar	 *blurb,
       
   334 					  gint64       	  minimum,
       
   335 					  gint64       	  maximum,
       
   336 					  gint64       	  default_value,
       
   337 					  GParamFlags	  flags);
       
   338 IMPORT_C GParamSpec*	g_param_spec_uint64	 (const gchar	 *name,
       
   339 					  const gchar	 *nick,
       
   340 					  const gchar	 *blurb,
       
   341 					  guint64	  minimum,
       
   342 					  guint64	  maximum,
       
   343 					  guint64	  default_value,
       
   344 					  GParamFlags	  flags);
       
   345 IMPORT_C GParamSpec*    g_param_spec_unichar      (const gchar    *name,
       
   346 				          const gchar    *nick,
       
   347 				          const gchar    *blurb,
       
   348 				          gunichar	  default_value,
       
   349 				          GParamFlags     flags);
       
   350 IMPORT_C GParamSpec*	g_param_spec_enum	 (const gchar	 *name,
       
   351 					  const gchar	 *nick,
       
   352 					  const gchar	 *blurb,
       
   353 					  GType		  enum_type,
       
   354 					  gint		  default_value,
       
   355 					  GParamFlags	  flags);
       
   356 IMPORT_C GParamSpec*	g_param_spec_flags	 (const gchar	 *name,
       
   357 					  const gchar	 *nick,
       
   358 					  const gchar	 *blurb,
       
   359 					  GType		  flags_type,
       
   360 					  guint		  default_value,
       
   361 					  GParamFlags	  flags);
       
   362 IMPORT_C GParamSpec*	g_param_spec_float	 (const gchar	 *name,
       
   363 					  const gchar	 *nick,
       
   364 					  const gchar	 *blurb,
       
   365 					  gfloat	  minimum,
       
   366 					  gfloat	  maximum,
       
   367 					  gfloat	  default_value,
       
   368 					  GParamFlags	  flags);
       
   369 IMPORT_C GParamSpec*	g_param_spec_double	 (const gchar	 *name,
       
   370 					  const gchar	 *nick,
       
   371 					  const gchar	 *blurb,
       
   372 					  gdouble	  minimum,
       
   373 					  gdouble	  maximum,
       
   374 					  gdouble	  default_value,
       
   375 					  GParamFlags	  flags);
       
   376 IMPORT_C GParamSpec*	g_param_spec_string	 (const gchar	 *name,
       
   377 					  const gchar	 *nick,
       
   378 					  const gchar	 *blurb,
       
   379 					  const gchar	 *default_value,
       
   380 					  GParamFlags	  flags);
       
   381 IMPORT_C GParamSpec*	g_param_spec_param	 (const gchar	 *name,
       
   382 					  const gchar	 *nick,
       
   383 					  const gchar	 *blurb,
       
   384 					  GType		  param_type,
       
   385 					  GParamFlags	  flags);
       
   386 IMPORT_C GParamSpec*	g_param_spec_boxed	 (const gchar	 *name,
       
   387 					  const gchar	 *nick,
       
   388 					  const gchar	 *blurb,
       
   389 					  GType		  boxed_type,
       
   390 					  GParamFlags	  flags);
       
   391 IMPORT_C GParamSpec*	g_param_spec_pointer	 (const gchar	 *name,
       
   392 					  const gchar	 *nick,
       
   393 					  const gchar	 *blurb,
       
   394 					  GParamFlags	  flags);
       
   395 IMPORT_C GParamSpec*	g_param_spec_value_array (const gchar	 *name,
       
   396 					  const gchar	 *nick,
       
   397 					  const gchar	 *blurb,
       
   398 					  GParamSpec	 *element_spec,
       
   399 					  GParamFlags	  flags);
       
   400 IMPORT_C GParamSpec*	g_param_spec_object	 (const gchar	 *name,
       
   401 					  const gchar	 *nick,
       
   402 					  const gchar	 *blurb,
       
   403 					  GType		  object_type,
       
   404 					  GParamFlags	  flags);
       
   405 IMPORT_C GParamSpec*     g_param_spec_override    (const gchar    *name,
       
   406 					  GParamSpec     *overridden);
       
   407 IMPORT_C GParamSpec*	g_param_spec_gtype	 (const gchar	 *name,
       
   408 					  const gchar	 *nick,
       
   409 					  const gchar	 *blurb,
       
   410 					  GType           is_a_type,
       
   411 					  GParamFlags	  flags);
       
   412 
       
   413 /* --- internal --- */
       
   414 /* We prefix variable declarations so they can
       
   415  * properly get exported in windows dlls.
       
   416  */
       
   417 #ifndef GOBJECT_VAR
       
   418 #  ifdef G_PLATFORM_WIN32
       
   419 #    ifdef GOBJECT_STATIC_COMPILATION
       
   420 #      define GOBJECT_VAR extern
       
   421 #    else /* !GOBJECT_STATIC_COMPILATION */
       
   422 #      ifdef GOBJECT_COMPILATION
       
   423 #        ifdef DLL_EXPORT
       
   424 #          define GOBJECT_VAR __declspec(dllexport)
       
   425 #        else /* !DLL_EXPORT */
       
   426 #          define GOBJECT_VAR extern
       
   427 #        endif /* !DLL_EXPORT */
       
   428 #      else /* !GOBJECT_COMPILATION */
       
   429 #        define GOBJECT_VAR extern __declspec(dllimport)
       
   430 #      endif /* !GOBJECT_COMPILATION */
       
   431 #    endif /* !GOBJECT_STATIC_COMPILATION */
       
   432 #  else /* !G_PLATFORM_WIN32 */
       
   433 #    define GOBJECT_VAR extern
       
   434 #  endif /* !G_PLATFORM_WIN32 */
       
   435 #endif /* GOBJECT_VAR */
       
   436 
       
   437 #ifdef __SYMBIAN32__
       
   438 IMPORT_C GType ** _g_param_spec_types();
       
   439 #endif /*__SYMBIAN32__ */
       
   440 GOBJECT_VAR GType *g_param_spec_types;
       
   441 
       
   442 G_END_DECLS
       
   443 
       
   444 #endif /* __G_PARAMSPECS_H__ */