/* * Copyright (C) 2013 - 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_BATCH_H #define SQL_BATCH_H #include #define SQL_TYPE_BATCH (sql_batch_get_type ()) #define SQL_BATCH(self) (G_TYPE_CHECK_INSTANCE_CAST (self, SQL_TYPE_BATCH, SqlBatch)) #define SQL_IS_BATCH(self) (G_TYPE_CHECK_INSTANCE_TYPE (self, SQL_TYPE_BATCH)) #define SQL_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, SQL_TYPE_BATCH, SqlBatchClass)) #define SQL_BATCH_GET_CLASS(self) (G_TYPE_INSTANCE_GET_CLASS (self, SQL_TYPE_BATCH, SqlBatchClass)) typedef struct _SqlBatch SqlBatch; typedef struct _SqlBatchClass SqlBatchClass; struct _SqlBatch { GInitiallyUnowned parent; GHashTable * items; gboolean frozen; }; struct _SqlBatchClass { /* */ GInitiallyUnownedClass parent; }; #include "sql-object.h" GType sql_batch_get_type (); SqlBatch * sql_batch_new (); gboolean sql_batch_is_ready (SqlBatch * self); SqlObject * sql_batch_get (SqlBatch * self, const gchar * id); void sql_batch_add (SqlBatch * self, const gchar * id, SqlObject * item); void sql_batch_add_from_param (SqlBatch * self, const gchar * id, GvnParam * param); void sql_batch_add_from_value (SqlBatch * self, const gchar * id, const GValue * value); void sql_batch_remove (SqlBatch * self, const gchar * id); void sql_batch_merge (SqlBatch * self, SqlBatch * batch); void sql_batch_changed (SqlBatch * self); void sql_batch_freeze (SqlBatch * self); void sql_batch_unfreeze (SqlBatch * self); #endif