LiteCore
Couchbase Lite cross-platform core implementation
|
Go to the source code of this file.
Functions | |
Blob Keys | |
CBL_CORE_API bool | c4blob_keyFromString (C4String str, C4BlobKey *) |
Decodes a string of the form "sha1-"+base64 into a raw key. | |
CBL_CORE_API C4StringResult | c4blob_keyToString (C4BlobKey) |
Encodes a blob key to a string of the form "sha1-"+base64. | |
Blob Store API | |
CBL_CORE_API C4BlobStore * | c4db_getBlobStore (C4Database *db, C4Error *outError) |
Returns the BlobStore associated with a bundled database. | |
NODISCARD CBL_CORE_API C4BlobStore * | c4blob_openStore (C4String dirPath, C4DatabaseFlags flags, const C4EncryptionKey *encryptionKey, C4Error *outError) |
Opens a BlobStore in a directory. | |
CBL_CORE_API void | c4blob_freeStore (C4BlobStore *) |
Closes/frees a BlobStore. | |
CBL_CORE_API bool | c4blob_deleteStore (C4BlobStore *, C4Error *) |
Deletes the BlobStore's blobs and directory, and (if successful) frees the object. | |
Blob API | |
CBL_CORE_API int64_t | c4blob_getSize (C4BlobStore *, C4BlobKey) |
Gets the content size of a blob given its key. | |
CBL_CORE_API C4SliceResult | c4blob_getContents (C4BlobStore *, C4BlobKey, C4Error *) |
Reads the entire contents of a blob into memory. | |
CBL_CORE_API C4StringResult | c4blob_getFilePath (C4BlobStore *, C4BlobKey, C4Error *) |
Returns the path of the file that stores the blob, if possible. | |
NODISCARD CBL_CORE_API C4BlobKey | c4blob_computeKey (C4Slice contents) |
Derives the key of the given data, without storing it. | |
NODISCARD CBL_CORE_API bool | c4blob_create (C4BlobStore *store, C4Slice contents, const C4BlobKey *expectedKey, C4BlobKey *outKey, C4Error *error) |
Stores a blob. | |
NODISCARD CBL_CORE_API bool | c4blob_delete (C4BlobStore *, C4BlobKey, C4Error *) |
Deletes a blob from the store given its key. | |
Streamed Reads | |
NODISCARD CBL_CORE_API C4ReadStream * | c4blob_openReadStream (C4BlobStore *, C4BlobKey, C4Error *) |
Opens a blob for reading, as a random-access byte stream. | |
NODISCARD CBL_CORE_API size_t | c4stream_read (C4ReadStream *stream, void *buffer, size_t maxBytesToRead, C4Error *error) |
Reads from an open stream. | |
CBL_CORE_API int64_t | c4stream_getLength (C4ReadStream *, C4Error *) |
Returns the exact length in bytes of the stream. | |
NODISCARD CBL_CORE_API bool | c4stream_seek (C4ReadStream *, uint64_t position, C4Error *) |
Moves to a random location in the stream; the next c4stream_read call will read from that location. | |
Streamed Writes | |
NODISCARD CBL_CORE_API C4WriteStream * | c4blob_openWriteStream (C4BlobStore *, C4Error *) |
Opens a write stream for creating a new blob. | |
NODISCARD CBL_CORE_API bool | c4stream_write (C4WriteStream *, const void *bytes, size_t length, C4Error *) |
Writes data to a stream. | |
CBL_CORE_API uint64_t | c4stream_bytesWritten (C4WriteStream *) |
Returns the number of bytes written to the stream. | |
NODISCARD CBL_CORE_API C4BlobKey | c4stream_computeBlobKey (C4WriteStream *) |
Computes the blob-key (digest) of the data written to the stream. | |
NODISCARD CBL_CORE_API bool | c4stream_install (C4WriteStream *, const C4BlobKey *expectedKey, C4Error *) |
Adds the data written to the stream as a finished blob to the store. | |