1/*-
2 * See the file LICENSE for redistribution information.
3 *
4 * Copyright (c) 2009 Oracle.  All rights reserved.
5 *
6 */
7using System;
8using System.Collections.Generic;
9using System.Text;
10using CSharp_API.Internal;
11
12namespace CSharp_API
13{
14    public class LockDetectMode
15    {
16        public static LockDetectMode DEFAULT = new LockDetectMode(DbConstants.DB_LOCK_DEFAULT);
17        public static LockDetectMode EXPIRE = new LockDetectMode(DbConstants.DB_LOCK_EXPIRE);
18        public static LockDetectMode MAXLOCKS = new LockDetectMode(DbConstants.DB_LOCK_MAXLOCKS);
19        public static LockDetectMode MAXWRITE = new LockDetectMode(DbConstants.DB_LOCK_MAXWRITE);
20        public static LockDetectMode MINLOCKS = new LockDetectMode(DbConstants.DB_LOCK_MINLOCKS);
21        public static LockDetectMode MINWRITE = new LockDetectMode(DbConstants.DB_LOCK_MINWRITE);
22        public static LockDetectMode OLDEST = new LockDetectMode(DbConstants.DB_LOCK_OLDEST);
23        public static LockDetectMode RANDOM = new LockDetectMode(DbConstants.DB_LOCK_RANDOM);
24        public static LockDetectMode YOUNGEST = new LockDetectMode(DbConstants.DB_LOCK_YOUNGEST);
25
26        private uint mode;
27
28        internal static uint GetMode(LockDetectMode ldm)
29        {
30            return ldm == null ? 0 : ldm.mode;
31        }
32
33
34        private LockDetectMode(uint detectMode)
35        {
36            mode = detectMode;
37        }
38    }
39}
40