208#define DURI_MAX_PATH 2048
222typedef struct das_uri_field_t {
254typedef struct das_uri_seg_def_t {
312typedef struct das_range_t {
334 das_range* pRng,
const char* sBeg,
const char* sEnd
372 das_range* pRng,
const char* sCoord, int64_t nBeg, int64_t nEnd
391 const das_datum* dmBeg,
const das_datum* dmEnd
401typedef enum das_uri_proto_e {
409typedef struct das_uri_seg_t DasUriSeg;
415typedef struct das_uri_level_t DasUriLevel;
421typedef struct das_uri_tplt_t {
436 DasUriLevel* pLevels;
444typedef struct das_uri_iter_t {
445 const DasUriTplt* pTplt;
494DAS_API DasUriTplt* new_DasUriTplt(
void);
545DAS_API
DasErrCode DasUriTplt_pattern(DasUriTplt* pThis,
const char* sTemplate);
551DAS_API
void del_DasUriTplt(DasUriTplt* pTplt);
563DAS_API
char* DasUriTplt_toStr(
const DasUriTplt* pThis,
char* sBuf,
int nLen);
596 DasUriIter* pThis,
const DasUriTplt* pTplt,
608DAS_API
void fini_DasUriIter(DasUriIter* pThis);
635DAS_API DasUriIter* new_DasUriIter(
636 const DasUriTplt* pTplt,
int nRanges,
const das_range* pRanges
656DAS_API
const char* DasUriIter_next(DasUriIter* pThis);
662DAS_API
void del_DasUriIter(DasUriIter* pThis);
690DAS_API
char* DasUriTplt_render(
691 const DasUriTplt* pThis,
int nRanges,
const das_range* pRanges,
Minimal definitions for das2 utilities that can safely be run without calling das_init().
int DasErrCode
return code type 0 indicates success, negative integer indicates failure
Definition defs.h:184
One sub-field within a named coordinate type.
Definition uri.h:222
Definition of one coordinate type for use by the URI template parser.
Definition uri.h:254
A constraint on one coordinate (or sub-field) used to select matching files.
Definition uri.h:312
Basic date-time structure used throughout the Das1 & Das2 utilities.
Definition time.h:43
#define DURI_MAX_PATH
Maximum length of a rendered URI / file path.
Definition uri.h:208
DAS_API const DasUriSegDef * das_time_uridef(void)
Return the built-in coordinate definition for the time coordinate.
DAS_API DasErrCode das_range_fromTime(das_range *pRng, const das_time *tBeg, const das_time *tEnd)
Initialize a das_range for the "time" coordinate from das_time structs.
DAS_API DasErrCode das_range_fromUtc(das_range *pRng, const char *sBeg, const char *sEnd)
Initialize a das_range for the "time" coordinate from ISO-8601 UTC strings.
DAS_API DasErrCode das_range_fromDatum(das_range *pRng, const char *sCoord, const das_datum *dmBeg, const das_datum *dmEnd)
Initialize a das_range from pre-built das_datum values.
DasUriProto
Transport protocol detected from the leading scheme of a URI template.
Definition uri.h:401
DAS_API char ** das_uri_list(const char *sTemplate, const DasUriSegDef *pDef, int nRanges, const das_range *pRanges, size_t *pCount)
Collect all paths yielded by a template and coordinate ranges into a heap array.
DAS_API DasErrCode das_range_fromInt(das_range *pRng, const char *sCoord, int64_t nBeg, int64_t nEnd)
Initialize a das_range for a named integer coordinate or sub-field.