148 lines
No EOL
4.9 KiB
C#
148 lines
No EOL
4.9 KiB
C#
#define SQLITE_OS_WIN
|
|
|
|
namespace Community.CsharpSqlite
|
|
{
|
|
public partial class Sqlite3
|
|
{
|
|
/*
|
|
** 2007 August 28
|
|
**
|
|
** The author disclaims copyright to this source code. In place of
|
|
** a legal notice, here is a blessing:
|
|
**
|
|
** May you do good and not evil.
|
|
** May you find forgiveness for yourself and forgive others.
|
|
** May you share freely, never taking more than you give.
|
|
**
|
|
*************************************************************************
|
|
**
|
|
** This file contains the common header for all mutex implementations.
|
|
** The sqliteInt.h header #includes this file so that it is available
|
|
** to all source files. We break it out in an effort to keep the code
|
|
** better organized.
|
|
**
|
|
** NOTE: source files should *not* #include this header file directly.
|
|
** Source files should #include the sqliteInt.h file and let that file
|
|
** include this one indirectly.
|
|
*************************************************************************
|
|
** Included in SQLite3 port to C#-SQLite; 2008 Noah B Hart
|
|
** C#-SQLite is an independent reimplementation of the SQLite software library
|
|
**
|
|
** SQLITE_SOURCE_ID: 2010-12-07 20:14:09 a586a4deeb25330037a49df295b36aaf624d0f45
|
|
**
|
|
*************************************************************************
|
|
*/
|
|
|
|
/*
|
|
** Figure out what version of the code to use. The choices are
|
|
**
|
|
** SQLITE_MUTEX_OMIT No mutex logic. Not even stubs. The
|
|
** mutexes implemention cannot be overridden
|
|
** at start-time.
|
|
**
|
|
** SQLITE_MUTEX_NOOP For single-threaded applications. No
|
|
** mutual exclusion is provided. But this
|
|
** implementation can be overridden at
|
|
** start-time.
|
|
**
|
|
** SQLITE_MUTEX_PTHREADS For multi-threaded applications on Unix.
|
|
**
|
|
** SQLITE_MUTEX_W32 For multi-threaded applications on Win32.
|
|
**
|
|
** SQLITE_MUTEX_OS2 For multi-threaded applications on OS/2.
|
|
*/
|
|
|
|
//#if !SQLITE_THREADSAFE
|
|
//# define SQLITE_MUTEX_OMIT
|
|
//#endif
|
|
//#if SQLITE_THREADSAFE && !defined(SQLITE_MUTEX_NOOP)
|
|
//# if SQLITE_OS_UNIX
|
|
//# define SQLITE_MUTEX_PTHREADS
|
|
//# elif SQLITE_OS_WIN
|
|
//# define SQLITE_MUTEX_W32
|
|
//# elif SQLITE_OS_OS2
|
|
//# define SQLITE_MUTEX_OS2
|
|
//# else
|
|
//# define SQLITE_MUTEX_NOOP
|
|
//# endif
|
|
//#endif
|
|
|
|
#if WINDOWS_PHONE && SQLITE_THREADSAFE
|
|
#error Cannot compile with both WINDOWS_PHONE and SQLITE_THREADSAFE
|
|
#endif
|
|
|
|
#if SQLITE_SILVERLIGHT && SQLITE_THREADSAFE
|
|
#error Cannot compile with both SQLITE_SILVERLIGHT and SQLITE_THREADSAFE
|
|
#endif
|
|
|
|
#if SQLITE_WINRT && SQLITE_THREADSAFE
|
|
#error Cannot compile with both SQLITE_WINRT and SQLITE_THREADSAFE
|
|
#endif
|
|
|
|
#if SQLITE_THREADSAFE && SQLITE_MUTEX_NOOP
|
|
#error Cannot compile with both SQLITE_THREADSAFE and SQLITE_MUTEX_NOOP
|
|
#endif
|
|
|
|
#if SQLITE_THREADSAFE && SQLITE_MUTEX_OMIT
|
|
#error Cannot compile with both SQLITE_THREADSAFE and SQLITE_MUTEX_OMIT
|
|
#endif
|
|
|
|
#if SQLITE_MUTEX_OMIT && SQLITE_MUTEX_NOOP
|
|
#error Cannot compile with both SQLITE_MUTEX_OMIT and SQLITE_MUTEX_NOOP
|
|
#endif
|
|
|
|
#if SQLITE_MUTEX_OMIT && SQLITE_MUTEX_W32
|
|
#error Cannot compile with both SQLITE_MUTEX_OMIT and SQLITE_MUTEX_W32
|
|
#endif
|
|
|
|
#if SQLITE_MUTEX_NOOP && SQLITE_MUTEX_W32
|
|
#error Cannot compile with both SQLITE_MUTEX_NOOP and SQLITE_MUTEX_W32
|
|
#endif
|
|
|
|
#if SQLITE_MUTEX_OMIT
|
|
/*
|
|
** If this is a no-op implementation, implement everything as macros.
|
|
*/
|
|
public class sqlite3_mutex
|
|
{
|
|
}
|
|
static sqlite3_mutex mutex = null; //sqlite3_mutex sqlite3_mutex;
|
|
static sqlite3_mutex sqlite3MutexAlloc( int iType )
|
|
{
|
|
return new sqlite3_mutex();
|
|
}//#define sqlite3MutexAlloc(X) ((sqlite3_mutex*)8)
|
|
static sqlite3_mutex sqlite3_mutex_alloc( int iType )
|
|
{
|
|
return new sqlite3_mutex();
|
|
}//#define sqlite3_mutex_alloc(X) ((sqlite3_mutex*)8)
|
|
static void sqlite3_mutex_free( sqlite3_mutex m )
|
|
{
|
|
} //#define sqlite3_mutex_free(X)
|
|
static void sqlite3_mutex_enter( sqlite3_mutex m )
|
|
{
|
|
} //#define sqlite3_mutex_enter(X)
|
|
static int sqlite3_mutex_try( int iType )
|
|
{
|
|
return SQLITE_OK;
|
|
} //#define sqlite3_mutex_try(X) SQLITE_OK
|
|
static void sqlite3_mutex_leave( sqlite3_mutex m )
|
|
{
|
|
} //#define sqlite3_mutex_leave(X)
|
|
static bool sqlite3_mutex_held( sqlite3_mutex m )
|
|
{
|
|
return true;
|
|
}//#define sqlite3_mutex_held(X) ((void)(X),1)
|
|
static bool sqlite3_mutex_notheld( sqlite3_mutex m )
|
|
{
|
|
return true;
|
|
} //#define sqlite3_mutex_notheld(X) ((void)(X),1)
|
|
static int sqlite3MutexInit()
|
|
{
|
|
return SQLITE_OK;
|
|
} //#define sqlite3MutexInit() SQLITE_OK
|
|
static void sqlite3MutexEnd()
|
|
{
|
|
} //#define sqlite3MutexEnd()
|
|
#endif //* defined(SQLITE_MUTEX_OMIT) */
|
|
}
|
|
} |