126 #define D2URI_ROOT                   "tag:das2.org,2012:" 
  127 #define D2URI_SITES      D2URI_ROOT  "site" 
  128 #define D2URI_SITE_UIOWA D2URI_SITES ":/uiowa" 
  131 #define D2FRAG_TYPE       "type" 
  132 #define D2FRAG_NAME       "name" 
  133 #define D2FRAG_LABEL      "label" 
  134 #define D2FRAG_TITLE      "title" 
  135 #define D2FRAG_DESC       "description" 
  136 #define D2FRAG_SUB_PATHS  "catalog" 
  137 #define D2FRAG_PATH_SEP   "separator" 
  138 #define D2FRAG_SOURCES    "sources" 
  139 #define D2FRAG_URLS       "urls" 
  142 #define D2CV_TYPE_CATALOG     "Catalog" 
  143 #define D2CV_TYPE_COLLECTION  "Collection" 
  144 #define D2CV_TYPE_SRCSET      "SourceSet" 
  145 #define D2CV_TYPE_STREAM      "HttpStreamSrc" 
  146 #define D2CV_TYPE_TIMEAGG     "FileTimeAgg" 
  147 #define D2CV_TYPE_SPASE       "SpaseRecord" 
  148 #define D2Cv_TYPE_SPDF_MASTER "SpdfMasterCat" 
  151 typedef enum das_node_type_enum {
 
  152    d2node_inv = 0, d2node_catalog = 1, d2node_collection = 2, 
 
  153    d2node_srcset = 3, d2node_stream_src = 4,  d2node_file_agg = 5, 
 
  154    d2node_spdf_cat = 6, d2node_spase_cat = 7
 
  162 typedef struct das_node {
 
  163    das_node_type_e nType;  
 
  176 DAS_API 
const char** das_root_urls(
size_t* pLen);
 
  219    const char* sPathUri, 
DasCredMngr* pMgr, 
const char* sAgent
 
  367 DAS_API 
bool DasNode_isJson(
const DasNode* pThis);
 
A dynamic buffer with multi-dimensional array style access.
 
Handle storing credentials during a Das2 session and optionally save them to a file.
 
das_json_type_e
The various types JSON values can be.
Definition: json.h:75
 
Sheredom's json.h parser with global symbol name changes.
 
Credentials manager Handles a list of login credentials and supplies these as needed for network oper...
Definition: credentials.h:117
 
JSON Dom Element.
Definition: json.h:153
 
Base type for das2 catalog nodes.
Definition: node.h:162
 
DAS_API void del_RootNode(DasNode *pNode)
Delete a root node freeing it's memory.
 
DAS_API const DasJdo * DasNode_getJdoType(const DasNode *pThis, enum das_json_type_e, const char *sFragment)
Get a JSON document object of a particular type at a fragment location.
 
DAS_API DasNode * new_RootNode_url(const char *sUrl, const char *sPathUri, DasCredMngr *pMgr, const char *sAgent)
Create a new root catalog node via direct URL.
 
DAS_API bool DasNode_isSpaseRec(const DasNode *pNode)
Determine if this node is a SPASE record.
 
DAS_API const DasJdo * DasNode_getJdo(const DasNode *pThis, const char *sFragment)
Get a JSON document object at a fragment location in a node.
 
DAS_API bool DasNode_isSpdfCat(const DasNode *pNode)
Determine if this node is an SPDF catalog.
 
DAS_API const char * DasNode_title(const DasNode *pThis)
Get the node short description, if provided.
 
DAS_API DasNode * DasNode_subNode(DasNode *pThis, const char *sRelPath, DasCredMngr *pMgr, const char *sAgent)
Get a das2 catalog node contained item.
 
DAS_API DasNode * new_RootNode(const char *sPathUri, DasCredMngr *pMgr, const char *sAgent)
Create a new root catalog node via a path URI.
 
DAS_API const char * DasNode_pathUri(const DasNode *pThis)
Get the path URI for this catalog node.
 
DAS_API const char * DasNode_srcUrl(const DasNode *pThis)
Get the location from which this catalog node was read.
 
DAS_API bool DasNode_isStreamSrc(const DasNode *pNode)
Determine if this node defines a das2 stream source.
 
DAS_API das_node_type_e DasNode_type(const DasNode *pThis)
Get the type of node This is a more specific question than the 'is' functions below,...
 
DAS_API bool DasNode_isCatalog(const DasNode *pNode)
Returns true this node can contain sub nodes.
 
DAS_API const char * DasNode_name(const DasNode *pThis)
Get the node title.