|
Couchbase Lite C
Couchbase Lite C API
|
Go to the source code of this file.
Functions | |
Mutable documents | |
The type A mutable document exposes its properties as a mutable dictionary, so you can change them in place and then call CBLDatabase_SaveDocument to persist the changes. | |
| _cbl_warn_unused CBLDocument *_cbl_nullable | CBLDatabase_GetMutableDocument (CBLDatabase *database, FLString docID, CBLError *_cbl_nullable outError) |
| Reads a document from the database, in mutable form that can be updated and saved. More... | |
| _cbl_warn_unused CBLDocument * | CBLDocument_Create (void) |
| Creates a new, empty document in memory, with a randomly-generated unique ID. More... | |
| _cbl_warn_unused CBLDocument * | CBLDocument_CreateWithID (FLString docID) |
| Creates a new, empty document in memory, with the given ID. More... | |
| _cbl_warn_unused CBLDocument * | CBLDocument_MutableCopy (const CBLDocument *original) |
| Creates a new mutable CBLDocument instance that refers to the same document as the original. More... | |
Document properties and metadata | |
A document's body is essentially a JSON object. The properties are accessed in memory using the Fleece API, with the body itself being a dictionary). | |
| FLString | CBLDocument_ID (const CBLDocument *) |
| Returns a document's ID. More... | |
| FLString | CBLDocument_RevisionID (const CBLDocument *) |
| Returns a document's revision ID, which is a short opaque string that's guaranteed to be unique to every change made to the document. More... | |
| uint64_t | CBLDocument_Sequence (const CBLDocument *) |
| Returns a document's current sequence in the local database. More... | |
| FLDict | CBLDocument_Properties (const CBLDocument *) |
| Returns a document's properties as a dictionary. More... | |
| FLMutableDict | CBLDocument_MutableProperties (CBLDocument *) |
| Returns a mutable document's properties as a mutable dictionary. More... | |
| void | CBLDocument_SetProperties (CBLDocument *, FLMutableDict properties) |
| Sets a mutable document's properties. More... | |
| _cbl_warn_unused FLSliceResult | CBLDocument_CreateJSON (const CBLDocument *) |
| Returns a document's properties as JSON. More... | |
| bool | CBLDocument_SetJSON (CBLDocument *, FLSlice json, CBLError *_cbl_nullable outError) |
| Sets a mutable document's properties from a JSON string. More... | |
| CBLTimestamp | CBLDatabase_GetDocumentExpiration (CBLDatabase *db, FLSlice docID, CBLError *_cbl_nullable outError) |
| Returns the time, if any, at which a given document will expire and be purged. More... | |
| bool | CBLDatabase_SetDocumentExpiration (CBLDatabase *db, FLSlice docID, CBLTimestamp expiration, CBLError *_cbl_nullable outError) |
| Sets or clears the expiration time of a document. More... | |
Variables | |
| CBL_PUBLIC const FLSlice | kCBLTypeProperty |
"@type" More... | |
Document lifecycle | |
| enum | CBLConcurrencyControl : uint8_t { kCBLConcurrencyControlLastWriteWins , kCBLConcurrencyControlFailOnConflict } |
| Conflict-handling options when saving or deleting a document. More... | |
| typedef bool(* | CBLConflictHandler) (void *_cbl_nullable context, CBLDocument *_cbl_nullable documentBeingSaved, const CBLDocument *_cbl_nullable conflictingDocument) |
| Custom conflict handler for use when saving or deleting a document. More... | |
| _cbl_warn_unused const CBLDocument *_cbl_nullable | CBLDatabase_GetDocument (const CBLDatabase *database, FLString docID, CBLError *_cbl_nullable outError) |
| Reads a document from the database, creating a new (immutable) CBLDocument object. More... | |
| static const CBLDocument * | CBLDocument_Retain (const CBLDocument *t) |
| static void | CBLDocument_Release (const CBLDocument *t) |
| bool | CBLDatabase_SaveDocument (CBLDatabase *db, CBLDocument *doc, CBLError *_cbl_nullable outError) |
| Saves a (mutable) document to the database. More... | |
| bool | CBLDatabase_SaveDocumentWithConcurrencyControl (CBLDatabase *db, CBLDocument *doc, CBLConcurrencyControl concurrency, CBLError *_cbl_nullable outError) |
| Saves a (mutable) document to the database. More... | |
| bool | CBLDatabase_SaveDocumentWithConflictHandler (CBLDatabase *db, CBLDocument *doc, CBLConflictHandler conflictHandler, void *_cbl_nullable context, CBLError *_cbl_nullable outError) |
Saves a (mutable) document to the database, allowing for custom conflict handling in the event that the document has been updated since doc was loaded. More... | |
| bool | CBLDatabase_DeleteDocument (CBLDatabase *db, const CBLDocument *document, CBLError *_cbl_nullable outError) |
| Deletes a document from the database. More... | |
| bool | CBLDatabase_DeleteDocumentWithConcurrencyControl (CBLDatabase *db, const CBLDocument *document, CBLConcurrencyControl concurrency, CBLError *_cbl_nullable outError) |
| Deletes a document from the database. More... | |
| bool | CBLDatabase_PurgeDocument (CBLDatabase *db, const CBLDocument *document, CBLError *_cbl_nullable outError) |
| Purges a document. More... | |
| bool | CBLDatabase_PurgeDocumentByID (CBLDatabase *database, FLString docID, CBLError *_cbl_nullable outError) |
| Purges a document, given only its ID. More... | |
Document listeners | |
A document change listener lets you detect changes made to a specific document after they are persisted to the database.
| |
| typedef void(* | CBLDocumentChangeListener) (void *context, const CBLDatabase *db, FLString docID) |
| A document change listener callback, invoked after a specific document is changed on disk. More... | |
| _cbl_warn_unused CBLListenerToken * | CBLDatabase_AddDocumentChangeListener (const CBLDatabase *db, FLString docID, CBLDocumentChangeListener listener, void *_cbl_nullable context) |
| Registers a document change listener callback. More... | |