00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #if !defined (__GLIB_GOBJECT_H_INSIDE__) && !defined (GOBJECT_COMPILATION)
00023 #error "Only <glib-object.h> can be included directly."
00024 #endif
00025
00026 #ifndef __G_PARAMSPECS_H__
00027 #define __G_PARAMSPECS_H__
00028
00029 #include <_ansi.h>
00030 #include <gobject/gvalue.h>
00031 #include <gobject/genums.h>
00032 #include <gobject/gboxed.h>
00033 #include <gobject/gobject.h>
00034
00035 G_BEGIN_DECLS
00036
00037
00038 #define G_TYPE_PARAM_CHAR (g_param_spec_types[0])
00039 #define G_IS_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_CHAR))
00040 #define G_PARAM_SPEC_CHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_CHAR, GParamSpecChar))
00041 #define G_TYPE_PARAM_UCHAR (g_param_spec_types[1])
00042 #define G_IS_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UCHAR))
00043 #define G_PARAM_SPEC_UCHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UCHAR, GParamSpecUChar))
00044 #define G_TYPE_PARAM_BOOLEAN (g_param_spec_types[2])
00045 #define G_IS_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOOLEAN))
00046 #define G_PARAM_SPEC_BOOLEAN(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOOLEAN, GParamSpecBoolean))
00047 #define G_TYPE_PARAM_INT (g_param_spec_types[3])
00048 #define G_IS_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT))
00049 #define G_PARAM_SPEC_INT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT, GParamSpecInt))
00050 #define G_TYPE_PARAM_UINT (g_param_spec_types[4])
00051 #define G_IS_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT))
00052 #define G_PARAM_SPEC_UINT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT, GParamSpecUInt))
00053 #define G_TYPE_PARAM_LONG (g_param_spec_types[5])
00054 #define G_IS_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_LONG))
00055 #define G_PARAM_SPEC_LONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_LONG, GParamSpecLong))
00056 #define G_TYPE_PARAM_ULONG (g_param_spec_types[6])
00057 #define G_IS_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ULONG))
00058 #define G_PARAM_SPEC_ULONG(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ULONG, GParamSpecULong))
00059 #define G_TYPE_PARAM_INT64 (g_param_spec_types[7])
00060 #define G_IS_PARAM_SPEC_INT64(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_INT64))
00061 #define G_PARAM_SPEC_INT64(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_INT64, GParamSpecInt64))
00062 #define G_TYPE_PARAM_UINT64 (g_param_spec_types[8])
00063 #define G_IS_PARAM_SPEC_UINT64(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UINT64))
00064 #define G_PARAM_SPEC_UINT64(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UINT64, GParamSpecUInt64))
00065 #define G_TYPE_PARAM_UNICHAR (g_param_spec_types[9])
00066 #define G_PARAM_SPEC_UNICHAR(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_UNICHAR, GParamSpecUnichar))
00067 #define G_IS_PARAM_SPEC_UNICHAR(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_UNICHAR))
00068 #define G_TYPE_PARAM_ENUM (g_param_spec_types[10])
00069 #define G_IS_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_ENUM))
00070 #define G_PARAM_SPEC_ENUM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_ENUM, GParamSpecEnum))
00071 #define G_TYPE_PARAM_FLAGS (g_param_spec_types[11])
00072 #define G_IS_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLAGS))
00073 #define G_PARAM_SPEC_FLAGS(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLAGS, GParamSpecFlags))
00074 #define G_TYPE_PARAM_FLOAT (g_param_spec_types[12])
00075 #define G_IS_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_FLOAT))
00076 #define G_PARAM_SPEC_FLOAT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_FLOAT, GParamSpecFloat))
00077 #define G_TYPE_PARAM_DOUBLE (g_param_spec_types[13])
00078 #define G_IS_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_DOUBLE))
00079 #define G_PARAM_SPEC_DOUBLE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_DOUBLE, GParamSpecDouble))
00080 #define G_TYPE_PARAM_STRING (g_param_spec_types[14])
00081 #define G_IS_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_STRING))
00082 #define G_PARAM_SPEC_STRING(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_STRING, GParamSpecString))
00083 #define G_TYPE_PARAM_PARAM (g_param_spec_types[15])
00084 #define G_IS_PARAM_SPEC_PARAM(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_PARAM))
00085 #define G_PARAM_SPEC_PARAM(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_PARAM, GParamSpecParam))
00086 #define G_TYPE_PARAM_BOXED (g_param_spec_types[16])
00087 #define G_IS_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_BOXED))
00088 #define G_PARAM_SPEC_BOXED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_BOXED, GParamSpecBoxed))
00089 #define G_TYPE_PARAM_POINTER (g_param_spec_types[17])
00090 #define G_IS_PARAM_SPEC_POINTER(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_POINTER))
00091 #define G_PARAM_SPEC_POINTER(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_POINTER, GParamSpecPointer))
00092 #define G_TYPE_PARAM_VALUE_ARRAY (g_param_spec_types[18])
00093 #define G_IS_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_VALUE_ARRAY))
00094 #define G_PARAM_SPEC_VALUE_ARRAY(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_VALUE_ARRAY, GParamSpecValueArray))
00095 #define G_TYPE_PARAM_OBJECT (g_param_spec_types[19])
00096 #define G_IS_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OBJECT))
00097 #define G_PARAM_SPEC_OBJECT(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OBJECT, GParamSpecObject))
00098 #define G_TYPE_PARAM_OVERRIDE (g_param_spec_types[20])
00099 #define G_IS_PARAM_SPEC_OVERRIDE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_OVERRIDE))
00100 #define G_PARAM_SPEC_OVERRIDE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_OVERRIDE, GParamSpecOverride))
00101 #define G_TYPE_PARAM_GTYPE (g_param_spec_types[21])
00102 #define G_IS_PARAM_SPEC_GTYPE(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), G_TYPE_PARAM_GTYPE))
00103 #define G_PARAM_SPEC_GTYPE(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), G_TYPE_PARAM_GTYPE, GParamSpecGType))
00104
00105
00106
00107 typedef struct _GParamSpecChar GParamSpecChar;
00108 typedef struct _GParamSpecUChar GParamSpecUChar;
00109 typedef struct _GParamSpecBoolean GParamSpecBoolean;
00110 typedef struct _GParamSpecInt GParamSpecInt;
00111 typedef struct _GParamSpecUInt GParamSpecUInt;
00112 typedef struct _GParamSpecLong GParamSpecLong;
00113 typedef struct _GParamSpecULong GParamSpecULong;
00114 typedef struct _GParamSpecInt64 GParamSpecInt64;
00115 typedef struct _GParamSpecUInt64 GParamSpecUInt64;
00116 typedef struct _GParamSpecUnichar GParamSpecUnichar;
00117 typedef struct _GParamSpecEnum GParamSpecEnum;
00118 typedef struct _GParamSpecFlags GParamSpecFlags;
00119 typedef struct _GParamSpecFloat GParamSpecFloat;
00120 typedef struct _GParamSpecDouble GParamSpecDouble;
00121 typedef struct _GParamSpecString GParamSpecString;
00122 typedef struct _GParamSpecParam GParamSpecParam;
00123 typedef struct _GParamSpecBoxed GParamSpecBoxed;
00124 typedef struct _GParamSpecPointer GParamSpecPointer;
00125 typedef struct _GParamSpecValueArray GParamSpecValueArray;
00126 typedef struct _GParamSpecObject GParamSpecObject;
00127 typedef struct _GParamSpecOverride GParamSpecOverride;
00128 typedef struct _GParamSpecGType GParamSpecGType;
00129
00130 struct _GParamSpecChar
00131 {
00132 GParamSpec parent_instance;
00133
00134 gint8 minimum;
00135 gint8 maximum;
00136 gint8 default_value;
00137 };
00138 struct _GParamSpecUChar
00139 {
00140 GParamSpec parent_instance;
00141
00142 guint8 minimum;
00143 guint8 maximum;
00144 guint8 default_value;
00145 };
00146 struct _GParamSpecBoolean
00147 {
00148 GParamSpec parent_instance;
00149
00150 gboolean default_value;
00151 };
00152 struct _GParamSpecInt
00153 {
00154 GParamSpec parent_instance;
00155
00156 gint minimum;
00157 gint maximum;
00158 gint default_value;
00159 };
00160 struct _GParamSpecUInt
00161 {
00162 GParamSpec parent_instance;
00163
00164 guint minimum;
00165 guint maximum;
00166 guint default_value;
00167 };
00168 struct _GParamSpecLong
00169 {
00170 GParamSpec parent_instance;
00171
00172 glong minimum;
00173 glong maximum;
00174 glong default_value;
00175 };
00176 struct _GParamSpecULong
00177 {
00178 GParamSpec parent_instance;
00179
00180 gulong minimum;
00181 gulong maximum;
00182 gulong default_value;
00183 };
00184 struct _GParamSpecInt64
00185 {
00186 GParamSpec parent_instance;
00187
00188 gint64 minimum;
00189 gint64 maximum;
00190 gint64 default_value;
00191 };
00192 struct _GParamSpecUInt64
00193 {
00194 GParamSpec parent_instance;
00195
00196 guint64 minimum;
00197 guint64 maximum;
00198 guint64 default_value;
00199 };
00200 struct _GParamSpecUnichar
00201 {
00202 GParamSpec parent_instance;
00203
00204 gunichar default_value;
00205 };
00206 struct _GParamSpecEnum
00207 {
00208 GParamSpec parent_instance;
00209
00210 GEnumClass *enum_class;
00211 gint default_value;
00212 };
00213 struct _GParamSpecFlags
00214 {
00215 GParamSpec parent_instance;
00216
00217 GFlagsClass *flags_class;
00218 guint default_value;
00219 };
00220 struct _GParamSpecFloat
00221 {
00222 GParamSpec parent_instance;
00223
00224 gfloat minimum;
00225 gfloat maximum;
00226 gfloat default_value;
00227 gfloat epsilon;
00228 };
00229 struct _GParamSpecDouble
00230 {
00231 GParamSpec parent_instance;
00232
00233 gdouble minimum;
00234 gdouble maximum;
00235 gdouble default_value;
00236 gdouble epsilon;
00237 };
00238 struct _GParamSpecString
00239 {
00240 GParamSpec parent_instance;
00241
00242 gchar *default_value;
00243 gchar *cset_first;
00244 gchar *cset_nth;
00245 gchar substitutor;
00246 guint null_fold_if_empty : 1;
00247 guint ensure_non_null : 1;
00248 };
00249 struct _GParamSpecParam
00250 {
00251 GParamSpec parent_instance;
00252 };
00253 struct _GParamSpecBoxed
00254 {
00255 GParamSpec parent_instance;
00256 };
00257 struct _GParamSpecPointer
00258 {
00259 GParamSpec parent_instance;
00260 };
00261 struct _GParamSpecValueArray
00262 {
00263 GParamSpec parent_instance;
00264 GParamSpec *element_spec;
00265 guint fixed_n_elements;
00266 };
00267 struct _GParamSpecObject
00268 {
00269 GParamSpec parent_instance;
00270 };
00271 struct _GParamSpecOverride
00272 {
00273
00274 GParamSpec parent_instance;
00275 GParamSpec *overridden;
00276 };
00277 struct _GParamSpecGType
00278 {
00279 GParamSpec parent_instance;
00280 GType is_a_type;
00281 };
00282
00283
00284 IMPORT_C GParamSpec* g_param_spec_char (const gchar *name,
00285 const gchar *nick,
00286 const gchar *blurb,
00287 gint8 minimum,
00288 gint8 maximum,
00289 gint8 default_value,
00290 GParamFlags flags);
00291 IMPORT_C GParamSpec* g_param_spec_uchar (const gchar *name,
00292 const gchar *nick,
00293 const gchar *blurb,
00294 guint8 minimum,
00295 guint8 maximum,
00296 guint8 default_value,
00297 GParamFlags flags);
00298 IMPORT_C GParamSpec* g_param_spec_boolean (const gchar *name,
00299 const gchar *nick,
00300 const gchar *blurb,
00301 gboolean default_value,
00302 GParamFlags flags);
00303 IMPORT_C GParamSpec* g_param_spec_int (const gchar *name,
00304 const gchar *nick,
00305 const gchar *blurb,
00306 gint minimum,
00307 gint maximum,
00308 gint default_value,
00309 GParamFlags flags);
00310 IMPORT_C GParamSpec* g_param_spec_uint (const gchar *name,
00311 const gchar *nick,
00312 const gchar *blurb,
00313 guint minimum,
00314 guint maximum,
00315 guint default_value,
00316 GParamFlags flags);
00317 IMPORT_C GParamSpec* g_param_spec_long (const gchar *name,
00318 const gchar *nick,
00319 const gchar *blurb,
00320 glong minimum,
00321 glong maximum,
00322 glong default_value,
00323 GParamFlags flags);
00324 IMPORT_C GParamSpec* g_param_spec_ulong (const gchar *name,
00325 const gchar *nick,
00326 const gchar *blurb,
00327 gulong minimum,
00328 gulong maximum,
00329 gulong default_value,
00330 GParamFlags flags);
00331 IMPORT_C GParamSpec* g_param_spec_int64 (const gchar *name,
00332 const gchar *nick,
00333 const gchar *blurb,
00334 gint64 minimum,
00335 gint64 maximum,
00336 gint64 default_value,
00337 GParamFlags flags);
00338 IMPORT_C GParamSpec* g_param_spec_uint64 (const gchar *name,
00339 const gchar *nick,
00340 const gchar *blurb,
00341 guint64 minimum,
00342 guint64 maximum,
00343 guint64 default_value,
00344 GParamFlags flags);
00345 IMPORT_C GParamSpec* g_param_spec_unichar (const gchar *name,
00346 const gchar *nick,
00347 const gchar *blurb,
00348 gunichar default_value,
00349 GParamFlags flags);
00350 IMPORT_C GParamSpec* g_param_spec_enum (const gchar *name,
00351 const gchar *nick,
00352 const gchar *blurb,
00353 GType enum_type,
00354 gint default_value,
00355 GParamFlags flags);
00356 IMPORT_C GParamSpec* g_param_spec_flags (const gchar *name,
00357 const gchar *nick,
00358 const gchar *blurb,
00359 GType flags_type,
00360 guint default_value,
00361 GParamFlags flags);
00362 IMPORT_C GParamSpec* g_param_spec_float (const gchar *name,
00363 const gchar *nick,
00364 const gchar *blurb,
00365 gfloat minimum,
00366 gfloat maximum,
00367 gfloat default_value,
00368 GParamFlags flags);
00369 IMPORT_C GParamSpec* g_param_spec_double (const gchar *name,
00370 const gchar *nick,
00371 const gchar *blurb,
00372 gdouble minimum,
00373 gdouble maximum,
00374 gdouble default_value,
00375 GParamFlags flags);
00376 IMPORT_C GParamSpec* g_param_spec_string (const gchar *name,
00377 const gchar *nick,
00378 const gchar *blurb,
00379 const gchar *default_value,
00380 GParamFlags flags);
00381 IMPORT_C GParamSpec* g_param_spec_param (const gchar *name,
00382 const gchar *nick,
00383 const gchar *blurb,
00384 GType param_type,
00385 GParamFlags flags);
00386 IMPORT_C GParamSpec* g_param_spec_boxed (const gchar *name,
00387 const gchar *nick,
00388 const gchar *blurb,
00389 GType boxed_type,
00390 GParamFlags flags);
00391 IMPORT_C GParamSpec* g_param_spec_pointer (const gchar *name,
00392 const gchar *nick,
00393 const gchar *blurb,
00394 GParamFlags flags);
00395 IMPORT_C GParamSpec* g_param_spec_value_array (const gchar *name,
00396 const gchar *nick,
00397 const gchar *blurb,
00398 GParamSpec *element_spec,
00399 GParamFlags flags);
00400 IMPORT_C GParamSpec* g_param_spec_object (const gchar *name,
00401 const gchar *nick,
00402 const gchar *blurb,
00403 GType object_type,
00404 GParamFlags flags);
00405 IMPORT_C GParamSpec* g_param_spec_override (const gchar *name,
00406 GParamSpec *overridden);
00407 IMPORT_C GParamSpec* g_param_spec_gtype (const gchar *name,
00408 const gchar *nick,
00409 const gchar *blurb,
00410 GType is_a_type,
00411 GParamFlags flags);
00412
00413
00414
00415
00416
00417 #ifndef GOBJECT_VAR
00418 # ifdef G_PLATFORM_WIN32
00419 # ifdef GOBJECT_STATIC_COMPILATION
00420 # define GOBJECT_VAR extern
00421 # else
00422 # ifdef GOBJECT_COMPILATION
00423 # ifdef DLL_EXPORT
00424 # define GOBJECT_VAR __declspec(dllexport)
00425 # else
00426 # define GOBJECT_VAR extern
00427 # endif
00428 # else
00429 # define GOBJECT_VAR extern __declspec(dllimport)
00430 # endif
00431 # endif
00432 # else
00433 # define GOBJECT_VAR extern
00434 # endif
00435 #endif
00436
00437 #ifdef SYMBIAN
00438 IMPORT_C GType ** _g_param_spec_types();
00439 #endif
00440 GOBJECT_VAR GType *g_param_spec_types;
00441
00442 G_END_DECLS
00443
00444 #endif