void loadVersionInfo()

Load the basic info of the bible. You would probably always call this method after initializing a BiblePlus instance

Source

void loadVersionInfo() {
  _failReason = SUCCESS;

  try {
    _header = _pdbAccess.header;
  } on Exception {
    _failReason = ERR_NOT_PDB_FILE;
    throw new Exception('ERR_NOT_PDB_FILE');
  }

  if (_pdbAccess.isCorrupted == true) {
    _failReason = ERR_FILE_CORRUPTED;
    throw new Exception('ERR_FILE_CORRUPTED');
  }

  if (_header.type != 'bibl') {
    _failReason = ERR_NOT_BIBLE_PLUS_FILE;
    throw new Exception('ERR_NOT_BIBLE_PLUS_FILE');
  }

  PdbRecord version = _pdbAccess.readRecord(0);

  Uint8List data = version.data;

  int index = 0;
  _versionName = data.sublist(index, index + 16);
  index += 16;
  _versionInfo = data.sublist(index, index + 128);
  index += 128;
  _sepChar = data.sublist(index, index + 1);
  index++;
  _versionAttr = data[index] & 0xff;
  index++;
  _wordIndex = Util.readShort(data, index);
  index += 2;
  _totalWordRec = Util.readShort(data, index);
  index += 2;
  if (_wordIndex + _totalWordRec >= _header.totalRecords) {
    _failReason = ERR_FILE_CORRUPTED;
    throw new Exception('ERR_FILE_CORRUPTED');
  }
  int totalBooks = Util.readShort(data, index);
  index += 2;
  if (totalBooks < 0) {
    _failReason = ERR_FILE_CORRUPTED;
    throw new Exception('ERR_FILE_CORRUPTED');
  }

  _books = new List(totalBooks);

  for (int i = 0; i < totalBooks; i++) {
    if (index + _bookRecSize > data.length) {
      _failReason = ERR_FILE_CORRUPTED;
      throw new Exception('ERR_FILE_CORRUPTED');
    }

    try {
      _books[i] = new BibleBook(this, data, index);
    } on Exception {
      _failReason = ERR_FILE_CORRUPTED;
      throw new Exception('ERR_FILE_CORRUPTED');
    }

    index += _bookRecSize;
  }

  _pdbAccess.removeFromCache(0);
}