public ReplicatorStateChangedCallback(Action <C4ReplicatorStatus, object> callback, object context) { var nextId = Interlocked.Increment(ref _NextID); _id = nextId; _callback = callback; _context = context; _StaticMap[_id] = this; NativeCallback = new C4ReplicatorStateChangedCallback(StateChanged); NativeContext = (void *)nextId; }
public static extern C4Replicator *c4repl_new(C4Database *db, C4Address remoteAddress, C4Slice remoteDatabaseName, C4Database *otherLocalDB, C4ReplicatorMode push, C4ReplicatorMode pull, C4ReplicatorStateChangedCallback onStateChanged, void *callbackContext, C4Error *err);
public static C4Replicator *c4repl_new(C4Database *db, C4Address remoteAddress, string remoteDatabaseName, C4Database *otherLocalDB, C4ReplicatorMode push, C4ReplicatorMode pull, C4ReplicatorStateChangedCallback onStateChanged, void *callbackContext, C4Error *err) { using (var remoteDatabaseName_ = new C4String(remoteDatabaseName)) { return(NativeRaw.c4repl_new(db, remoteAddress, remoteDatabaseName_.AsC4Slice(), otherLocalDB, push, pull, onStateChanged, callbackContext, err)); } }