ermetadb_private.h

Go to the documentation of this file.
00001 #ifndef __ERMETADB_PRIVATE_H__
00002 #define __ERMETADB_PRIVATE_H__
00003 
00004 /**
00005  * File Name  : ermetadb_private.h
00006  *
00007  * Description: Private functions used by libermetadb internally
00008  */
00009 
00010 /*
00011  * This file is part of libermetadb.
00012  *
00013  * libermetadb is free software: you can redistribute it and/or modify
00014  * it under the terms of the GNU General Public License as published by
00015  * the Free Software Foundation, either version 2 of the License, or
00016  * (at your option) any later version.
00017  *
00018  * libermetadb is distributed in the hope that it will be useful,
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00021  * GNU General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU General Public License
00024  * along with this program. If not, see <http://www.gnu.org/licenses/>.
00025  */
00026 
00027 /**
00028  * Copyright (C) 2008 iRex Technologies B.V.
00029  * All rights reserved.
00030  */
00031 
00032 
00033 //----------------------------------------------------------------------------
00034 // Include Files
00035 //----------------------------------------------------------------------------
00036 
00037 #include "metadata_table_private.h"
00038 
00039 G_BEGIN_DECLS
00040 
00041 //----------------------------------------------------------------------------
00042 // Global Constants
00043 //----------------------------------------------------------------------------
00044 
00045 #define SQLITE_COLLATION_STRCASECMP     "IREX_CASE_INSENSITIVE"
00046 
00047 struct erMetadb_t
00048 {
00049     sqlite3      *database;              // sqlite3 handle to the physical database
00050 
00051     gchar*       directory;              // directory of db file
00052     gboolean     is_global;
00053     gboolean     readonly;
00054     unsigned int transaction_nesting;    // number of nested transactions in progress
00055     gboolean     is_transaction_readonly;// current transaction is read-only
00056     gboolean     do_force_rollback;      // force a rollback of the current transaction
00057 };
00058 
00059 
00060 //============================================================================
00061 // Public Functions
00062 //============================================================================
00063 
00064 /**---------------------------------------------------------------------------
00065  *
00066  * Name :  ermetadb_private_get_global_column_names
00067  *
00068  * @brief  Get column names for a specified SQL table name
00069  *
00070  * @param  [in]  table - name of the SQL table
00071  *
00072  * @return Pointer to a NULL-terminated array of column names
00073  *         or NULL when error
00074  *
00075  *--------------------------------------------------------------------------*/
00076 const char* const * ermetadb_private_get_global_column_names(const char* table);
00077 
00078 int local_delete_all_data_for_file(erMetadb thiz, const char* filename);
00079 
00080 int local_delete_all_data_for_id(erMetadb thiz, gint64 file_id);
00081 
00082 G_END_DECLS
00083 
00084 #endif // __ERMETADB_PRIVATE_H__
00085 
Generated by  doxygen 1.6.2-20100208