1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
/*******************************************************************/
/* XDMF */
/* eXtensible Data Model and Format */
/* */
/* Id : Id */
/* Date : $Date$ */
/* Version : $Revision$ */
/* */
/* Author: */
/* Jerry A. Clarke */
/* clarke@arl.army.mil */
/* US Army Research Laboratory */
/* Aberdeen Proving Ground, MD */
/* */
/* Copyright @ 2002 US Army Research Laboratory */
/* All Rights Reserved */
/* See Copyright.txt or http://www.arl.hpc.mil/ice for details */
/* */
/* This software is distributed WITHOUT ANY WARRANTY; without */
/* even the implied warranty of MERCHANTABILITY or FITNESS */
/* FOR A PARTICULAR PURPOSE. See the above copyright notice */
/* for more information. */
/* */
/*******************************************************************/
#include "XdmfLightData.h"
#include <libxml/tree.h>
namespace xdmf2
{
XdmfLightData::XdmfLightData() {
this->WorkingDirectory = NULL;
this->FileName = NULL;
this->Name = NULL;
this->StaticReturnBuffer = NULL;
// Defaults
this->SetFileName( "XdmfData.xmf" );
this->SetWorkingDirectory(".");
}
XdmfLightData::~XdmfLightData() {
if(this->StaticReturnBuffer){
delete [] this->StaticReturnBuffer;
}
if(this->WorkingDirectory){
delete [] this->WorkingDirectory;
}
if(this->Name){
delete [] this->Name;
}
if(this->FileName){
delete [] this->FileName;
}
}
// Copies xmlChar * to static area then frees chars
XdmfConstString XdmfLightData::DupChars(XdmfPointer Chars){
xmlChar *cp;
cp = (xmlChar *)Chars;
if(!cp) return(NULL);
if(this->StaticReturnBuffer) delete [] this->StaticReturnBuffer;
this->StaticReturnBuffer = new char[xmlStrlen(cp) + 1];
strcpy(this->StaticReturnBuffer, (char *)cp);
xmlFree(cp);
return(this->StaticReturnBuffer);
}
// Copies bufp->content to static area then frees buffer
XdmfConstString XdmfLightData::DupBuffer(XdmfPointer Buffer){
xmlBuffer *bufp;
bufp = (xmlBuffer *)Buffer;
if(!bufp) return(NULL);
if(this->StaticReturnBuffer) delete [] this->StaticReturnBuffer;
this->StaticReturnBuffer = new char[xmlBufferLength(bufp) + 1];
strcpy(this->StaticReturnBuffer, (char *)xmlBufferContent(bufp));
xmlBufferFree(bufp);
return(this->StaticReturnBuffer);
}
}
|