///
/// Save the MIME types configuration to xml data.
/// Returns negative on error.
//  Copied and modified from mime_manager.cpp
//  Old text way remove to make use of MemBuf
//
int MIMEtypeXML::save_core(XmlParser & xmlFile)
{
   if(Ext.isempty())
     return -1;

   // New xml_parser way...
   int i;

   xmlFile.newfile("MIMETYPES");

   for(i = 0; i < Ext.size(); i++)
     {
	xmlFile.addGroup("MIMETYPE");
	xmlFile.addChild("EXT", Ext.at(i)->Text);
	xmlFile.addChild("MIME", Mime.at(getType(i))->Text);
	char command[16];
	switch(getCmd(i))
	  {
	   case CMD_SEND:
	     strncpy(command,"SEND",16);
	     break;
	   case CMD_RUNCGI:
	     strncpy(command,"RUNCGI",16);
	     break;
	   case CMD_RUNMSCGI:
	     strncpy(command,"RUNMSCGI",16);
	     break;
	   case CMD_EXECUTE:
	     strncpy(command,"EXECUTE",16);
	     break;
	   case CMD_SENDLINK:
	     strncpy(command,"SENDLINK",16);
	     break;
	   case CMD_RUNISAPI:
	     strncpy(command,"RUNISAPI",16);
	     break;
	   case CMD_EXECUTEISAPI:
	     strncpy(command,"EXECUTEISAPI",16);
	     break;
	   case CMD_EXECUTEWINCGI:
	     strncpy(command,"EXECUTEWINCGI",16);
	     break;
	   case CMD_RUNFASTCGI:
	     strncpy(command,"RUNFASTCGI",16);
	     break;
	   case CMD_EXECUTEFASTCGI:
	     strncpy(command,"EXECUTEFASTCGI",16);
	     break;
	   case CMD_RUNSCGI:
	     strncpy(command,"RUNSCGI",13);
	     break;
	   case CMD_EXECUTESCGI:
	     strncpy(command,"EXECUTESCGI",11);
	     break;
	   default:
	     break;
	  }
	xmlFile.addChild("CMD", command);
	xmlFile.addChild("MANAGER", getManager(i));
	xmlFile.endGroup();
     }

   return 0;
}