public static C4Replicator *c4repl_new(C4Database *db, C4Address remoteAddress, string remoteDatabaseName, C4Database *otherDb, C4ReplicatorMode push, C4ReplicatorMode pull, ReplicatorStateChangedCallback onStateChanged, C4Error *err) { return(Native.c4repl_new(db, remoteAddress, remoteDatabaseName, otherDb, push, pull, onStateChanged.NativeCallback, onStateChanged.NativeContext, err)); }
public C4ReplicatorParameters(C4ReplicatorMode push, C4ReplicatorMode pull, C4Slice optionsFleece, void *context) { this.push = push; this.pull = pull; optionsDictFleece = optionsFleece; validationFunc = Marshal.GetFunctionPointerForDelegate(ReplicatorParameters.NativeValidateFunction); onStatusChanged = Marshal.GetFunctionPointerForDelegate(ReplicatorParameters.NativeChangedCallback); onDocumentError = Marshal.GetFunctionPointerForDelegate(ReplicatorParameters.NativeErrorCallback); callbackContext = context; }
public ReplicatorParameters(C4ReplicatorMode push, C4ReplicatorMode pull, IDictionary<string, object> options, Func<string, IntPtr, object, bool> validateFunction, Action<bool, string, C4Error, bool, object> errorCallback, Action<C4ReplicatorStatus, object> stateChangedCallback, object context) { var nextId = Interlocked.Increment(ref _NextID); _id = nextId; _validateFunction = validateFunction; _errorCallback = errorCallback; _stateChangedCallback = stateChangedCallback; _context = context; _nativeContext = (void*)nextId; C4Params = new C4ReplicatorParameters(push, pull, (C4Slice)options.FLEncode(), _nativeContext); _StaticMap[_id] = this; }
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)); } }