99typedef struct das_codex {
105 DasErrCode (*path)(
const struct das_codex* pThis,
char* sBuf,
size_t uLen);
106 DasErrCode (*mime)(
const struct das_codex* pThis,
char* sBuf,
size_t uLen);
111 const struct das_codex* pThis,
DasAry* pOut,
size_t* pPropsOut
116 struct das_codex* pThis,
const ubyte* pBlob,
size_t uLen,
117 DasAry* pAry,
size_t* pAppended
123 struct das_codex* pThis,
const DasAry* pItems,
const ptrdiff_t* pLoc,
124 DasBuf* pBuf,
size_t* pAppended
127 void (*del)(
struct das_codex* pThis);
159 const char* sMime,
das_val_type vtStore,
int nRank,
const ptrdiff_t* pShape
169#define DasCodex_storage(p) ((p)->storage(p))
173#define DasCodex_path(p, sBuf, uLen) ((p)->path((p), (sBuf), (uLen)))
178#define DasCodex_mime(p, sBuf, uLen) ((p)->mime((p), (sBuf), (uLen)))
183#define DasCodex_properties(p, pOut, pN) ((p)->properties((p), (pOut), (pN)))
188#define DasCodex_decode(p, pBlob, uLen, pAry, pN) \
189 ((p)->decode((p), (pBlob), (uLen), (pAry), (pN)))
194#define DasCodex_encode(p, pItems, pLoc, pBuf, pN) \
195 ((p)->encode((p), (pItems), (pLoc), (pBuf), (pN)))
200#define del_DasCodex(p) ((p)->del(p))
A dynamic buffer with multi-dimensional array style access.
Utility to assist with encode and decode operations.
DAS_API const char * das_codex_path(const char *sMime)
The absolute path registered for a mime, or NULL.
DAS_API bool das_codex_supported(const char *sMime)
True if a codec for this mime is registered and loaded.
int DasErrCode
return code type 0 indicates success, negative integer indicates failure
Definition defs.h:184
das_val_type
Enumeration of types stored in Das Array (DasAry) objects from value.h.
Definition value.h:81
Dynamic recursive ragged arrays.
Definition array.h:271
Buffer class to handle accumulating byte streams.
Definition buffer.h:47
One decode/encode context, made by new_DasCodex and owned by the DasCodec that made it.
Definition codex.h:99
DAS_API DasCodex * new_DasCodex(const char *sMime, das_val_type vtStore, int nRank, const ptrdiff_t *pShape)
Make a codec extension (codex) instance for a given mime type to a specific output type.
A generic value type for use in arrays, datums and variables.