Beispiel #1
0
 public static void Close(this Solution sol, CloseOptions options)
 {
     var save = (options & CloseOptions.Save) == CloseOptions.Save;
     var wait = (options & CloseOptions.Wait) == CloseOptions.Wait;
     sol.Close(save);
     if (wait) WaitFor(null, () => sol.IsOpen == false, waitFor: TimeSpan.FromSeconds(20));
 }
        public void close(CloseOptions options, ICallback success, ICallback error)
        {
            QueueWithCancellation(() =>
            {
                var dbFileName = options.Path;

                if (dbFileName == null)
                {
                    error.Invoke("You must specify database path");
                    return(Task.CompletedTask);
                }

                if (!_openDBs.ContainsKey(dbFileName))
                {
                    error.Invoke("Specified db was not open");
                    return(Task.CompletedTask);
                }

                var dbInfo = _openDBs[dbFileName];
                _openDBs.Remove(dbFileName);

                if (_sqliteAPI.Close(dbInfo.Handle) != SQLite.Net.Interop.Result.OK)
                {
                    System.Diagnostics.Debug.WriteLine("SQLitePluginModule: Error closing database: " + dbInfo.Path);
                }

                success.Invoke("DB closed");
                return(Task.CompletedTask);
            });
        }
Beispiel #3
0
        public static void Close(this Solution sol, CloseOptions options)
        {
            var save = (options & CloseOptions.Save) == CloseOptions.Save;
            var wait = (options & CloseOptions.Wait) == CloseOptions.Wait;

            sol.Close(save);
            if (wait)
            {
                WaitFor(null, () => sol.IsOpen == false, waitFor: TimeSpan.FromSeconds(20));
            }
        }
Beispiel #4
0
        public static BlockStream Read(Stream baseStream, Stream wrapper, Action wrapperFlush, CloseOptions closeOption)
        {
            var block = new BlockStream()
            {
                _readMode         = true,
                _baseStream       = baseStream,
                _pointerPosition  = baseStream.Position,
                _wrapperFlush     = wrapperFlush,
                _closeOption      = closeOption,
                _wrapper          = wrapper,
                _blockEndPosition = baseStream.ReadInt64(),
            };

            block._length = block._blockEndPosition - sizeof(Int64) - block._pointerPosition;
            return(block);
        }
Beispiel #5
0
        public static BlockStream Create(Stream baseStream, Stream wrapper, Action wrapperFlush, CloseOptions closeOption)
        {
            var block = new BlockStream()
            {
                _baseStream      = baseStream,
                _pointerPosition = baseStream.Length,
                _wrapperFlush    = wrapperFlush,
                _closeOption     = closeOption,
                _wrapper         = wrapper
            };

            baseStream.WriteInt64(0);
            return(block);
        }