#ifndef UTILS_H
#define UTILS_H
#include "VmbC/VmbCommonTypes.h" //VmbError_t -> cant really fwd-decl typedef...??
#include <atomic>
#include <chrono>
#include <QString>
#include <QList>
#include <QPair>
class QDir;
using std::chrono::seconds;
using namespace std::chrono_literals;
namespace utils
{
bool parseConfig(QList<QPair<QString,QString>>&, seconds&);
QString configFile(QString filename="");
QString settingsFile(QString filename="");
QString outDir(QString dirname="");
QString getFirstFileInAppDirEndingWith( QString const&);
const QStringList getVersions();
const QString getVersion();
const QString errorCodeToMessage( VmbError_t );
extern std::atomic<bool> running; //global flag to ensure proper exit of threads
int threadsPerCam();
int ncam();
const QChar DELIM='|';
typedef enum camtronErr
{
errCamIdx = 10, //!< camera index out of range
errNoCams = 11, //!< no cameras found
errRegisterCamObserver = 12, //!< cant register camobserver
errLessCamsThanExpected = 13, //!< no cameras found
} camtronErr;
} //namespace utils
#endif