Exemplo n.º 1
0
void HisBase::Load()
{
	if (isnew && !isloaded)
	{
		isloaded = true;
		node = xmlNewNode(NULL,this->GetNodeName());
		return;
	}
	if (!isloaded)
	{
		isloaded = true;
		DoInternalLoad(node);
	}
}
Exemplo n.º 2
0
void InternalLoad(LispEnvironment& aEnvironment, const std::string& aFileName)
{
    const std::string oper = InternalUnstringify(aFileName);

    InputStatus oldstatus = aEnvironment.iInputStatus;
    aEnvironment.iInputStatus.SetTo(oper);

    //TODO make the file api platform independent!!!!
    // Open file
    LispLocalFile localFP(aEnvironment, oper, true,
                          aEnvironment.iInputDirectories);

    if (!localFP.stream.is_open())
        throw LispErrFileNotFound();

    StdFileInput newInput(localFP, aEnvironment.iInputStatus);
    DoInternalLoad(aEnvironment, &newInput);

    aEnvironment.iInputStatus.RestoreFrom(oldstatus);
}