# HG changeset patch # User LordOfWar # Date 2009-10-07 19:37:54 # Node ID 84866df98f7af41db5e6e66085981e6d11c80e44 # Parent 734207e4d1f8adff14e9b7a967bb37e4f00d5e56 created updateJobListXML(), its functionality is in the changelog diff --git a/src/server/distrend.c b/src/server/distrend.c --- a/src/server/distrend.c +++ b/src/server/distrend.c @@ -508,6 +508,38 @@ int makeSlaveDataXML(struct distrenjob * return 1; } +// returns 1 if successful +// updates job_list.xml which lists all the jobs in the queue +int updateJobListXML(struct distrenjob *head) +{ + struct distrenjob *job; + xmlTextWriterPtr writer; + char *tmp; + + _distren_asprintf(&tmp, "job_list.xml"); + writer = xmlNewTextWriterFilename(tmp, 0); + xmlTextWriterStartDocument(writer, NULL, "UTF-8", NULL); + + // create root element job_list + xmlTextWriterStartElement(writer, (xmlChar*)"job_list"); + + _distren_asprintf(&tmp, "%d", general_info.jobs_in_queue); + xmlTextWriterWriteAttribute(writer, (xmlChar*)"amount", (xmlChar*)tmp); + + for(job = head->next; !job; job = job->next) + { + _distren_asprintf(&tmp, "%d", job->jobnum); + xmlTextWriterWriteElement(writer, (xmlChar*)"jobnum", (xmlChar*)tmp); + } + + // close elements and end document + xmlTextWriterEndDocument(writer); + + // free writer and save xml file to disk + xmlFreeTextWriter(writer); + return 1; +} + /* ************************** Test Functions ************************* */ void printFrameInfo(struct frameset *frame) {