void parseNextBkToken (RDFFile f, char* token) { /* printf(token); */ if (token[0] == '<') { bkStateTransition(f, token); } else { /* ok, we have a piece of content. can be the title, or a description or */ if ((f->status == IN_TITLE) || (f->status == IN_H3) || (f->status == IN_ITEM_TITLE)) { if (IN_H3 && gBkFolderDate) { char url[150]; RDF_Resource newFolder; sprintf(url, "%s%s.rdf", gBkFolderDate, token); newFolder = createContainer(url); addSlotValue(f,newFolder, gCoreVocab->RDF_parent, f->stack[f->depth-1], RDF_RESOURCE_TYPE, true); freeMem(gBkFolderDate); gBkFolderDate = NULL; f->lastItem = newFolder; } addSlotValue(f, f->lastItem, gCoreVocab->RDF_name, copyString(token), RDF_STRING_TYPE, true); if (startsWith("Personal Toolbar", token) && (containerp(f->lastItem))) nlocalStoreAssert(gLocalStore, f->lastItem, gCoreVocab->RDF_instanceOf, gNavCenter->RDF_PersonalToolbarFolderCategory, RDF_RESOURCE_TYPE, true); } else if (f->status == IN_ITEM_DESCRIPTION) { addDescription(f, f->lastItem, token); } } }
RDFUtil_GetFirstInstance (RDF_Resource type, char* defaultURL) { RDF_Resource bmk = nlocalStoreGetSlotValue(gLocalStore, type, gCoreVocab->RDF_instanceOf, RDF_RESOURCE_TYPE, true, true); if (bmk == NULL) { bmk = RDF_GetResource(NULL, defaultURL, 1); nlocalStoreAssert(gLocalStore, bmk, gCoreVocab->RDF_instanceOf, type, RDF_RESOURCE_TYPE, 1); } return bmk; }
RDFUtil_SetFirstInstance (RDF_Resource type, RDF_Resource item) { RDF_Resource bmk = nlocalStoreGetSlotValue(gLocalStore, type, gCoreVocab->RDF_instanceOf, RDF_RESOURCE_TYPE, true, true); if (bmk) { nlocalStoreUnassert(gLocalStore, bmk, gCoreVocab->RDF_instanceOf, type, RDF_RESOURCE_TYPE); } if (item) { nlocalStoreAssert(gLocalStore, item, gCoreVocab->RDF_instanceOf, type, RDF_RESOURCE_TYPE, true); } }