internal authorizer_hook_info(delegate_authorizer func, object v) { _func = func; _user_data = v; _h = GCHandle.Alloc(this); }
internal void free() { _func = null; _user_data = null; _h.Free(); }
int ISQLite3Provider.sqlite3_set_authorizer(IntPtr db, delegate_authorizer func, object v) { throw new Exception(GRIPE); }
static public int sqlite3_set_authorizer(sqlite3 db, delegate_authorizer authorizer, object user_data) { return(_imp.sqlite3_set_authorizer(db.ptr, authorizer, user_data)); }
public authorizer_hook_info(delegate_authorizer func, object v) { _func = func; _user_data = v; }
int ISQLite3Provider.sqlite3_set_authorizer (IntPtr db, delegate_authorizer func, object v) { var info = hooks.getOrCreateFor (db); if (info.authorizer != null) { // TODO maybe turn off the hook here, for now info.authorizer.free (); info.authorizer = null; } if (func != null) { info.authorizer = new authorizer_hook_info (func, v); return NativeMethods.sqlite3_set_authorizer (db, authorizer_hook_bridge, info.authorizer.ptr); } else { return NativeMethods.sqlite3_set_authorizer (db, null, IntPtr.Zero); } }
public int sqlite3_set_authorizer(IntPtr db, delegate_authorizer authorizer, object user_data) => throw new NotImplementedException();
int ISQLite3Provider.sqlite3_set_authorizer(IntPtr db, delegate_authorizer func, object v) { var info = hooks.getOrCreateFor(db); if (info.authorizer != null) { // TODO maybe turn off the hook here, for now info.authorizer.free(); info.authorizer = null; } if (func != null) { info.authorizer = new authorizer_hook_info(func, v); return SQLite3RuntimeProvider.sqlite3_set_authorizer(db.ToInt64(), Marshal.GetFunctionPointerForDelegate(authorizer_hook_bridge).ToInt64(), info.authorizer.ptr.ToInt64()); } else { return SQLite3RuntimeProvider.sqlite3_set_authorizer(db.ToInt64(), IntPtr.Zero.ToInt64(), IntPtr.Zero.ToInt64()); } }
static public int sqlite3_set_authorizer(sqlite3 db, delegate_authorizer authorizer, object user_data) { return _imp.sqlite3_set_authorizer(db.ptr, authorizer, user_data); }