AJA NTV2 SDK  17.1.1.1245
NTV2 SDK 17.1.1.1245
konaipjsonparse.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MIT */
2 //-------------------------------------------------------------------------------------------
3 // konaipjsonparse.h
4 // Implementation of ip json parser for 2110.
5 //
6 // Copyright (C) 2018 AJA Video Systems, Inc.
7 // Proprietary and Confidential information. All rights reserved.
8 //-------------------------------------------------------------------------------------------
9 
10 #ifndef IP_JSON_PARSE_H
11 #define IP_JSON_PARSE_H
12 
13 #include <QJsonObject>
14 #include <QJsonArray>
15 #include <QList>
16 
17 #include "ntv2config2022.h"
18 #include "ntv2config2110.h"
19 
20 #define MaxVal(X,Y) ((X) < (Y) ? (Y) : (X))
21 #define MinVal(X,Y) ((X) < (Y) ? (X) : (Y))
22 #define AbsVal(X) ((X) < 0 ? (-X) : (X))
23 
24 #define BUILD_DEMO 1
25 
26 //-------------------------------------------------------------------------------------------------
27 // CKonaIpJsonParse2110
28 //-------------------------------------------------------------------------------------------------
30 {
31 public:
34 
35  bool SetJson(const QJsonObject& topObj, bool verbose);
36  bool SetJsonProtocol(const QJsonObject& obj);
37  bool SetJsonNetwork(const QJsonObject& obj);
38 
39  bool SetJsonReceiveVideo(const QJsonArray& jsonArray);
40  bool SetJsonReceiveAudio(const QJsonArray& jsonArray);
41  bool SetJsonReceiveAnc(const QJsonArray& jsonArray);
42 
43  bool SetJsonTransmitVideo(const QJsonArray& jsonArray);
44  bool SetJsonTransmitAudio(const QJsonArray& jsonArray);
45  bool SetJsonTransmitAnc(const QJsonArray& jsonArray);
46 
47  bool JsonToStructNetwork(const QJsonObject& topObj, NetworkData2110& n2110);
48  bool StructToJsonNetwork(const NetworkData2110& n2110, QJsonObject& topObj);
49 
50  bool JsonToStructReceiveVideo(const QJsonArray& vArray, ReceiveVideoData2110& n2110);
51  bool StructToJsonReceiveVideo(const ReceiveVideoData2110& n2110, QJsonArray& topObj);
52  bool JsonToStructReceiveAudio(const QJsonArray& aArray, ReceiveAudioData2110& n2110);
53  bool StructToJsonReceiveAudio(const ReceiveAudioData2110& n2110, QJsonArray& aArray);
54  bool JsonToStructReceiveAnc(const QJsonArray& aArray, ReceiveAncData2110& n2110);
55  bool StructToJsonReceiveAnc(const ReceiveAncData2110& n2110, QJsonArray& aArray);
56 
57  bool JsonToStructTransmitVideo(const QJsonArray& vArray, TransmitVideoData2110& n2110);
58  bool StructToJsonTransmitVideo(const TransmitVideoData2110& n2110, QJsonArray& vArray);
59  bool JsonToStructTransmitAudio(const QJsonArray& aArray, TransmitAudioData2110& n2110);
60  bool StructToJsonTransmitAudio(const TransmitAudioData2110& n2110, QJsonArray& aArray);
61  bool JsonToStructTransmitAnc(const QJsonArray& aArray, TransmitAncData2110& n2110);
62  bool StructToJsonTransmitAnc(const TransmitAncData2110& n2110, QJsonArray& aArray);
63 
64  bool StructToJson( const NetworkData2110& net2110,
65  const ReceiveVideoData2110& vidRec2110,
66  const ReceiveAudioData2110& audRec2110,
67  const ReceiveAncData2110& ancRec2110,
68  const TransmitVideoData2110& vidTran2110,
69  const TransmitAudioData2110& audTran2110,
70  const TransmitAncData2110& ancTran2110,
71  QJsonObject& topObj);
72 
73  bool GetEnable(const std::string enableBoolString);
74  QString GetEnable(const bool enabled);
75  VPIDSampling GetSampling(const std::string samplingString);
76  QString GetSampling(const VPIDSampling sampling);
77  NTV2Channel GetChannel(const std::string channelString);
78  QString GetChannel(const NTV2Channel channel);
79  eSFP GetSfp(const std::string sfpString);
80  QString GetSfp(const eSFP sfp);
81  NTV2Stream GetAudioStream(const std::string streamString);
82  QString GetAudioStream(const NTV2Stream stream);
83  NTV2Stream GetAncStream(const std::string streamString);
84  QString GetAncStream(const NTV2Stream stream);
85  eNTV2PacketInterval GetAudioPktInterval(const std::string streamString);
86  QString GetAudioPktInterval(const eNTV2PacketInterval stream);
87  NTV2Stream GetVideoStream(const std::string streamString);
88  QString GetVideoStream(const NTV2Stream stream);
89  void GetGrandMasterID(const std::string str, uint8_t (&id)[8]);
90  QString GetGrandMasterID(const uint8_t id[8]);
91 
92 public:
93  bool m_verbose;
94 
95  QJsonObject m_topJson;
96  QJsonObject m_protocolJson;
97  QJsonObject m_netJson;
98  QJsonArray m_receiveVideoJson;
99  QJsonArray m_receiveAudioJson;
100  QJsonArray m_receiveAncJson;
103  QJsonArray m_transmitAncJson;
104 
112 };
113 
114 
115 #endif // IP_JSON_PARSE_H
CKonaIpJsonParse2110::StructToJsonReceiveAudio
bool StructToJsonReceiveAudio(const ReceiveAudioData2110 &n2110, QJsonArray &aArray)
Definition: konaipjsonparse.cpp:757
eSFP
eSFP
Definition: ntv2mbcontroller.h:38
CKonaIpJsonParse2110::m_receiveAncJson
QJsonArray m_receiveAncJson
Definition: konaipjsonparse.h:100
CKonaIpJsonParse2110::m_receiveVideo2110
ReceiveVideoData2110 m_receiveVideo2110
Definition: konaipjsonparse.h:106
CKonaIpJsonParse2110::m_transmitAncJson
QJsonArray m_transmitAncJson
Definition: konaipjsonparse.h:103
CKonaIpJsonParse2110::StructToJsonTransmitVideo
bool StructToJsonTransmitVideo(const TransmitVideoData2110 &n2110, QJsonArray &vArray)
Definition: konaipjsonparse.cpp:951
NTV2Channel
NTV2Channel
These enum values are mostly used to identify a specific widget_framestore. They're also commonly use...
Definition: ntv2enums.h:1305
CKonaIpJsonParse2110::SetJsonNetwork
bool SetJsonNetwork(const QJsonObject &obj)
Definition: konaipjsonparse.cpp:118
CKonaIpJsonParse2110::m_transmitAudioJson
QJsonArray m_transmitAudioJson
Definition: konaipjsonparse.h:102
CKonaIpJsonParse2110::m_protocolJson
QJsonObject m_protocolJson
Definition: konaipjsonparse.h:96
CKonaIpJsonParse2110::m_netJson
QJsonObject m_netJson
Definition: konaipjsonparse.h:97
CKonaIpJsonParse2110::GetAncStream
NTV2Stream GetAncStream(const std::string streamString)
Definition: konaipjsonparse.cpp:391
CKonaIpJsonParse2110::SetJsonReceiveAudio
bool SetJsonReceiveAudio(const QJsonArray &jsonArray)
Definition: konaipjsonparse.cpp:146
TransmitVideoData2110
Definition: ntv2config2110.h:177
CKonaIpJsonParse2110::m_receiveAnc2110
ReceiveAncData2110 m_receiveAnc2110
Definition: konaipjsonparse.h:108
eNTV2PacketInterval
eNTV2PacketInterval
Definition: ntv2mbcontroller.h:32
CKonaIpJsonParse2110::m_receiveAudio2110
ReceiveAudioData2110 m_receiveAudio2110
Definition: konaipjsonparse.h:107
CKonaIpJsonParse2110::m_transmitAnc2110
TransmitAncData2110 m_transmitAnc2110
Definition: konaipjsonparse.h:111
CKonaIpJsonParse2110::m_receiveVideoJson
QJsonArray m_receiveVideoJson
Definition: konaipjsonparse.h:98
CKonaIpJsonParse2110::GetVideoStream
NTV2Stream GetVideoStream(const std::string streamString)
Definition: konaipjsonparse.cpp:319
CKonaIpJsonParse2110::JsonToStructReceiveAnc
bool JsonToStructReceiveAnc(const QJsonArray &aArray, ReceiveAncData2110 &n2110)
Definition: konaipjsonparse.cpp:790
CKonaIpJsonParse2110::m_transmitVideo2110
TransmitVideoData2110 m_transmitVideo2110
Definition: konaipjsonparse.h:109
CKonaIpJsonParse2110::StructToJson
bool StructToJson(const NetworkData2110 &net2110, const ReceiveVideoData2110 &vidRec2110, const ReceiveAudioData2110 &audRec2110, const ReceiveAncData2110 &ancRec2110, const TransmitVideoData2110 &vidTran2110, const TransmitAudioData2110 &audTran2110, const TransmitAncData2110 &ancTran2110, QJsonObject &topObj)
Definition: konaipjsonparse.cpp:1162
CKonaIpJsonParse2110::m_verbose
bool m_verbose
Definition: konaipjsonparse.h:93
ReceiveVideoData2110
Definition: ntv2config2110.h:195
CKonaIpJsonParse2110::SetJsonReceiveVideo
bool SetJsonReceiveVideo(const QJsonArray &jsonArray)
Definition: konaipjsonparse.cpp:132
ntv2config2022.h
Declares the CNTV2Config2022 class.
TransmitAudioData2110
Definition: ntv2config2110.h:183
CKonaIpJsonParse2110::m_transmitVideoJson
QJsonArray m_transmitVideoJson
Definition: konaipjsonparse.h:101
CKonaIpJsonParse2110::m_topJson
QJsonObject m_topJson
Definition: konaipjsonparse.h:95
CKonaIpJsonParse2110::StructToJsonReceiveAnc
bool StructToJsonReceiveAnc(const ReceiveAncData2110 &n2110, QJsonArray &aArray)
Definition: konaipjsonparse.cpp:853
CKonaIpJsonParse2110::SetJsonReceiveAnc
bool SetJsonReceiveAnc(const QJsonArray &jsonArray)
Definition: konaipjsonparse.cpp:160
CKonaIpJsonParse2110::m_net2110
NetworkData2110 m_net2110
Definition: konaipjsonparse.h:105
CKonaIpJsonParse2110::JsonToStructReceiveVideo
bool JsonToStructReceiveVideo(const QJsonArray &vArray, ReceiveVideoData2110 &n2110)
Definition: konaipjsonparse.cpp:588
CKonaIpJsonParse2110::SetJsonTransmitVideo
bool SetJsonTransmitVideo(const QJsonArray &jsonArray)
Definition: konaipjsonparse.cpp:174
CKonaIpJsonParse2110::JsonToStructTransmitAnc
bool JsonToStructTransmitAnc(const QJsonArray &aArray, TransmitAncData2110 &n2110)
Definition: konaipjsonparse.cpp:1078
CKonaIpJsonParse2110::StructToJsonReceiveVideo
bool StructToJsonReceiveVideo(const ReceiveVideoData2110 &n2110, QJsonArray &topObj)
Definition: konaipjsonparse.cpp:657
NetworkData2110
Definition: ntv2config2110.h:164
TransmitAncData2110
Definition: ntv2config2110.h:189
CKonaIpJsonParse2110::JsonToStructReceiveAudio
bool JsonToStructReceiveAudio(const QJsonArray &aArray, ReceiveAudioData2110 &n2110)
Definition: konaipjsonparse.cpp:686
VPIDSampling
VPIDSampling
Definition: ntv2enums.h:4005
CKonaIpJsonParse2110::m_transmitAudio2110
TransmitAudioData2110 m_transmitAudio2110
Definition: konaipjsonparse.h:110
CKonaIpJsonParse2110::GetEnable
bool GetEnable(const std::string enableBoolString)
Definition: konaipjsonparse.cpp:216
CKonaIpJsonParse2110::SetJsonTransmitAnc
bool SetJsonTransmitAnc(const QJsonArray &jsonArray)
Definition: konaipjsonparse.cpp:202
CKonaIpJsonParse2110::GetSfp
eSFP GetSfp(const std::string sfpString)
Definition: konaipjsonparse.cpp:291
NTV2Stream
NTV2Stream
Identifies a specific IP-based data stream.
Definition: ntv2enums.h:1352
CKonaIpJsonParse2110::JsonToStructNetwork
bool JsonToStructNetwork(const QJsonObject &topObj, NetworkData2110 &n2110)
Definition: konaipjsonparse.cpp:487
CKonaIpJsonParse2110::GetChannel
NTV2Channel GetChannel(const std::string channelString)
Definition: konaipjsonparse.cpp:255
CKonaIpJsonParse2110::GetAudioStream
NTV2Stream GetAudioStream(const std::string streamString)
Definition: konaipjsonparse.cpp:355
CKonaIpJsonParse2110::SetJson
bool SetJson(const QJsonObject &topObj, bool verbose)
Definition: konaipjsonparse.cpp:31
CKonaIpJsonParse2110::~CKonaIpJsonParse2110
~CKonaIpJsonParse2110()
Definition: konaipjsonparse.cpp:27
ReceiveAncData2110
Definition: ntv2config2110.h:207
CKonaIpJsonParse2110::GetGrandMasterID
void GetGrandMasterID(const std::string str, uint8_t(&id)[8])
Definition: konaipjsonparse.cpp:455
CKonaIpJsonParse2110::SetJsonProtocol
bool SetJsonProtocol(const QJsonObject &obj)
Definition: konaipjsonparse.cpp:112
CKonaIpJsonParse2110::CKonaIpJsonParse2110
CKonaIpJsonParse2110()
Definition: konaipjsonparse.cpp:22
ntv2config2110.h
Declares the CNTV2Config2110 class.
CKonaIpJsonParse2110
Definition: konaipjsonparse.h:29
ReceiveAudioData2110
Definition: ntv2config2110.h:201
CKonaIpJsonParse2110::m_receiveAudioJson
QJsonArray m_receiveAudioJson
Definition: konaipjsonparse.h:99
CKonaIpJsonParse2110::SetJsonTransmitAudio
bool SetJsonTransmitAudio(const QJsonArray &jsonArray)
Definition: konaipjsonparse.cpp:188
CKonaIpJsonParse2110::StructToJsonNetwork
bool StructToJsonNetwork(const NetworkData2110 &n2110, QJsonObject &topObj)
Definition: konaipjsonparse.cpp:552
CKonaIpJsonParse2110::StructToJsonTransmitAnc
bool StructToJsonTransmitAnc(const TransmitAncData2110 &n2110, QJsonArray &aArray)
Definition: konaipjsonparse.cpp:1135
CKonaIpJsonParse2110::GetSampling
VPIDSampling GetSampling(const std::string samplingString)
Definition: konaipjsonparse.cpp:229
CKonaIpJsonParse2110::JsonToStructTransmitVideo
bool JsonToStructTransmitVideo(const QJsonArray &vArray, TransmitVideoData2110 &n2110)
Definition: konaipjsonparse.cpp:883
CKonaIpJsonParse2110::GetAudioPktInterval
eNTV2PacketInterval GetAudioPktInterval(const std::string streamString)
Definition: konaipjsonparse.cpp:427
CKonaIpJsonParse2110::JsonToStructTransmitAudio
bool JsonToStructTransmitAudio(const QJsonArray &aArray, TransmitAudioData2110 &n2110)
Definition: konaipjsonparse.cpp:980
CKonaIpJsonParse2110::StructToJsonTransmitAudio
bool StructToJsonTransmitAudio(const TransmitAudioData2110 &n2110, QJsonArray &aArray)
Definition: konaipjsonparse.cpp:1047