00001 /* GObject - GLib Type, Object, Parameter and Signal Library 00002 * Copyright (C) 2001 Red Hat, Inc. 00003 * Portions copyright (c) 2006 Nokia Corporation. All rights reserved. 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General 00016 * Public License along with this library; if not, write to the 00017 * Free Software Foundation, Inc., 59 Temple Place, Suite 330, 00018 * Boston, MA 02111-1307, USA. 00019 * 00020 * gvaluearray.h: GLib array type holding GValues 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_VALUE_ARRAY_H__ 00027 #define __G_VALUE_ARRAY_H__ 00028 00029 #include <_ansi.h> 00030 #include <gobject/gvalue.h> 00031 00032 00033 G_BEGIN_DECLS 00034 00035 00036 /* --- typedefs & structs --- */ 00037 typedef struct _GValueArray GValueArray; 00038 struct _GValueArray 00039 { 00040 guint n_values; 00041 GValue *values; 00042 00043 /*< private >*/ 00044 guint n_prealloced; 00045 }; 00046 00047 00048 /* --- prototypes --- */ 00049 IMPORT_C GValue* g_value_array_get_nth (GValueArray *value_array, 00050 guint index_); 00051 IMPORT_C GValueArray* g_value_array_new (guint n_prealloced); 00052 IMPORT_C void g_value_array_free (GValueArray *value_array); 00053 IMPORT_C GValueArray* g_value_array_copy (const GValueArray *value_array); 00054 IMPORT_C GValueArray* g_value_array_prepend (GValueArray *value_array, 00055 const GValue *value); 00056 IMPORT_C GValueArray* g_value_array_append (GValueArray *value_array, 00057 const GValue *value); 00058 IMPORT_C GValueArray* g_value_array_insert (GValueArray *value_array, 00059 guint index_, 00060 const GValue *value); 00061 IMPORT_C GValueArray* g_value_array_remove (GValueArray *value_array, 00062 guint index_); 00063 IMPORT_C GValueArray* g_value_array_sort (GValueArray *value_array, 00064 GCompareFunc compare_func); 00065 IMPORT_C GValueArray* g_value_array_sort_with_data (GValueArray *value_array, 00066 GCompareDataFunc compare_func, 00067 gpointer user_data); 00068 00069 00070 G_END_DECLS 00071 00072 #endif /* __G_VALUE_ARRAY_H__ */