132#define DURI_MAX_PATH 2048
145typedef struct das_uri_field_t {
171typedef struct das_uri_seg_def_t {
202typedef struct das_range_t {
223 das_range* pRng,
const char* sBeg,
const char* sEnd
250 das_range* pRng,
const char* sCoord, int64_t nBeg, int64_t nEnd
269 const das_datum* dmBeg,
const das_datum* dmEnd
277typedef enum das_uri_proto_e {
286typedef struct das_uri_seg_t DasUriSeg;
287typedef struct das_uri_level_t DasUriLevel;
293typedef struct das_uri_tplt_t {
308 DasUriLevel* pLevels;
316typedef struct das_uri_iter_t {
317 const DasUriTplt* pTplt;
356DAS_API DasUriTplt* new_DasUriTplt(
void);
389DAS_API
DasErrCode DasUriTplt_pattern(DasUriTplt* pThis,
const char* sTemplate);
395DAS_API
void del_DasUriTplt(DasUriTplt* pTplt);
407DAS_API
char* DasUriTplt_toStr(
const DasUriTplt* pThis,
char* sBuf,
int nLen);
435 DasUriIter* pThis,
const DasUriTplt* pTplt,
446DAS_API
void fini_DasUriIter(DasUriIter* pThis);
463DAS_API DasUriIter* new_DasUriIter(
464 const DasUriTplt* pTplt,
int nRanges,
const das_range* pRanges
481DAS_API
const char* DasUriIter_next(DasUriIter* pThis);
487DAS_API
void del_DasUriIter(DasUriIter* pThis);
509DAS_API
char* DasUriTplt_render(
510 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:145
Definition of one coordinate type for use by the URI template parser.
Definition uri.h:171
A constraint on one coordinate (or sub-field) used to select matching files.
Definition uri.h:202
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:132
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, from the leading scheme of a URI template.
Definition uri.h:277
DAS_API char ** das_uri_list(const char *sTemplate, const DasUriSegDef *pDef, int nRanges, const das_range *pRanges, size_t *pCount)
Collect every path a template and ranges yield into one 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 sub-field.