コード例 #1
0
        internal commit_hook_info(delegate_commit func, object v)
        {
            _func      = func;
            _user_data = v;

            _h = GCHandle.Alloc(this);
        }
コード例 #2
0
        void ISQLite3Provider.sqlite3_commit_hook(IntPtr db, delegate_commit func, object v)
        {
            if (_commit_hook != null)
            {
                // TODO maybe turn off the hook here, for now
                _commit_hook.free();
                _commit_hook = null;
            }

            if (func != null)
            {
                _commit_hook = new commit_hook_info(func, v);
                SQLite3RuntimeProvider.sqlite3_commit_hook(db.ToInt64(), Marshal.GetFunctionPointerForDelegate(new callback_commit(commit_hook_bridge)).ToInt64(), _commit_hook.ptr.ToInt64());
            }
            else
            {
                SQLite3RuntimeProvider.sqlite3_commit_hook(db.ToInt64(), IntPtr.Zero.ToInt64(), IntPtr.Zero.ToInt64());
            }
        }
コード例 #3
0
 internal void free()
 {
     _func      = null;
     _user_data = null;
     _h.Free();
 }
コード例 #4
0
 void ISQLite3Provider.sqlite3_commit_hook(IntPtr db, delegate_commit func, object v)
 {
     throw new Exception(GRIPE);
 }
コード例 #5
0
ファイル: callbacks.cs プロジェクト: medicomp/SQLitePCL.raw
 public commit_hook_info(delegate_commit func, object v)
 {
     _func      = func;
     _user_data = v;
 }
コード例 #6
0
 static public void sqlite3_commit_hook(sqlite3 db, delegate_commit f, object v)
 {
     _imp.sqlite3_commit_hook(db.ptr, f, v);
 }
コード例 #7
0
        void ISQLite3Provider.sqlite3_commit_hook (IntPtr db, delegate_commit func, object v)
        {
            var info = hooks.getOrCreateFor (db);
            if (info.commit != null) {
                // TODO maybe turn off the hook here, for now
                info.commit.free ();
                info.commit = null;
            }

            if (func != null) {
                info.commit = new commit_hook_info (func, v);
                NativeMethods.sqlite3_commit_hook (db, commit_hook_bridge, info.commit.ptr);
            } else {
                NativeMethods.sqlite3_commit_hook (db, null, IntPtr.Zero);
            }
        }
コード例 #8
0
ファイル: raw.cs プロジェクト: shiftkey/SQLitePCL.raw
 static public void sqlite3_commit_hook(sqlite3 db, delegate_commit f, object v)
 {
     _imp.sqlite3_commit_hook(db.ptr, f, v);
 }
コード例 #9
0
 public static void commit_hook(this sqlite3 db, delegate_commit f, object v)
 {
     raw.sqlite3_commit_hook(db, f, v);
 }
コード例 #10
0
ファイル: util.cs プロジェクト: zgramana/SQLitePCL.raw
 internal void free()
 {
     _func = null;
     _user_data = null;
     _h.Free();
 }
コード例 #11
0
ファイル: util.cs プロジェクト: zgramana/SQLitePCL.raw
        internal commit_hook_info(delegate_commit func, object v)
        {
            _func = func;
            _user_data = v;

            _h = GCHandle.Alloc(this);
        }
コード例 #12
0
 public void sqlite3_commit_hook(IntPtr db, delegate_commit func, object v) => throw new NotImplementedException();
コード例 #13
0
        void ISQLite3Provider.sqlite3_commit_hook(IntPtr db, delegate_commit func, object v)
        {
            if (_commit_hook != null)
            {
                // TODO maybe turn off the hook here, for now
                _commit_hook.free();
                _commit_hook = null;
            }

            if (func != null)
            {
                _commit_hook = new commit_hook_info(func, v);
                NativeMethods.sqlite3_commit_hook(db, commit_hook_bridge, _commit_hook.ptr);
            }
            else
            {
                NativeMethods.sqlite3_commit_hook(db, null, IntPtr.Zero);
            }
        }
コード例 #14
0
        void ISQLite3Provider.sqlite3_commit_hook(IntPtr db, delegate_commit func, object v)
        {
		var info = hooks.getOrCreateFor(db);
            if (info.commit != null)
            {
                // TODO maybe turn off the hook here, for now
                info.commit.free();
                info.commit = null;
            }

            if (func != null)
            {
                info.commit = new commit_hook_info(func, v);
                SQLite3RuntimeProvider.sqlite3_commit_hook(db.ToInt64(), Marshal.GetFunctionPointerForDelegate(commit_hook_bridge).ToInt64(), info.commit.ptr.ToInt64());
            }
            else
            {
                SQLite3RuntimeProvider.sqlite3_commit_hook(db.ToInt64(), IntPtr.Zero.ToInt64(), IntPtr.Zero.ToInt64());
            }
        }
コード例 #15
0
        void ISQLite3Provider.sqlite3_commit_hook(IntPtr db, delegate_commit func, object v)
        {
	    throw new Exception(GRIPE);
        }
コード例 #16
0
        void ISQLite3Provider.sqlite3_commit_hook(IntPtr db, delegate_commit func, object v)
        {
            if (_commit_hook != null)
            {
                // TODO maybe turn off the hook here, for now
                _commit_hook.free();
                _commit_hook = null;
            }

            if (func != null)
            {
                _commit_hook = new commit_hook_info(func, v);
                SQLite3RuntimeProvider.sqlite3_commit_hook(db.ToInt64(), Marshal.GetFunctionPointerForDelegate(new callback_commit(commit_hook_bridge)).ToInt64(), _commit_hook.ptr.ToInt64());
            }
            else
            {
                SQLite3RuntimeProvider.sqlite3_commit_hook(db.ToInt64(), IntPtr.Zero.ToInt64(), IntPtr.Zero.ToInt64());
            }
        }