示例#1
0
        public BerkeleyDbError Open([FromUri] ulong handle, [FromUri] String name, [FromUri] String flags)
        {
            DbHandle            db        = GetDb(handle);
            BerkeleyDbOpenFlags openFlags = BerkeleyEnumParser.OpenFlags(flags);

            return(db.Methods.Open(db.Handle, name, openFlags));
        }
示例#2
0
        public async Task<BerkeleyError> OpenAsync(String name, BerkeleyDbOpenFlags flags)
        {
            BerkeleyResult<long> result = await _methods.CreateDb(this, _flags).ConfigureAwait(false);
            if (result.HasError)
                return result.Error;

            _handle = result.Result;
            return await _methods.OpenDbAsync(this, name, flags).ConfigureAwait(false);
        }
        public override async Task<BerkeleyError> OpenDbAsync(BerkeleyDb db, String name, BerkeleyDbOpenFlags flags)
        {
            var requesrUri = "api/database/open/?handle=" + db.Handle.ToString() + "&name=" + name + "&flags=" + flags.ToStringEx();
            HttpResponseMessage response = await _httpClient.GetAsync(requesrUri).ConfigureAwait(false);
            if (!response.IsSuccessStatusCode)
                return new BerkeleyError(response.StatusCode);

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);
            return new BerkeleyError(error);
        }
        public static BerkeleyDbOpenFlags OpenFlags(String flags)
        {
            BerkeleyDbOpenFlags value = 0;

            foreach (String flag in flags.Split(','))
            {
                value |= (BerkeleyDbOpenFlags)Enum.Parse(typeof(BerkeleyDbOpenFlags), flags, true);
            }
            return(value);
        }
示例#5
0
        public async Task <BerkeleyError> OpenAsync(String name, BerkeleyDbOpenFlags flags)
        {
            BerkeleyResult <long> result = await _methods.CreateDb(this, _flags).ConfigureAwait(false);

            if (result.HasError)
            {
                return(result.Error);
            }

            _handle = result.Result;
            return(await _methods.OpenDbAsync(this, name, flags).ConfigureAwait(false));
        }
示例#6
0
        public static String ToStringEx(this BerkeleyDbOpenFlags flags)
        {
            var flagsBuilder = new StringBuilder();

            if ((flags & BerkeleyDbOpenFlags.DB_AUTO_COMMIT) != 0)
            {
                flagsBuilder.Append("db_auto_commit,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_CREATE) != 0)
            {
                flagsBuilder.Append("db_create,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_EXCL) != 0)
            {
                flagsBuilder.Append("db_excl,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_MULTIVERSION) != 0)
            {
                flagsBuilder.Append("db_multiversion,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_NOMMAP) != 0)
            {
                flagsBuilder.Append("db_nommap,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_RDONLY) != 0)
            {
                flagsBuilder.Append("db_rdonly,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_READ_UNCOMMITTED) != 0)
            {
                flagsBuilder.Append("db_read_uncommitted,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_THREAD) != 0)
            {
                flagsBuilder.Append("db_thread,");
            }
            if ((flags & BerkeleyDbOpenFlags.DB_TRUNCATE) != 0)
            {
                flagsBuilder.Append("db_truncate,");
            }

            flagsBuilder.Length--;
            return(flagsBuilder.ToString());
        }
示例#7
0
 public BerkeleyDbError Open(IntPtr pdb, String fileName, BerkeleyDbOpenFlags flags)
 {
     Byte[] fileNameUtf8 = Encoding.UTF8.GetBytes(fileName);
     return (BerkeleyDbError)_open(pdb, IntPtr.Zero, fileNameUtf8, null, (int)_dbType, (uint)flags, 0);
 }
 public abstract Task <BerkeleyError> OpenDbAsync(BerkeleyDb db, String name, BerkeleyDbOpenFlags flags);
 public abstract Task<BerkeleyError> OpenDbAsync(BerkeleyDb db, String name, BerkeleyDbOpenFlags flags);
示例#10
0
        public override async Task <BerkeleyError> OpenDbAsync(BerkeleyDb db, String name, BerkeleyDbOpenFlags flags)
        {
            var requesrUri = "api/database/open/?handle=" + db.Handle.ToString() + "&name=" + name + "&flags=" + flags.ToStringEx();
            HttpResponseMessage response = await _httpClient.GetAsync(requesrUri).ConfigureAwait(false);

            if (!response.IsSuccessStatusCode)
            {
                return(new BerkeleyError(response.StatusCode));
            }

            BerkeleyDbError error = await SerializeHelper.GetErrorAsync(_serializer, response.Content).ConfigureAwait(false);

            return(new BerkeleyError(error));
        }
示例#11
0
 public BerkeleyDbError Open(IntPtr pdb, String fileName, BerkeleyDbOpenFlags flags)
 {
     Byte[] fileNameUtf8 = Encoding.UTF8.GetBytes(fileName);
     return((BerkeleyDbError)_open(pdb, IntPtr.Zero, fileNameUtf8, null, (int)_dbType, (uint)flags, 0));
 }