Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
utils.h 1.16 KiB
#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>>&);
QString configFile(QString filename="");
QString settingsFile(QString filename="");
QString outDir(QString dirname="");

int frameSize();
int fps();

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 int& n=0);
seconds recDuration(seconds duration=0s);

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
	errRecordInvalid = 14, //!< record invalid
} camtronErr;

} //namespace utils


#endif