AJA NTV2 SDK  17.5.0.1242
NTV2 SDK 17.5.0.1242
main.cpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
2 #include <QCoreApplication>
3 #include <QCommandLineParser>
4 #include "konaipjsonsetup.h"
5 #include "QDebug"
6 #include "keywords.h"
7 
8 int main(int argc, char *argv[])
9 {
10  QCoreApplication a(argc, argv);
11 
12  QCommandLineParser parser;
13  parser.setApplicationDescription("Kona IP Json Setup");
14  parser.addHelpOption();
15  parser.addVersionOption();
16  const QCommandLineOption deviceOption("d", "device to use", "device");
17  parser.addOption(deviceOption);
18  const QCommandLineOption boardOption("b", "device to use", "board");
19  parser.addOption(boardOption);
20  const QCommandLineOption keywordsOption("k", "list supported JSON keywords");
21  parser.addOption(keywordsOption);
22  parser.addPositionalArgument("InputJsonFile", QCoreApplication::translate("main", "Json File to Open."));
23 
24  parser.process(a);
25 
26  if (parser.isSet(keywordsOption))
27  {
28  std::cout << keywordList.toStdString() << std::endl;
29  exit(0);
30  }
31 
32 
33  QString device = "0";
34  if (parser.isSet(deviceOption))
35  {
36  device = parser.value(deviceOption);
37  }
38 
39  if (parser.isSet(boardOption))
40  {
41  device = parser.value(boardOption);
42  }
43  std::string devStr = device.toUtf8().constData();
44 
45  const QStringList args = parser.positionalArguments();
46  if ( args.size() == 1 )
47  {
48  qDebug() << args.at(0);
49 
50  CKonaIpJsonSetup jsonSetup;
51  bool rv = jsonSetup.openJson(args.at(0));
52  if (!rv)
53  {
54  std::cout << "Failed to parse JSON" << std::endl;
55  exit (-1);
56  }
57  jsonSetup.setupBoard(devStr);
58  }
59  else
60  {
61  parser.showHelp();
62  exit (-2);
63  }
64  exit(0);
65 }
keywords.h
konaipjsonsetup.h
keywordList
QString keywordList
Definition: keywords.h:5
CKonaIpJsonSetup::setupBoard
bool setupBoard(std::string deviceSpec)
Definition: konaipjsonsetup.cpp:289
main
int main(int argc, const char **argv)
Definition: main.cpp:30
CKonaIpJsonSetup::openJson
bool openJson(QString fileName)
Definition: konaipjsonsetup.cpp:32
CKonaIpJsonSetup
Definition: konaipjsonsetup.h:68