From 6abf0a22c47876aca1d1ce07b22b1baa65b306af Mon Sep 17 00:00:00 2001 From: am0ebe <am0ebe@gmx.de> Date: Tue, 13 Sep 2022 19:05:24 +0200 Subject: [PATCH] tablewidget list cams. randomString() for testing, extract addCol() func, add dockwidget_right with openclose button and connect it to openCloseCam, add curCam, ... --- VimbaC/Include/VmbCommonTypes.h | 1 + .../x86_64bit/AsynchronousOpenCVRecorder | Bin 171960 -> 167864 bytes .../x86_64bit/AsynchronousOpenCVRecorder.o | Bin 94592 -> 93792 bytes .../moc_AsynchronousOpenCVRecorder.o | Bin 19560 -> 19560 bytes .../Qt/Source/ApiController.cpp | 3 + .../Qt/Source/FrameObserver.h | 2 + .../Qt/Source/OpenCVVideoRecorder.h | 2 +- recorder/obj/moc_mainwindow.cpp | 34 ++--- recorder/src/mainwindow.cpp | 126 +++++++++++------- recorder/src/mainwindow.h | 11 +- recorder/src/mainwindow.ui | 90 ++++++------- recorder/src/utils.cpp | 17 ++- recorder/src/utils.h | 1 + 13 files changed, 174 insertions(+), 113 deletions(-) diff --git a/VimbaC/Include/VmbCommonTypes.h b/VimbaC/Include/VmbCommonTypes.h index c635ad7..a0f1c31 100644 --- a/VimbaC/Include/VmbCommonTypes.h +++ b/VimbaC/Include/VmbCommonTypes.h @@ -105,6 +105,7 @@ extern "C" { // typedef enum VmbErrorType { + VmbErrorNothing = 27, // No error. No Success. Nothing really! VmbErrorSuccess = 0, // No error VmbErrorInternalFault = -1, // Unexpected fault in VimbaC or driver VmbErrorApiNotStarted = -2, // VmbStartup() was not called before the current command diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Build/Make/binary/x86_64bit/AsynchronousOpenCVRecorder b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Build/Make/binary/x86_64bit/AsynchronousOpenCVRecorder index dfa3e9df22861ec741c5ba53ae8112ef6701a1f0..4bb665099cef4a9b6aeae0a51489baf503e8dba8 100755 GIT binary patch delta 33079 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 Ns$3YS&zjC82LS3=7!Lpd delta 33566 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 diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Build/Make/object/x86_64bit/AsynchronousOpenCVRecorder.o b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Build/Make/object/x86_64bit/AsynchronousOpenCVRecorder.o index d1129011baa2f9826116d75a10da9353a1f94e66..c96cfdb535b5a2f5649fbcb610517b14f5bf0b30 100644 GIT binary patch delta 16959 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 U(VX)HsGenDU<jU`SjZ?302X!_<^TWy delta 17483 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 OGcYiuPIt^>lm`H{;f$gH diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Build/Make/object/x86_64bit/moc_AsynchronousOpenCVRecorder.o b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Build/Make/object/x86_64bit/moc_AsynchronousOpenCVRecorder.o index 82d4e4be4a2557ed7972617f7e224024f2212e42..0de13c04305377ca7583ced82d120adfad603c9e 100644 GIT binary patch delta 24 gcmaDcgYm@-#tl!{SOpjv7?>v)GM8^oVCQfJ0C2_!n*aa+ delta 24 gcmaDcgYm@-#tl!{SS1)47?>v)GM8^oVCQfJ0C6@4qW}N^ diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/ApiController.cpp b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/ApiController.cpp index 76db9d6..ce18c52 100644 --- a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/ApiController.cpp +++ b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/ApiController.cpp @@ -313,6 +313,9 @@ VmbErrorType ApiController::QueueFrame( FramePtr pFrame ) QObject* ApiController::GetCameraObserver() { return SP_DYN_CAST( m_pCameraObserver, CameraObserver ).get(); + // so same as + // return SP_ACCESS(SP_DYN_CAST( m_pCameraObserver, CameraObserver ); + // ?? } // diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/FrameObserver.h b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/FrameObserver.h index f714cfb..a0440f1 100644 --- a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/FrameObserver.h +++ b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/FrameObserver.h @@ -40,6 +40,8 @@ namespace AVT { namespace VmbAPI { namespace Examples { +//Why VIRTUAL inheritance?? https://www.sandordargo.com/blog/2020/12/23/virtual-inheritance + class FrameObserver : public QObject, virtual public IFrameObserver { Q_OBJECT diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/OpenCVVideoRecorder.h b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/OpenCVVideoRecorder.h index ba0520e..8166854 100644 --- a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/OpenCVVideoRecorder.h +++ b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/OpenCVVideoRecorder.h @@ -255,7 +255,7 @@ class OpenCVRecorder: public QThread // Details: main thread processing function that will run while the object is alife. // // - void run() + void run() override { while( ! m_StopThread ) { diff --git a/recorder/obj/moc_mainwindow.cpp b/recorder/obj/moc_mainwindow.cpp index d61dda2..871145e 100644 --- a/recorder/obj/moc_mainwindow.cpp +++ b/recorder/obj/moc_mainwindow.cpp @@ -22,8 +22,8 @@ QT_BEGIN_MOC_NAMESPACE QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED struct qt_meta_stringdata_MainWindow_t { - const uint offsetsAndSize[14]; - char stringdata0[55]; + const uint offsetsAndSize[16]; + char stringdata0[65]; }; #define QT_MOC_LITERAL(ofs, len) \ uint(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs), len @@ -35,11 +35,12 @@ QT_MOC_LITERAL(15, 0), // "" QT_MOC_LITERAL(16, 10), // "VmbError_t" QT_MOC_LITERAL(27, 3), // "err" QT_MOC_LITERAL(31, 10), // "updateCams" -QT_MOC_LITERAL(42, 12) // "opencloseCam" +QT_MOC_LITERAL(42, 12), // "openCloseCam" +QT_MOC_LITERAL(55, 9) // "selectCam" }, "MainWindow\0log\0\0VmbError_t\0err\0" - "updateCams\0opencloseCam" + "updateCams\0openCloseCam\0selectCam" }; #undef QT_MOC_LITERAL @@ -49,7 +50,7 @@ static const uint qt_meta_data_MainWindow[] = { 10, // revision 0, // classname 0, 0, // classinfo - 4, 14, // methods + 5, 14, // methods 0, 0, // properties 0, 0, // enums/sets 0, 0, // constructors @@ -57,15 +58,17 @@ static const uint qt_meta_data_MainWindow[] = { 0, // signalCount // slots: name, argc, parameters, tag, flags, initial metatype offsets - 1, 2, 38, 2, 0x0a, 1 /* Public */, - 1, 1, 43, 2, 0x2a, 4 /* Public | MethodCloned */, - 5, 0, 46, 2, 0x08, 6 /* Private */, - 6, 2, 47, 2, 0x08, 7 /* Private */, + 1, 2, 44, 2, 0x0a, 1 /* Public */, + 1, 1, 49, 2, 0x2a, 4 /* Public | MethodCloned */, + 5, 0, 52, 2, 0x08, 6 /* Private */, + 6, 0, 53, 2, 0x08, 7 /* Private */, + 7, 2, 54, 2, 0x08, 8 /* Private */, // slots: parameters QMetaType::Void, QMetaType::QString, 0x80000000 | 3, 2, 4, QMetaType::Void, QMetaType::QString, 2, QMetaType::Void, + QMetaType::Void, QMetaType::Void, QMetaType::Int, QMetaType::Int, 2, 2, 0 // eod @@ -80,7 +83,8 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, case 0: _t->log((*reinterpret_cast< std::add_pointer_t<QString>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<VmbError_t>>(_a[2]))); break; case 1: _t->log((*reinterpret_cast< std::add_pointer_t<QString>>(_a[1]))); break; case 2: _t->updateCams(); break; - case 3: _t->opencloseCam((*reinterpret_cast< std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<int>>(_a[2]))); break; + case 3: _t->openCloseCam(); break; + case 4: _t->selectCam((*reinterpret_cast< std::add_pointer_t<int>>(_a[1])),(*reinterpret_cast< std::add_pointer_t<int>>(_a[2]))); break; default: ; } } @@ -94,7 +98,7 @@ const QMetaObject MainWindow::staticMetaObject = { { nullptr, qt_incomplete_metaTypeArray<qt_meta_stringdata_MainWindow_t , QtPrivate::TypeAndForceComplete<MainWindow, std::true_type> -, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QString, std::false_type>, QtPrivate::TypeAndForceComplete<VmbError_t, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QString, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<int, std::false_type>, QtPrivate::TypeAndForceComplete<int, std::false_type> +, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QString, std::false_type>, QtPrivate::TypeAndForceComplete<VmbError_t, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QString, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<int, std::false_type>, QtPrivate::TypeAndForceComplete<int, std::false_type> >, @@ -121,13 +125,13 @@ int MainWindow::qt_metacall(QMetaObject::Call _c, int _id, void **_a) if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { - if (_id < 4) + if (_id < 5) qt_static_metacall(this, _c, _id, _a); - _id -= 4; + _id -= 5; } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) { - if (_id < 4) + if (_id < 5) *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType(); - _id -= 4; + _id -= 5; } return _id; } diff --git a/recorder/src/mainwindow.cpp b/recorder/src/mainwindow.cpp index dc9b118..1f18ef5 100644 --- a/recorder/src/mainwindow.cpp +++ b/recorder/src/mainwindow.cpp @@ -15,11 +15,17 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) , sys(VimbaSystem::GetInstance()) // Create and get Vimba singleton +, curCam(CameraPtr()) , cameras(CameraPtrVector()) +, camInfoNames({"name","model","id","serial","interface","state"}) { ui->setupUi(this); + ui->tw_cams->setColumnCount(camInfoNames.size()); + ui->tw_cams->setHorizontalHeaderLabels(camInfoNames); + QObject::connect(ui->b_update, SIGNAL(clicked()), this, SLOT(updateCams())); - QObject::connect(ui->tw_cams, SIGNAL(cellClicked(int,int)), this, SLOT(openCloseCam(int,int))); + QObject::connect(ui->b_openclose, SIGNAL(clicked()), this, SLOT(openCloseCam())); + QObject::connect(ui->tw_cams, SIGNAL(cellClicked(int,int)), this, SLOT(selectCam(int,int))); log(getVersionString()); @@ -57,45 +63,56 @@ void MainWindow::keyPressEvent(QKeyEvent *e) return QWidget::keyPressEvent(e); } -void MainWindow::opencloseCam(int row,int col) +void MainWindow::selectCam(int row,int ) { - log(QString("%1,%2").arg(row).arg(col)); - auto cam = cameras.at(row); - auto item = ui->tw_cams->itemAt(row,col); - if( item->text() == "opened" ) + curCam = cameras.at(row); + //display Stream on label (stackedWidget) + //display options in dockwidget-right + +} + +void MainWindow::openCloseCam() +{ + + QPushButton* b = ui->b_openclose; + if( b->text() == "open" ) { - //close - auto ret = cam->Close(); - log( QString("Close camera %1").arg(row), ret ); + auto ret = curCam->Open(VmbAccessModeFull); + if( ret == VmbErrorSuccess ) + b->setText("close"); + log( QString("Open camera"), ret ); } - else + else if( b->text() == "close" ) { - //open - auto ret = cam->Open(VmbAccessModeFull); - log( QString("Open camera %1").arg(row), ret ); + auto ret = curCam->Close(); + if( ret == VmbErrorSuccess ) + b->setText("open"); + log( QString("Close camera"), ret ); } } void MainWindow::updateCams() { - - ui->tw_cams->clear(); - - VmbErrorType err = sys.GetCameras( cameras ); // Fetch all cameras known to Vimba + // clear + ui->tw_cams->setRowCount(0); + ui->tw_cams->clearContents(); //dont remove headers + curCam = CameraPtr(); + cameras = CameraPtrVector(); + + // get new + VmbErrorType err = sys.GetCameras( cameras ); // fetch all cameras known to Vimba if( VmbErrorSuccess == err ) { // query and print all _static_ details of all known cams [without opening cams] auto ncam = cameras.size(); log( QString("Found %1 Camera%2!").arg(ncam).arg(ncam>1?"s":"")); - auto mf = std::bind(&MainWindow::printCamInfo, this, std::placeholders::_1); //weird syntax for calling non-static memberfunction in for_each... + auto mf = std::bind(&MainWindow::getCamInfo, this, std::placeholders::_1); //weird syntax for calling non-static memberfunction in for_each... - ui->tw_cams->setRowCount(ncam); + // ui->tw_cams->setRowCount(ncam); std::for_each( cameras.begin(), cameras.end(), mf ); if( cameras.size() ) - { - ui->tw_cams->setCurrentCell(0,0); //XXX select row? - } + ui->tw_cams->setCurrentCell(0,0); //select row } else { @@ -103,49 +120,66 @@ void MainWindow::updateCams() } } -/// get static cam info and add to listwidget -void MainWindow::printCamInfo( const CameraPtr &camera ) +/// get static cam info +void MainWindow::getCamInfo( const CameraPtr &camera ) { - std::string strID, strName, strModelName, strSerialNumber, strInterfaceID, strCaminfo; + std::string str; + QStringList infos; - VmbErrorType err = camera->GetID( strID ); + VmbErrorType err = camera->GetID( str ); if( VmbErrorSuccess != err ) - strID = errorCodeToMessage(err).toStdString(); + str = errorCodeToMessage(err).toStdString(); + infos << QString::fromStdString(str); - err = camera->GetName( strName ); + err = camera->GetName( str ); if( VmbErrorSuccess != err ) - strName = errorCodeToMessage(err).toStdString(); + str = errorCodeToMessage(err).toStdString(); + infos << QString::fromStdString(str); - err = camera->GetModel( strModelName ); + err = camera->GetModel( str ); if( VmbErrorSuccess != err ) - strModelName = errorCodeToMessage(err).toStdString(); + str = errorCodeToMessage(err).toStdString(); + infos << QString::fromStdString(str); - err = camera->GetSerialNumber( strSerialNumber ); + err = camera->GetSerialNumber( str ); if( VmbErrorSuccess != err ) - strSerialNumber = errorCodeToMessage(err).toStdString(); + str = errorCodeToMessage(err).toStdString(); + infos << QString::fromStdString(str); - err = camera->GetInterfaceID( strInterfaceID ); + err = camera->GetInterfaceID( str ); if( VmbErrorSuccess != err ) - strInterfaceID = errorCodeToMessage(err).toStdString(); + str = errorCodeToMessage(err).toStdString(); + infos << QString::fromStdString(str); - strCaminfo = \ - "Name : " + strName + - "\nModel : " + strModelName + - "\nID : " + strID + - "\nSerial : " + strSerialNumber + - "\n@Interface : " + strInterfaceID + "\n\n"; - QString caminfo = QString::fromStdString(strCaminfo); + infos << "closed"; //initially cams are closed, right? + //XXX use sth like isClosed() instead?? - auto row = ui->tw_cams->rowCount()-1; + //XXX use icon instead of text + //QTableWidgetItem(const QIcon &icon, const QString &text, int type = Type) - ui->tw_cams->setItem( row, 0, new QTableWidgetItem( caminfo ) ); - ui->tw_cams->setItem( row, 1, new QTableWidgetItem("closed") ); //XXX setIcon ?? + addRow(infos); + QStringList sl= {randomString(),randomString(),randomString(),randomString(),randomString(),randomString()}; + addRow(sl); } +///add row to listwidget +void MainWindow::addRow( QStringList& camInfos ) +{ + auto row = ui->tw_cams->rowCount(); + ui->tw_cams->setRowCount(row+1); + for( auto col=0; col < ui->tw_cams->columnCount(); col++) + { + auto item = new QTableWidgetItem( camInfos.at(col) ); + item->setTextAlignment(Qt::AlignCenter); + item->setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable); //but not editable! + + ui->tw_cams->setItem( row, col, item ); + } +} void MainWindow::log(QString msg, VmbError_t err ) { - msg.append(QString("%1" ).arg(errorCodeToMessage(err))); + msg.append(QString("%1").arg(errorCodeToMessage(err))); //for std::string, use: log(QString::fromStdString(msg)) auto idx = ui->lw_log->count()-1; diff --git a/recorder/src/mainwindow.h b/recorder/src/mainwindow.h index f1edef9..2aad2d3 100644 --- a/recorder/src/mainwindow.h +++ b/recorder/src/mainwindow.h @@ -18,20 +18,25 @@ public: ~MainWindow(); public slots: - void log(QString,VmbError_t err = VmbErrorSuccess); + void log(QString,VmbError_t err = VmbErrorNothing); private slots: void updateCams(); - void opencloseCam(int,int); + void openCloseCam(); + void selectCam(int,int); protected: void keyPressEvent(QKeyEvent *); private: - void printCamInfo( const AVT::VmbAPI::CameraPtr &camera ); + void getCamInfo( const AVT::VmbAPI::CameraPtr &camera ); + void addRow( QStringList& ); Ui::MainWindow *ui; AVT::VmbAPI::VimbaSystem &sys; + + AVT::VmbAPI::CameraPtr curCam; AVT::VmbAPI::CameraPtrVector cameras; + QStringList camInfoNames; }; #endif // MAINWINDOW_H diff --git a/recorder/src/mainwindow.ui b/recorder/src/mainwindow.ui index 150c8ec..6613135 100644 --- a/recorder/src/mainwindow.ui +++ b/recorder/src/mainwindow.ui @@ -6,63 +6,36 @@ <rect> <x>0</x> <y>0</y> - <width>800</width> - <height>600</height> + <width>984</width> + <height>622</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralwidget"> - <widget class="QTableWidget" name="tw_cams_2"> - <property name="geometry"> - <rect> - <x>50</x> - <y>30</y> - <width>311</width> - <height>241</height> - </rect> - </property> - <property name="sizeAdjustPolicy"> - <enum>QAbstractScrollArea::AdjustToContents</enum> - </property> - <property name="rowCount"> - <number>3</number> - </property> - <property name="columnCount"> - <number>2</number> - </property> - <attribute name="horizontalHeaderVisible"> - <bool>false</bool> - </attribute> - <attribute name="horizontalHeaderCascadingSectionResizes"> - <bool>true</bool> - </attribute> - <attribute name="horizontalHeaderStretchLastSection"> - <bool>false</bool> - </attribute> - <attribute name="verticalHeaderCascadingSectionResizes"> - <bool>true</bool> - </attribute> - <row/> - <row/> - <row/> - <column/> - <column/> - </widget> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QLabel" name="l_vid"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> </widget> <widget class="QMenuBar" name="menubar"> <property name="geometry"> <rect> <x>0</x> <y>0</y> - <width>800</width> + <width>984</width> <height>22</height> </rect> </property> </widget> <widget class="QStatusBar" name="statusbar"/> - <widget class="QDockWidget" name="dockWidget"> + <widget class="QDockWidget" name="dockWidget_down"> <attribute name="dockWidgetArea"> <number>8</number> </attribute> @@ -74,7 +47,7 @@ </layout> </widget> </widget> - <widget class="QDockWidget" name="dockWidget_2"> + <widget class="QDockWidget" name="dockWidget_left"> <attribute name="dockWidgetArea"> <number>1</number> </attribute> @@ -83,20 +56,43 @@ <item> <widget class="QPushButton" name="b_update"> <property name="text"> - <string>update</string> + <string>update (search Cams)</string> </property> </widget> </item> <item> <widget class="QTableWidget" name="tw_cams"> - <property name="columnCount"> - <number>2</number> + <property name="selectionBehavior"> + <enum>QAbstractItemView::SelectRows</enum> + </property> + <property name="textElideMode"> + <enum>Qt::ElideNone</enum> </property> <attribute name="horizontalHeaderVisible"> - <bool>false</bool> + <bool>true</bool> + </attribute> + <attribute name="verticalHeaderVisible"> + <bool>true</bool> + </attribute> + <attribute name="verticalHeaderStretchLastSection"> + <bool>true</bool> </attribute> - <column/> - <column/> + </widget> + </item> + </layout> + </widget> + </widget> + <widget class="QDockWidget" name="dockWidget_right"> + <attribute name="dockWidgetArea"> + <number>2</number> + </attribute> + <widget class="QWidget" name="dockWidgetContents_3"> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QPushButton" name="b_openclose"> + <property name="text"> + <string>open</string> + </property> </widget> </item> </layout> diff --git a/recorder/src/utils.cpp b/recorder/src/utils.cpp index 62aec56..eaa904f 100644 --- a/recorder/src/utils.cpp +++ b/recorder/src/utils.cpp @@ -1,8 +1,11 @@ #include "opencv2/core/version.hpp" +#include <random> + #include "mainwindow.h" #include "VimbaCPP/Include/VimbaCPP.h" #include <QString> +#include <QDebug> const int APP_VERSION_MAJOR = 0; @@ -32,7 +35,8 @@ const QString errorCodeToMessage( VmbError_t err ) switch( err ) { default: msg += "Unknown"; break; - case VmbErrorSuccess: msg = ""; break; + case VmbErrorNothing: msg = ""; break; + case VmbErrorSuccess: msg = "Success"; break; case VmbErrorInternalFault: msg += "Unexpected fault in VmbApi or driver."; break; case VmbErrorApiNotStarted: msg += "API not started."; break; case VmbErrorNotFound: msg += "Not found."; break; @@ -55,3 +59,14 @@ const QString errorCodeToMessage( VmbError_t err ) return msg; } +QString randomString() +{ + QStringList list{"a", "b", "c", "d", "e", "f", "g"}; + //, "h", "i", "j", "k", "l", "m"}; + std::random_device rd; + std::mt19937 g(rd()); + std::shuffle(list.begin(), list.end(), g); + QString randomString = list.join(""); + qDebug() << "Random string:" << randomString; + return randomString; +} diff --git a/recorder/src/utils.h b/recorder/src/utils.h index 5df4833..1efdd38 100644 --- a/recorder/src/utils.h +++ b/recorder/src/utils.h @@ -7,5 +7,6 @@ const QString getVersionString(); const QString errorCodeToMessage( VmbError_t ); +QString randomString(); #endif -- GitLab