| 
    Couchbase Lite C
    
   Couchbase Lite C API 
   | 
 
Go to the source code of this file.
Data Structures | |
| struct | CBLEncryptionKey | 
| Encryption key specified in a CBLDatabaseConfiguration.  More... | |
| struct | CBLDatabaseConfiguration | 
| Database configuration options.  More... | |
Functions | |
Database file operations  | |
These functions operate on database files without opening them.  | |
| bool | CBL_DatabaseExists (FLString name, FLString inDirectory) | 
| Returns true if a database with the given name exists in the given directory.  More... | |
| bool | CBL_CopyDatabase (FLString fromPath, FLString toName, const CBLDatabaseConfiguration *_cbl_nullable config, CBLError *_cbl_nullable outError) | 
| Copies a database file to a new location, and assigns it a new internal UUID to distinguish it from the original database when replicating.  More... | |
| bool | CBL_DeleteDatabase (FLString name, FLString inDirectory, CBLError *_cbl_nullable outError) | 
| Deletes a database file.  More... | |
Database accessors  | |
Getting information about a database.  | |
| FLString | CBLDatabase_Name (const CBLDatabase *) | 
| Returns the database's name.  More... | |
| _cbl_warn_unused FLStringResult | CBLDatabase_Path (const CBLDatabase *) | 
| Returns the database's full filesystem path.  More... | |
| uint64_t | CBLDatabase_Count (const CBLDatabase *) | 
| Returns the number of documents in the database.  More... | |
| const CBLDatabaseConfiguration | CBLDatabase_Config (const CBLDatabase *) | 
| Returns the database's configuration, as given when it was opened.  More... | |
Database configuration | |
| enum | CBLEncryptionAlgorithm : uint32_t { kCBLEncryptionNone = 0 , kCBLEncryptionAES256 } | 
| Database encryption algorithms (available only in the Enterprise Edition).  More... | |
| enum | CBLEncryptionKeySize : uint64_t { kCBLEncryptionKeySizeAES256 = 32 } | 
| Encryption key sizes (in bytes).  More... | |
| CBLDatabaseConfiguration | CBLDatabaseConfiguration_Default (void) | 
| Returns the default database configuration.  More... | |
| bool | CBLEncryptionKey_FromPassword (CBLEncryptionKey *key, FLString password) | 
| Derives an encryption key from a password.  More... | |
Database listeners | |
A database change listener lets you detect changes made to all documents in a database. (If you only want to observe specific documents, use a CBLDocumentChangeListener instead.) 
 
  | |
| typedef void(* | CBLDatabaseChangeListener) (void *_cbl_nullable context, const CBLDatabase *db, unsigned numDocs, FLString docIDs[]) | 
| A database change listener callback, invoked after one or more documents are changed on disk.  More... | |
| _cbl_warn_unused CBLListenerToken * | CBLDatabase_AddChangeListener (const CBLDatabase *db, CBLDatabaseChangeListener listener, void *_cbl_nullable context) | 
| Registers a database change listener callback.  More... | |
Scheduling notifications | |
Applications may want control over when Couchbase Lite notifications (listener callbacks) happen. They may want them called on a specific thread, or at certain times during an event loop. This behavior may vary by database, if for instance each database is associated with a separate thread. The API calls here enable this. When notifications are "buffered" for a database, calls to listeners will be deferred until the application explicitly allows them. Instead, a single callback will be issued when the first notification becomes available; this gives the app a chance to schedule a time when the notifications should be sent and callbacks called.  | |
| typedef void(* | CBLNotificationsReadyCallback) (void *_cbl_nullable context, CBLDatabase *db) | 
| Callback indicating that the database (or an object belonging to it) is ready to call one or more listeners.  More... | |
| void | CBLDatabase_BufferNotifications (CBLDatabase *db, CBLNotificationsReadyCallback callback, void *_cbl_nullable context) | 
| Switches the database to buffered-notification mode.  More... | |
| void | CBLDatabase_SendNotifications (CBLDatabase *db) | 
| Immediately issues all pending notifications for this database, by calling their listener callbacks.  More... | |