1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2024-12-29 12:20:41 +00:00
OpenMW/apps/launcher/utils/cellnameloader.hpp
elsid d18d860ea2
Catch and log exceptions on loading cell names
Instead of terminating the process.
2023-03-21 09:34:27 +01:00

47 lines
1.0 KiB
C++

#ifndef OPENMW_CELLNAMELOADER_H
#define OPENMW_CELLNAMELOADER_H
#include <QSet>
#include <QString>
#include <components/esm3/esmreader.hpp>
namespace ESM
{
class ESMReader;
struct Cell;
}
namespace ContentSelectorView
{
class ContentSelector;
}
class CellNameLoader
{
public:
/**
* Returns the names of all cells contained within the given content files
* @param contentPaths the file paths of each content file to be examined
* @return the names of all cells
*/
QSet<QString> getCellNames(const QStringList& contentPaths);
private:
/**
* Returns whether or not the given record is of type "Cell"
* @param name The name associated with the record
* @return whether or not the given record is of type "Cell"
*/
bool isCellRecord(ESM::NAME& name);
/**
* Returns the name of the cell
* @param esmReader the reader currently pointed to a loaded cell
* @return the name of the cell
*/
QString getCellName(ESM::ESMReader& esmReader);
};
#endif // OPENMW_CELLNAMELOADER_H