예제 #1
0
 public SafeSqliteBlobHandle(SafeSqliteHandle sqliteHandle, sqlite3_blob?wrapper)
     : base(invalidHandleValue: IntPtr.Zero, ownsHandle: true)
 {
     _wrapper = wrapper;
     SetHandle(wrapper?.ptr ?? IntPtr.Zero);
     _lease = sqliteHandle.Lease();
 }
예제 #2
0
 public SafeSqliteHandle(sqlite3?wrapper)
     : base(invalidHandleValue: IntPtr.Zero, ownsHandle: true)
 {
     _wrapper = wrapper;
     if (wrapper is not null)
     {
         _lease = wrapper.Lease();
         SetHandle(wrapper.DangerousGetHandle());
     }
     else
     {
         _lease = default;
         SetHandle(IntPtr.Zero);
     }
 }
예제 #3
0
        public SafeSqliteStatementHandle(SafeSqliteHandle sqliteHandle, sqlite3_stmt?wrapper)
            : base(invalidHandleValue: IntPtr.Zero, ownsHandle: true)
        {
            _wrapper = wrapper;
            if (wrapper is not null)
            {
                _lease = wrapper.Lease();
                SetHandle(wrapper.DangerousGetHandle());
            }
            else
            {
                _lease = default;
                SetHandle(IntPtr.Zero);
            }

            _sqliteLease = sqliteHandle.Lease();
        }
예제 #4
0
 protected SafeSqliteChildHandle(SafeHandle parentHandle, IntPtr handle, T?wrapper)
     : base(handle, wrapper)
 {
     _lease = parentHandle.Lease();
 }