public static extern bool c4db_getUUIDs(C4Database *database, C4UUID *publicUUID, C4UUID *privateUUID, C4Error *outError);
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, C4Error *outError) { using (var docID_ = new C4String(docID)) { return(NativeRaw.c4doc_getExpiration(db, docID_.AsFLSlice(), outError)); } }
public static extern bool c4enum_next(C4DocEnumerator *e, C4Error *outError);
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 extern bool c4_shutdown(C4Error *outError);
public static extern C4DocEnumerator *c4db_enumerateChanges(C4Database *database, ulong since, C4EnumeratorOptions *options, C4Error *outError);
public static extern C4Database *c4db_open(C4Slice path, C4DatabaseConfig *config, C4Error *outError);
public static extern bool c4db_copy(C4Slice sourcePath, C4Slice destinationPath, C4DatabaseConfig *config, C4Error *error);
public static C4RawDocument *c4raw_get(C4Database *database, string storeName, string docID, C4Error *outError) { using (var storeName_ = new C4String(storeName)) using (var docID_ = new C4String(docID)) { return(NativeRaw.c4raw_get(database, storeName_.AsC4Slice(), docID_.AsC4Slice(), 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_.AsC4Slice(), key_.AsC4Slice(), meta_.AsC4Slice(), body_.AsC4Slice(), outError)); } }
public static extern bool c4db_endTransaction(C4Database *database, [MarshalAs(UnmanagedType.U1)] bool commit, C4Error *outError);
public static extern bool c4db_beginTransaction(C4Database *database, C4Error *outError);
public static extern bool c4db_compact(C4Database *database, C4Error *outError);
public static bool c4db_deleteAtPath(string dbPath, C4Error *outError) { using (var dbPath_ = new C4String(dbPath)) { return(NativeRaw.c4db_deleteAtPath(dbPath_.AsC4Slice(), outError)); } }
public static extern bool c4db_deleteAtPath(C4Slice dbPath, C4Error *outError);
public static extern bool c4db_rekey(C4Database *database, C4EncryptionKey *newKey, C4Error *outError);
public static extern C4RawDocument *c4raw_get(C4Database *database, C4Slice storeName, C4Slice docID, C4Error *outError);
public static extern bool c4log_writeToBinaryFile(C4LogFileOptions options, C4Error *error);
public static extern bool c4raw_put(C4Database *database, C4Slice storeName, C4Slice key, C4Slice meta, C4Slice body, C4Error *outError);
public static extern C4DocEnumerator *c4db_enumerateAllDocs(C4Database *database, C4EnumeratorOptions *options, C4Error *outError);
public static C4Database *c4db_open(string path, C4DatabaseConfig *config, C4Error *outError) { using (var path_ = new C4String(path)) { return(NativeRaw.c4db_open(path_.AsC4Slice(), config, outError)); } }
public static extern C4Document *c4enum_getDocument(C4DocEnumerator *e, C4Error *outError);
public static extern C4Database *c4db_openAgain(C4Database *db, C4Error *outError);
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)); } }
public static bool c4db_copy(string sourcePath, string destinationPath, C4DatabaseConfig *config, C4Error *error) { using (var sourcePath_ = new C4String(sourcePath)) using (var destinationPath_ = new C4String(destinationPath)) { return(NativeRaw.c4db_copy(sourcePath_.AsC4Slice(), destinationPath_.AsC4Slice(), config, error)); } }
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 extern bool c4db_delete(C4Database *database, C4Error *outError);
public static C4Document *c4doc_put(C4Database *database, C4DocPutRequest *request, ulong *outCommonAncestorIndex, C4Error *outError) { var uintptr = new UIntPtr(); var retVal = NativeRaw.c4doc_put(database, request, &uintptr, outError); if (outCommonAncestorIndex != null) { *outCommonAncestorIndex = uintptr.ToUInt64(); } return(retVal); }
private C4Document *PutDoc(C4Database *db, string docID, string revID, string body, C4RevisionFlags flags, C4Error *error = null) { LiteCoreBridge.Check(err => Native.c4db_beginTransaction(db, err)); var success = false; try { using (var docID_ = new C4String(docID)) using (var revID_ = new C4String(revID)) using (var body_ = new C4String(body)) { var history = new C4Slice[] { revID_.AsC4Slice() }; fixed(C4Slice *history_ = history) { var rq = new C4DocPutRequest { allowConflict = false, docID = docID_.AsC4Slice(), history = revID == null ? null : history_, historyCount = revID == null ? 0UL : 1UL, body = body_.AsC4Slice(), 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 { LiteCoreBridge.Check(err => Native.c4db_endTransaction(db, success, err)); } }