#ifndef UTILS_H #define UTILS_H #include "typeDefinitions.h" #include <atomic> #include <QList> #include <QPair> class QDir; namespace utils { //GLOBALS QString configFile(QString filename=""); QString settingsFile(QString filename=""); QString outDir(QString dirname=""); seconds recDuration(seconds=0s); qint64 frameSize(qint64 frameSize=0); //Note: its an estimate and can be easily set in config! int fps(int fps=0); //TODO: no effect yet. int threadsPerCam(); int ncam(const int& n=0); //return number of cams const QChar DELIM='|'; extern std::atomic<bool> running; //global flag to ensure proper exit of threads //FUNCTIONS bool parseConfig(QList<QPair<QString,QString>>&); qint64 parseInt(const QString& key, const QJsonObject& jsonObject); QString parseString(const QString& key, const QJsonObject& jsonObject); bool parseBool(const QString& key, const QJsonObject& jsonObject); QString getFirstFileInAppDirEndingWith( QString const&); const QStringList getVersions(); const QString getVersion(); const QString errorCodeToMessage( VmbError_t ); //ENUMS typedef enum camtronErr { errWarning = 100, //!< warning errCamIdx, //!< camera index out of range errNoCams, //!< no cameras found errRegisterCamObserver, //!< cant register camobserver errLessCamsThanExpected, //!< no cameras found errRecordInvalid, //!< record invalid } camtronErr; } //namespace utils #endif