public static bool FLEncoder_WriteKey(FLEncoder *encoder, string str) { using (var str_ = new C4String(str)) { return(NativeRaw.FLEncoder_WriteKey(encoder, (FLSlice)str_.AsFLSlice())); } }
public static bool c4doc_selectRevision(C4Document *doc, string revID, bool withBody, C4Error *outError) { using (var revID_ = new C4String(revID)) { return(NativeRaw.c4doc_selectRevision(doc, revID_.AsFLSlice(), withBody, outError)); } }
public static bool c4doc_selectCommonAncestorRevision(C4Document *doc, string rev1ID, string rev2ID) { using (var rev1ID_ = new C4String(rev1ID)) using (var rev2ID_ = new C4String(rev2ID)) { return(NativeRaw.c4doc_selectCommonAncestorRevision(doc, rev1ID_.AsFLSlice(), rev2ID_.AsFLSlice())); } }
public static bool c4db_purgeDoc(C4Database *database, string docID, C4Error *outError) { using (var docID_ = new C4String(docID)) { return(NativeRaw.c4db_purgeDoc(database, docID_.AsFLSlice(), outError)); } }
public static long c4doc_getExpiration(C4Database *db, string docId) { using (var docId_ = new C4String(docId)) { return(NativeRaw.c4doc_getExpiration(db, docId_.AsFLSlice())); } }
private C4Document *ForceInsert(C4Database *db, string docID, string[] history, FLSlice body, C4RevisionFlags flags, C4Error *error = null) { LiteCoreBridge.Check(err => Native.c4db_beginTransaction(db, err)); var c4History = new C4String[history.Length]; var success = false; try { var i = 0; var sliceHistory = new FLSlice[history.Length]; foreach (var entry in history) { var c4Str = new C4String(entry); c4History[i] = c4Str; sliceHistory[i++] = c4Str.AsFLSlice(); } using (var docID_ = new C4String(docID)) { fixed(FLSlice *sliceHistory_ = sliceHistory) { var rq = new C4DocPutRequest { docID = docID_.AsFLSlice(), existingRevision = true, allowConflict = true, history = sliceHistory_, historyCount = (ulong)history.Length, body = body, revFlags = flags, remoteDBID = _remoteDocID, save = true }; C4Document *doc; if (error != null) { var local = rq; doc = Native.c4doc_put(db, &local, null, error); } else { doc = (C4Document *)LiteCoreBridge.Check(err => { var local = rq; return(Native.c4doc_put(db, &local, null, err)); }); } success = true; return(doc); } } } finally { foreach (var entry in c4History) { entry.Dispose(); } LiteCoreBridge.Check(err => Native.c4db_endTransaction(db, success, err)); } }
public static int c4doc_purgeRevision(C4Document *doc, string revID, C4Error *outError) { using (var revID_ = new C4String(revID)) { return(NativeRaw.c4doc_purgeRevision(doc, revID_.AsFLSlice(), outError)); } }
public static void c4socket_closeRequested(C4Socket *socket, int status, string message) { using (var message_ = new C4String(message)) { NativeRaw.c4socket_closeRequested(socket, status, message_.AsFLSlice()); } }
public static bool c4repl_isValidDatabaseName(string dbName) { using (var dbName_ = new C4String(dbName)) { return(NativeRaw.c4repl_isValidDatabaseName(dbName_.AsFLSlice())); } }
public static C4Error c4error_make(C4ErrorDomain domain, int code, string message) { using (var message_ = new C4String(message)) { return(NativeRaw.c4error_make(domain, code, message_.AsFLSlice())); } }
public static bool c4repl_isDocumentPending(C4Replicator *repl, string docID, C4Error *outErr) { using (var docID_ = new C4String(docID)) { return(NativeRaw.c4repl_isDocumentPending(repl, docID_.AsFLSlice(), outErr)); } }
public static void c4slog(C4LogDomain *domain, C4LogLevel level, string msg) { using (var msg_ = new C4String(msg)) { NativeRaw.c4slog(domain, level, msg_.AsFLSlice()); } }
public static C4QueryEnumerator *c4query_run(C4Query *query, C4QueryOptions *options, string encodedParameters, C4Error *outError) { using (var encodedParameters_ = new C4String(encodedParameters)) { return(NativeRaw.c4query_run(query, options, encodedParameters_.AsFLSlice(), outError)); } }
public static C4Query *c4query_new(C4Database *database, string expression, C4Error *error) { using (var expression_ = new C4String(expression)) { return(NativeRaw.c4query_new(database, expression_.AsFLSlice(), error)); } }
public static bool c4doc_isOldMetaProperty(string prop) { using (var prop_ = new C4String(prop)) { return(NativeRaw.c4doc_isOldMetaProperty(prop_.AsFLSlice())); } }
public static bool c4address_fromURL(string url, C4Address *address, FLSlice *dbName) { using (var url_ = new C4String(url)) { return(NativeRaw.c4address_fromURL(url_.AsFLSlice(), address, dbName)); } }
public static bool c4listener_shareDB(C4Listener *listener, string name, C4Database *db, C4Error *outError) { using (var name_ = new C4String(name)) { return(NativeRaw.c4listener_shareDB(listener, name_.AsFLSlice(), db, outError)); } }
public static bool c4db_setCookie(C4Database *db, string setCookieHeader, string fromHost, string fromPath, C4Error *outError) { using (var setCookieHeader_ = new C4String(setCookieHeader)) using (var fromHost_ = new C4String(fromHost)) using (var fromPath_ = new C4String(fromPath)) { return(NativeRaw.c4db_setCookie(db, setCookieHeader_.AsFLSlice(), fromHost_.AsFLSlice(), fromPath_.AsFLSlice(), outError)); } }
public static bool c4db_deleteIndex(C4Database *database, string name, C4Error *outError) { using (var name_ = new C4String(name)) { return(NativeRaw.c4db_deleteIndex(database, name_.AsFLSlice(), outError)); } }
internal FLSliceResult JSON2Fleece(string body) { using (var body_ = new C4String(body)) { return(JSON2Fleece(body_.AsFLSlice())); } }
public static bool c4doc_resolveConflict(C4Document *doc, string winningRevID, string losingRevID, byte[] mergedBody, C4RevisionFlags mergedFlags, C4Error *error) { using (var winningRevID_ = new C4String(winningRevID)) using (var losingRevID_ = new C4String(losingRevID)) fixed(byte *mergedBody_ = mergedBody) { return(NativeRaw.c4doc_resolveConflict(doc, winningRevID_.AsFLSlice(), losingRevID_.AsFLSlice(), new FLSlice(mergedBody_, mergedBody == null ? 0 : (ulong)mergedBody.Length), mergedFlags, error)); } }
// Read a file that contains a JSON document per line. Every line becomes a document. protected uint ImportJSONLines(string path, TimeSpan timeout, bool verbose) { if (verbose) { WriteLine($"Reading {path}..."); } var st = Stopwatch.StartNew(); uint numDocs = 0; LiteCoreBridge.Check(err => Native.c4db_beginTransaction(Db, err)); try { ReadFileByLines(path, line => { C4Error error; var body = NativeRaw.c4db_encodeJSON(Db, (FLSlice)line, &error); ((long)body.buf).Should().NotBe(0, "because otherwise the encode failed"); var docID = (numDocs + 1).ToString("D7"); // Save document: using (var docID_ = new C4String(docID)) { var rq = new C4DocPutRequest { docID = docID_.AsFLSlice(), body = (FLSlice)body, save = true }; var doc = (C4Document *)LiteCoreBridge.Check(err => { var localRq = rq; return(Native.c4doc_put(Db, &localRq, null, err)); }); Native.c4doc_release(doc); } Native.FLSliceResult_Release(body); ++numDocs; if (numDocs % 1000 == 0 && st.Elapsed >= timeout) { Console.Write($"Stopping JSON import after {st.Elapsed.TotalSeconds:F3} sec "); return(false); } if (verbose && numDocs % 10000 == 0) { Console.Write($"{numDocs} "); } return(true); }); if (verbose) { WriteLine("Committing..."); } } finally { LiteCoreBridge.Check(err => Native.c4db_endTransaction(Db, true, err)); } if (verbose) { st.PrintReport("Importing", numDocs, "doc", _output); } return(numDocs); }
public static bool c4doc_setExpiration(C4Database *db, string docId, long timestamp, C4Error *outError) { using (var docId_ = new C4String(docId)) { return(NativeRaw.c4doc_setExpiration(db, docId_.AsFLSlice(), timestamp, outError)); } }
public static bool c4raw_put(C4Database *database, string storeName, string key, string meta, string body, C4Error *outError) { using (var storeName_ = new C4String(storeName)) using (var key_ = new C4String(key)) using (var meta_ = new C4String(meta)) using (var body_ = new C4String(body)) { return(NativeRaw.c4raw_put(database, storeName_.AsFLSlice(), key_.AsFLSlice(), meta_.AsFLSlice(), body_.AsFLSlice(), outError)); } }
public static C4Document *c4doc_get(C4Database *database, string docID, bool mustExist, C4Error *outError) { using (var docID_ = new C4String(docID)) { return(NativeRaw.c4doc_get(database, docID_.AsFLSlice(), mustExist, outError)); } }
public static C4Database *c4db_open(string path, C4DatabaseConfig *config, C4Error *outError) { using (var path_ = new C4String(path)) { return(NativeRaw.c4db_open(path_.AsFLSlice(), config, outError)); } }
public static bool c4doc_selectNextPossibleAncestorOf(C4Document *doc, string revID) { using (var revID_ = new C4String(revID)) { return(NativeRaw.c4doc_selectNextPossibleAncestorOf(doc, revID_.AsFLSlice())); } }
public static bool c4db_deleteAtPath(string dbPath, C4Error *outError) { using (var dbPath_ = new C4String(dbPath)) { return(NativeRaw.c4db_deleteAtPath(dbPath_.AsFLSlice(), outError)); } }
public static uint c4rev_getGeneration(string revID) { using (var revID_ = new C4String(revID)) { return(NativeRaw.c4rev_getGeneration(revID_.AsFLSlice())); } }
public static FLMutableDict *FLMutableDict_GetMutableDict(FLMutableDict *x, string key) { using (var key_ = new C4String(key)) { return(NativeRaw.FLMutableDict_GetMutableDict(x, (FLSlice)key_.AsFLSlice())); } }