void beginReadingRDFFile (RDFFile file) { char *url; int method = 0; url = file->url; if (file->fileType == ES_RT) method = URL_INDEX_METHOD; rdf_GetURL (gRDFMWContext(), method, NULL, file); }
void beginReadingRDFFile (RDFFile file) { char *url; int method = 0; #ifndef MOZILLA_CLIENT /* If standalone, we just use to open the file */ NET_StreamClass stream; PRFileDesc *fd; PRFileInfo fi; PRBool bSuccess = FALSE; url = file->url; fd = CallPROpenUsingFileURL(url, PR_RDONLY, 0); if(fd) { if(PR_GetOpenFileInfo(fd, &fi) == PR_SUCCESS) { char* buf = malloc(fi.size); if(PR_Read(fd, buf, fi.size)) { stream.data_object = file; if(parseNextRDFXMLBlob (&stream, buf, fi.size)) bSuccess = TRUE; } free(buf); } PR_Close(fd); } if(bSuccess == TRUE) rdf_complete(&stream); #else url = file->url; if (file->fileType == ES_RT) method = URL_INDEX_METHOD; rdf_GetURL (gRDFMWContext(file->db), method, NULL, file); #endif }
/** go tell the directory that child got added to parent **/ void ESAddChild (RDF_Resource parent, RDF_Resource child) { URL_Struct *urls; void *feData, **files_to_post = NULL; if ((urls = NET_CreateURLStruct(resourceID(parent), NET_SUPER_RELOAD)) != NULL) { feData = (void *)esMakeFEData(parent, child, URL_POST_METHOD); if ((files_to_post = (char **)XP_ALLOC(2*sizeof(char *))) != NULL) { files_to_post[0] = nativeFilename(resourceID(child)); files_to_post[1] = NULL; } if ((feData != NULL) && (files_to_post != NULL)) { urls->files_to_post = (void *)files_to_post; urls->post_to = NULL; urls->method = URL_POST_METHOD; urls->fe_data = (void *)feData; NET_GetURL(urls, FO_PRESENT, (MWContext *)gRDFMWContext(), es_GetUrlExitFunc); } else { if (feData != NULL) { esFreeFEData(feData); } if (files_to_post != NULL) { if (files_to_post[0] != NULL) freeMem(files_to_post[0]); XP_FREE(files_to_post); } NET_FreeURLStruct(urls); } } }
/** remove the child from the directory **/ void ESRemoveChild (RDF_Resource parent, RDF_Resource child) { URL_Struct *urls; void *feData; if ((urls = NET_CreateURLStruct(resourceID(child), NET_SUPER_RELOAD)) != NULL) { feData = (void *)esMakeFEData(parent, child, URL_DELETE_METHOD); if (feData != NULL) { urls->method = URL_DELETE_METHOD; urls->fe_data = (void *)feData; NET_GetURL(urls, FO_PRESENT, (MWContext *)gRDFMWContext(), es_GetUrlExitFunc); } else { NET_FreeURLStruct(urls); } } }
void GetPopToRDF (RDFT rdf) { MF folder = (MF) rdf->pdata; if (endsWith("/inbox", rdf->url)) { char* popurl = getMem(100); int n = 10; int l = strlen(rdf->url); URL_Struct *urls ; memcpy(popurl, "pop3://", 7); while (n < l) { if (rdf->url[n] == '/') break; popurl[n-3] = rdf->url[n]; n++; } urls = NET_CreateURLStruct(popurl, NET_DONT_RELOAD); if (urls != NULL) { urls->fe_data = rdf; NET_GetURL(urls, FO_PRESENT, gRDFMWContext(rdf), Pop_GetUrlExitFunc); } } }