public static BDbcMethods GetMethods(BerkeleyDbType dbType) { BDbcMethods methods = GetMethodsInternal(dbType); if (methods == null) { throw new InvalidOperationException("must call DbcMethods.Create"); } return(methods); }
private static BDbcMethods CreateMethods(BerkeleyDbType dbType, IntPtr pdbc, BDbOffsetOf offsetOf) { BDbcMethods dbcMethods = GetMethodsInternal(dbType); if (dbcMethods == null) { lock (typeof(BDbcMethods)) { dbcMethods = GetMethodsInternal(dbType); if (dbcMethods == null) { dbcMethods = new BDbcMethods(pdbc, offsetOf, dbType); switch (dbType) { case BerkeleyDbType.DB_BTREE: _btree = dbcMethods; break; case BerkeleyDbType.DB_HASH: _hash = dbcMethods; break; case BerkeleyDbType.DB_RECNO: _recno = dbcMethods; break; case BerkeleyDbType.DB_QUEUE: _queue = dbcMethods; break; case BerkeleyDbType.DB_UNKNOWN: _unknown = dbcMethods; break; case BerkeleyDbType.DB_HEAP: _heap = dbcMethods; break; } } } } return(dbcMethods); }
private static BDbcMethods CreateMethods(BerkeleyDbType dbType, IntPtr pdbc, BDbOffsetOf offsetOf) { BDbcMethods dbcMethods = GetMethodsInternal(dbType); if (dbcMethods == null) { lock (typeof(BDbcMethods)) { dbcMethods = GetMethodsInternal(dbType); if (dbcMethods == null) { dbcMethods = new BDbcMethods(pdbc, offsetOf, dbType); switch (dbType) { case BerkeleyDbType.DB_BTREE: _btree = dbcMethods; break; case BerkeleyDbType.DB_HASH: _hash = dbcMethods; break; case BerkeleyDbType.DB_RECNO: _recno = dbcMethods; break; case BerkeleyDbType.DB_QUEUE: _queue = dbcMethods; break; case BerkeleyDbType.DB_UNKNOWN: _unknown = dbcMethods; break; case BerkeleyDbType.DB_HEAP: _heap = dbcMethods; break; } } } } return dbcMethods; }
public DbcHandle(IntPtr pdbc, BDbcMethods methods) { Handle = pdbc; Methods = methods; }