epoc32/include/stdapis/glib-2.0/gobject/gparamspecs.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 0 061f57f2323e
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
     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__ */