/* Tidbit * Copyright (C) 2010 Charlie Brej tidbit@brej.org * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3.0 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ #ifndef _TIDBIT_DATABASE_H_ #define _TIDBIT_DATABASE_H_ #include "tidbit.h" #include "tidbit-query.h" #include "tidbit-guid.h" typedef struct TidbitDatabaseFunctions{ void (*free) (PtrTidbitDatabase database); unsigned int (*insert) (PtrTidbitDatabase database, PtrTidbitRecord record); PtrTidbitRecord (*fetch) (PtrTidbitDatabase database, PtrTidbitGuid guid); PtrTidbitGuidSet (*query) (PtrTidbitDatabase database, PtrTidbitQuery query); }TidbitDatabaseFunctions, *PtrTidbitDatabaseFunctions; struct _TidbitDatabase{ int ref_count; gpointer backend; PtrTidbitDatabaseFunctions functions; }; PtrTidbitDatabase tidbit_database_new (gpointer backend, PtrTidbitDatabaseFunctions functions); /* In tidbit.h void tidbit_database_ref (PtrTidbitDatabase database); void tidbit_database_unref (PtrTidbitDatabase database); unsigned int tidbit_database_insert_record (PtrTidbitDatabase database, PtrTidbitRecord record); PtrTidbitRecord tidbit_database_fetch_record (PtrTidbitDatabase database, PtrTidbitGuid guid); PtrTidbitGuidSet tidbit_database_query (PtrTidbitDatabase database, PtrTidbitQuery query); */ #endif