Example #1
0
bool KWIKFileSource::Open(File file)
{
    ScopedPointer<H5File> tmpFile;
    Attribute ver;
    uint16 vernum;
    try
    {
        tmpFile = new H5File(file.getFullPathName().toUTF8(),H5F_ACC_RDONLY);
        if (!tmpFile->attrExists("kwik_version"))
        {
            return false;
        }

        ver = tmpFile->openAttribute("kwik_version");
        ver.read(PredType::NATIVE_UINT16,&vernum);
        if ((vernum < MIN_KWIK_VERSION) || (vernum > MAX_KWIK_VERSION))
        {
            return false;
        }

        sourceFile = tmpFile;
        return true;

    }
    catch (FileIException error)
    {
        PROCESS_ERROR;
        return false;
    }
    catch (AttributeIException error)
    {
        PROCESS_ERROR;
        return false;
    }

    //Code should never reach here
    return false;
}