|
Couchbase Lite C
Couchbase Lite C API
|
FLDoc | |
An FLDoc points to (and often owns) Fleece-encoded data and provides access to its Fleece values. | |
| enum | FLTrust { kFLUntrusted , kFLTrusted } |
| Specifies whether not input data is trusted to be 100% valid Fleece. More... | |
| typedef struct _FLDoc * | FLDoc |
| A reference to a document. More... | |
| typedef struct _FLSharedKeys * | FLSharedKeys |
| A reference to a shared-keys mapping. More... | |
| FLDoc | FLDoc_FromResultData (FLSliceResult data, FLTrust, FLSharedKeys, FLSlice externData) |
| Creates an FLDoc from Fleece-encoded data that's been returned as a result from FLSlice_Copy or other API. More... | |
| FLDoc | FLDoc_FromJSON (FLSlice json, FLError *outError) |
| Creates an FLDoc from JSON-encoded data. More... | |
| void | FLDoc_Release (FLDoc) |
| Releases a reference to an FLDoc. More... | |
| FLDoc | FLDoc_Retain (FLDoc) |
| Adds a reference to an FLDoc. More... | |
| FLSlice | FLDoc_GetData (FLDoc) FLPURE |
| Returns the encoded Fleece data backing the document. More... | |
| FLSliceResult | FLDoc_GetAllocedData (FLDoc) FLPURE |
| Returns the FLSliceResult data owned by the document, if any, else a null slice. More... | |
| FLValue | FLDoc_GetRoot (FLDoc) FLPURE |
| Returns the root value in the FLDoc, usually an FLDict. More... | |
| FLSharedKeys | FLDoc_GetSharedKeys (FLDoc) FLPURE |
| Returns the FLSharedKeys used by this FLDoc, as specified when it was created. More... | |
| bool | FLDoc_SetAssociated (FLDoc doc, void *pointer, const char *type) |
| Associates an arbitrary pointer value with a document, and thus its contained values. More... | |
| void * | FLDoc_GetAssociated (FLDoc doc, const char *type) FLPURE |
| Returns the pointer associated with the document. More... | |
| FLDoc | FLValue_FindDoc (FLValue) FLPURE |
| Looks up the Doc containing the Value, or NULL if the Value was created without a Doc. More... | |
Parsing And Converting Values Directly | |
| FLValue | FLValue_FromData (FLSlice data, FLTrust) FLPURE |
| Returns a pointer to the root value in the encoded data, or NULL if validation failed. More... | |
| FLSliceResult | FLData_ConvertJSON (FLSlice json, FLError *outError) |
| Directly converts JSON data to Fleece-encoded data. More... | |
| FLStringResult | FLData_Dump (FLSlice data) |
| Produces a human-readable dump of the Value encoded in the data. More... | |
| typedef struct _FLDoc* FLDoc |
A reference to a document.
| typedef struct _FLSharedKeys* FLSharedKeys |
A reference to a shared-keys mapping.
| enum FLTrust |
Specifies whether not input data is trusted to be 100% valid Fleece.
| FLSliceResult FLData_ConvertJSON | ( | FLSlice | json, |
| FLError * | outError | ||
| ) |
Directly converts JSON data to Fleece-encoded data.
You can then call FLValue_FromData (in kFLTrusted mode) to get the root as a Value.
| FLStringResult FLData_Dump | ( | FLSlice | data | ) |
Produces a human-readable dump of the Value encoded in the data.
This is only useful if you already know, or want to learn, the encoding format.
Creates an FLDoc from JSON-encoded data.
The data is first encoded into Fleece, and the Fleece data is kept by the doc; the input JSON data is no longer needed after this function returns.
| FLDoc FLDoc_FromResultData | ( | FLSliceResult | data, |
| FLTrust | , | ||
| FLSharedKeys | , | ||
| FLSlice | externData | ||
| ) |
Creates an FLDoc from Fleece-encoded data that's been returned as a result from FLSlice_Copy or other API.
The resulting document retains the data, so you don't need to worry about it remaining valid.
| FLSliceResult FLDoc_GetAllocedData | ( | FLDoc | ) |
Returns the FLSliceResult data owned by the document, if any, else a null slice.
| void * FLDoc_GetAssociated | ( | FLDoc | doc, |
| const char * | type | ||
| ) |
Returns the pointer associated with the document.
You can use this together with FLValue_FindDoc to associate your own object with Fleece values, for instance to find your object that "owns" a value: myDoc = (app::Document*)FLDoc_GetAssociated(FLValue_FindDoc(val), "app::Document");.
| doc | The FLDoc to get a pointer from. |
| type | The type of object expected, i.e. the same string literal passed to FLDoc_SetAssociated. |
| FLSharedKeys FLDoc_GetSharedKeys | ( | FLDoc | ) |
Returns the FLSharedKeys used by this FLDoc, as specified when it was created.
| void FLDoc_Release | ( | FLDoc | ) |
Releases a reference to an FLDoc.
This must be called once to free an FLDoc you created.
Adds a reference to an FLDoc.
This extends its lifespan until at least such time as you call FLRelease to remove the reference.
| bool FLDoc_SetAssociated | ( | FLDoc | doc, |
| void * | pointer, | ||
| const char * | type | ||
| ) |
Associates an arbitrary pointer value with a document, and thus its contained values.
Allows client code to associate its own pointer with this FLDoc and its Values, which can later be retrieved with FLDoc_GetAssociated. For example, this could be a pointer to an app::Document object, of which this Doc's root FLDict is its properties. You would store it by calling FLDoc_SetAssociated(doc, myDoc, "app::Document");.
| doc | The FLDoc to store a pointer in. |
| pointer | The pointer to store in the FLDoc. |
| type | A C string literal identifying the type. This is used to avoid collisions with unrelated code that might try to store a different type of value. |
Looks up the Doc containing the Value, or NULL if the Value was created without a Doc.