Exemple #1
0
        static Native()
        {
            _libraryFacade = Environment.Is64BitProcess
                ? new Native64BitLibraryFacade()
                : (INativeLibraryFacade) new Native32BitLibraryFacade();

            Exception archSpecificException;

            _libraryVersion = GetVersionInfo(_libraryFacade, out archSpecificException);

            if (archSpecificException != null)
            {
                Exception fallbackException;

                var fallbackLibrary = new FallbackLibraryFacade();
                _libraryVersion = GetVersionInfo(fallbackLibrary, out fallbackException);

                if (fallbackException != null)
                {
                    throw archSpecificException;
                }

                _libraryFacade = fallbackLibrary;
            }
        }
Exemple #2
0
        static Native()
        {
            _libraryFacade = Environment.Is64BitProcess
                ? new Native64BitLibraryFacade()
                : (INativeLibraryFacade) new Native32BitLibraryFacade();

            Exception archSpecificException;
            _libraryVersion = GetVersionInfo(_libraryFacade, out archSpecificException);

            if (archSpecificException != null)
            {
                Exception fallbackException;

                var fallbackLibrary = new FallbackLibraryFacade();
                _libraryVersion = GetVersionInfo(fallbackLibrary, out fallbackException);

                if (fallbackException != null)
                    throw archSpecificException;

                _libraryFacade = fallbackLibrary;
            }
        }
Exemple #3
0
 int INativeLibraryFacade.mdb_env_sync(IntPtr env, bool force)
 {
     return(FallbackLibraryFacade.mdb_env_sync(env, force));
 }
Exemple #4
0
 int INativeLibraryFacade.mdb_env_open(IntPtr env, string path, EnvironmentOpenFlags flags, int mode)
 {
     return(FallbackLibraryFacade.mdb_env_open(env, path, flags, mode));
 }
Exemple #5
0
 int INativeLibraryFacade.mdb_env_copy(IntPtr env, string path)
 {
     return(FallbackLibraryFacade.mdb_env_copy(env, path));
 }
Exemple #6
0
 int INativeLibraryFacade.mdb_cursor_get(IntPtr cursor, ref ValueStructure key, ref ValueStructure data, CursorOperation op)
 {
     return(FallbackLibraryFacade.mdb_cursor_get(cursor, ref key, ref data, op));
 }
Exemple #7
0
 int INativeLibraryFacade.mdb_cursor_del(IntPtr cursor, CursorDeleteOption flags)
 {
     return(FallbackLibraryFacade.mdb_cursor_del(cursor, flags));
 }
Exemple #8
0
 int INativeLibraryFacade.mdb_del(IntPtr txn, uint dbi, ref ValueStructure key, IntPtr data)
 {
     return(FallbackLibraryFacade.mdb_del(txn, dbi, ref key, data));
 }
Exemple #9
0
 void INativeLibraryFacade.mdb_cursor_close(IntPtr cursor)
 {
     FallbackLibraryFacade.mdb_cursor_close(cursor);
 }
Exemple #10
0
 int INativeLibraryFacade.mdb_drop(IntPtr txn, uint dbi, bool del)
 {
     return(FallbackLibraryFacade.mdb_drop(txn, dbi, del));
 }
Exemple #11
0
 int INativeLibraryFacade.mdb_txn_begin(IntPtr env, IntPtr parent, TransactionBeginFlags flags, out IntPtr txn)
 {
     return(FallbackLibraryFacade.mdb_txn_begin(env, parent, flags, out txn));
 }
Exemple #12
0
 int INativeLibraryFacade.mdb_dbi_open(IntPtr txn, string name, DatabaseOpenFlags flags, out uint db)
 {
     return(FallbackLibraryFacade.mdb_dbi_open(txn, name, flags, out db));
 }
Exemple #13
0
 void INativeLibraryFacade.mdb_dbi_close(IntPtr env, uint dbi)
 {
     FallbackLibraryFacade.mdb_dbi_close(env, dbi);
 }
Exemple #14
0
 int INativeLibraryFacade.mdb_env_set_maxdbs(IntPtr env, uint dbs)
 {
     return(FallbackLibraryFacade.mdb_env_set_maxdbs(env, dbs));
 }
Exemple #15
0
 int INativeLibraryFacade.mdb_env_set_maxreaders(IntPtr env, uint readers)
 {
     return(FallbackLibraryFacade.mdb_env_set_maxreaders(env, readers));
 }
Exemple #16
0
 int INativeLibraryFacade.mdb_env_set_mapsize(IntPtr env, int size)
 {
     return(FallbackLibraryFacade.mdb_env_set_mapsize(env, size));
 }
Exemple #17
0
 int INativeLibraryFacade.mdb_get(IntPtr txn, uint dbi, ref ValueStructure key, out ValueStructure data)
 {
     return(FallbackLibraryFacade.mdb_get(txn, dbi, ref key, out data));
 }
Exemple #18
0
 int INativeLibraryFacade.mdb_txn_commit(IntPtr txn)
 {
     return(FallbackLibraryFacade.mdb_txn_commit(txn));
 }
Exemple #19
0
 int INativeLibraryFacade.mdb_put(IntPtr txn, uint dbi, ref ValueStructure key, ref ValueStructure data, PutOptions flags)
 {
     return(FallbackLibraryFacade.mdb_put(txn, dbi, ref key, ref data, flags));
 }
Exemple #20
0
 void INativeLibraryFacade.mdb_txn_reset(IntPtr txn)
 {
     FallbackLibraryFacade.mdb_txn_reset(txn);
 }
Exemple #21
0
 int INativeLibraryFacade.mdb_cursor_open(IntPtr txn, uint dbi, out IntPtr cursor)
 {
     return(FallbackLibraryFacade.mdb_cursor_open(txn, dbi, out cursor));
 }
Exemple #22
0
 int INativeLibraryFacade.mdb_txn_renew(IntPtr txn)
 {
     return(FallbackLibraryFacade.mdb_txn_renew(txn));
 }
Exemple #23
0
 int INativeLibraryFacade.mdb_cursor_renew(IntPtr txn, IntPtr cursor)
 {
     return(FallbackLibraryFacade.mdb_cursor_renew(txn, cursor));
 }
Exemple #24
0
 int INativeLibraryFacade.mdb_env_create(out IntPtr env)
 {
     return(FallbackLibraryFacade.mdb_env_create(out env));
 }
Exemple #25
0
 int INativeLibraryFacade.mdb_cursor_put(IntPtr cursor, ValueStructure key, ValueStructure data, PutOptions flags)
 {
     return(FallbackLibraryFacade.mdb_cursor_put(cursor, key, data, flags));
 }
Exemple #26
0
 IntPtr INativeLibraryFacade.mdb_strerror(int err)
 {
     return(FallbackLibraryFacade.mdb_strerror(err));
 }
Exemple #27
0
 IntPtr INativeLibraryFacade.mdb_version(out IntPtr major, out IntPtr minor, out IntPtr patch)
 {
     return(FallbackLibraryFacade.mdb_version(out major, out minor, out patch));
 }
Exemple #28
0
 void INativeLibraryFacade.mdb_env_close(IntPtr env)
 {
     FallbackLibraryFacade.mdb_env_close(env);
 }