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; }