/* * Copyright (C) 2012 - Juan Ferrer Toribio * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #ifndef SQL_LIST_H #define SQL_LIST_H #define SQL_TYPE_LIST (sql_list_get_type ()) #define SQL_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, SQL_TYPE_LIST, SqlList)) #define SQL_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, SQL_TYPE_LIST)) typedef struct _SqlList SqlList; typedef struct _SqlListClass SqlListClass; #include "sql-object.h" struct _SqlList { SqlObject parent; GType gtype; GQueue items; }; struct _SqlListClass { /* */ SqlObjectClass parent; }; GType sql_list_get_type (); SqlList * sql_list_new (GType gtype); SqlList * sql_list_new_with_items (GType gtype, ...); void sql_list_add (SqlList * obj, gpointer item); void sql_list_insert (SqlList * obj, gpointer item, guint index); gpointer sql_list_get (SqlList * obj, guint index); void sql_list_remove (SqlList * obj, guint index); void sql_list_remove_item (SqlList * obj, SqlObject * item); GList * sql_list_get_items (SqlList * obj); GType sql_list_get_items_type (SqlList * obj); guint sql_list_length (SqlList * obj); #endif