Example #1
0
bool plManifest::Read(const char* filename)
{
    plVersSection   versReader(this);
    plBaseSection   baseReader(this);

    plInitSectionReader* readers[] = { &versReader, &baseReader, nil };
    
    plInitFileReader reader(readers, 4096);     // Allow extra long lines
    reader.SetUnhandledSectionReader(&baseReader);
    
    if (!reader.Open(filename))
        return false;

    // Clear out before we read
    IReset();

    if (!reader.Parse())
        return false;

    return true;
}
bool plManifest::Read(hsStream* stream)
{
    plVersSection   versReader(this);
    plBaseSection   baseReader(this);

    plInitSectionReader* readers[] = { &versReader, &baseReader, nil };
    
    plInitFileReader reader(readers, 4096);     // Allow extra long lines
    reader.SetUnhandledSectionReader(&baseReader);
    
    // manifests don't need to be encrypted
    reader.SetRequireEncrypted(false);

    if (!reader.Open(stream))
        return false;

    // Clear out before we read
    IReset();

    if (!reader.Parse())
        return false;

    return true;
}