QueryAnalysisJobListResult.cc 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. /*
  2. * Copyright 2009-2017 Alibaba Cloud All rights reserved.
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include <alibabacloud/mts/model/QueryAnalysisJobListResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Mts;
  19. using namespace AlibabaCloud::Mts::Model;
  20. QueryAnalysisJobListResult::QueryAnalysisJobListResult() :
  21. ServiceResult()
  22. {}
  23. QueryAnalysisJobListResult::QueryAnalysisJobListResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. QueryAnalysisJobListResult::~QueryAnalysisJobListResult()
  29. {}
  30. void QueryAnalysisJobListResult::parse(const std::string &payload)
  31. {
  32. Json::Reader reader;
  33. Json::Value value;
  34. reader.parse(payload, value);
  35. setRequestId(value["RequestId"].asString());
  36. auto allAnalysisJobList = value["AnalysisJobList"]["AnalysisJob"];
  37. for (auto value : allAnalysisJobList)
  38. {
  39. AnalysisJob analysisJobListObject;
  40. if(!value["Id"].isNull())
  41. analysisJobListObject.id = value["Id"].asString();
  42. if(!value["UserData"].isNull())
  43. analysisJobListObject.userData = value["UserData"].asString();
  44. if(!value["State"].isNull())
  45. analysisJobListObject.state = value["State"].asString();
  46. if(!value["Code"].isNull())
  47. analysisJobListObject.code = value["Code"].asString();
  48. if(!value["Message"].isNull())
  49. analysisJobListObject.message = value["Message"].asString();
  50. if(!value["Percent"].isNull())
  51. analysisJobListObject.percent = std::stol(value["Percent"].asString());
  52. if(!value["CreationTime"].isNull())
  53. analysisJobListObject.creationTime = value["CreationTime"].asString();
  54. if(!value["PipelineId"].isNull())
  55. analysisJobListObject.pipelineId = value["PipelineId"].asString();
  56. if(!value["Priority"].isNull())
  57. analysisJobListObject.priority = value["Priority"].asString();
  58. auto allTemplateList = value["TemplateList"]["Template"];
  59. for (auto value : allTemplateList)
  60. {
  61. AnalysisJob::_Template templateListObject;
  62. if(!value["Id"].isNull())
  63. templateListObject.id = value["Id"].asString();
  64. if(!value["Name"].isNull())
  65. templateListObject.name = value["Name"].asString();
  66. if(!value["State"].isNull())
  67. templateListObject.state = value["State"].asString();
  68. auto containerNode = value["Container"];
  69. if(!containerNode["Format"].isNull())
  70. templateListObject.container.format = containerNode["Format"].asString();
  71. auto videoNode = value["Video"];
  72. if(!videoNode["Codec"].isNull())
  73. templateListObject.video.codec = videoNode["Codec"].asString();
  74. if(!videoNode["Profile"].isNull())
  75. templateListObject.video.profile = videoNode["Profile"].asString();
  76. if(!videoNode["Bitrate"].isNull())
  77. templateListObject.video.bitrate = videoNode["Bitrate"].asString();
  78. if(!videoNode["Crf"].isNull())
  79. templateListObject.video.crf = videoNode["Crf"].asString();
  80. if(!videoNode["Width"].isNull())
  81. templateListObject.video.width = videoNode["Width"].asString();
  82. if(!videoNode["Height"].isNull())
  83. templateListObject.video.height = videoNode["Height"].asString();
  84. if(!videoNode["Fps"].isNull())
  85. templateListObject.video.fps = videoNode["Fps"].asString();
  86. if(!videoNode["Gop"].isNull())
  87. templateListObject.video.gop = videoNode["Gop"].asString();
  88. if(!videoNode["Preset"].isNull())
  89. templateListObject.video.preset = videoNode["Preset"].asString();
  90. if(!videoNode["ScanMode"].isNull())
  91. templateListObject.video.scanMode = videoNode["ScanMode"].asString();
  92. if(!videoNode["Bufsize"].isNull())
  93. templateListObject.video.bufsize = videoNode["Bufsize"].asString();
  94. if(!videoNode["Maxrate"].isNull())
  95. templateListObject.video.maxrate = videoNode["Maxrate"].asString();
  96. if(!videoNode["PixFmt"].isNull())
  97. templateListObject.video.pixFmt = videoNode["PixFmt"].asString();
  98. if(!videoNode["Degrain"].isNull())
  99. templateListObject.video.degrain = videoNode["Degrain"].asString();
  100. if(!videoNode["Qscale"].isNull())
  101. templateListObject.video.qscale = videoNode["Qscale"].asString();
  102. auto bitrateBndNode = videoNode["BitrateBnd"];
  103. if(!bitrateBndNode["Max"].isNull())
  104. templateListObject.video.bitrateBnd.max = bitrateBndNode["Max"].asString();
  105. if(!bitrateBndNode["Min"].isNull())
  106. templateListObject.video.bitrateBnd.min = bitrateBndNode["Min"].asString();
  107. auto audioNode = value["Audio"];
  108. if(!audioNode["Codec"].isNull())
  109. templateListObject.audio.codec = audioNode["Codec"].asString();
  110. if(!audioNode["Profile"].isNull())
  111. templateListObject.audio.profile = audioNode["Profile"].asString();
  112. if(!audioNode["Samplerate"].isNull())
  113. templateListObject.audio.samplerate = audioNode["Samplerate"].asString();
  114. if(!audioNode["Bitrate"].isNull())
  115. templateListObject.audio.bitrate = audioNode["Bitrate"].asString();
  116. if(!audioNode["Channels"].isNull())
  117. templateListObject.audio.channels = audioNode["Channels"].asString();
  118. if(!audioNode["Qscale"].isNull())
  119. templateListObject.audio.qscale = audioNode["Qscale"].asString();
  120. auto transConfigNode = value["TransConfig"];
  121. if(!transConfigNode["TransMode"].isNull())
  122. templateListObject.transConfig.transMode = transConfigNode["TransMode"].asString();
  123. auto muxConfigNode = value["MuxConfig"];
  124. auto segmentNode = muxConfigNode["Segment"];
  125. if(!segmentNode["Duration"].isNull())
  126. templateListObject.muxConfig.segment.duration = segmentNode["Duration"].asString();
  127. auto gifNode = muxConfigNode["Gif"];
  128. if(!gifNode["Loop"].isNull())
  129. templateListObject.muxConfig.gif.loop = gifNode["Loop"].asString();
  130. if(!gifNode["FinalDelay"].isNull())
  131. templateListObject.muxConfig.gif.finalDelay = gifNode["FinalDelay"].asString();
  132. analysisJobListObject.templateList.push_back(templateListObject);
  133. }
  134. auto inputFileNode = value["InputFile"];
  135. if(!inputFileNode["Bucket"].isNull())
  136. analysisJobListObject.inputFile.bucket = inputFileNode["Bucket"].asString();
  137. if(!inputFileNode["Location"].isNull())
  138. analysisJobListObject.inputFile.location = inputFileNode["Location"].asString();
  139. if(!inputFileNode["Object"].isNull())
  140. analysisJobListObject.inputFile.object = inputFileNode["Object"].asString();
  141. auto analysisConfigNode = value["AnalysisConfig"];
  142. auto qualityControlNode = analysisConfigNode["QualityControl"];
  143. if(!qualityControlNode["RateQuality"].isNull())
  144. analysisJobListObject.analysisConfig.qualityControl.rateQuality = qualityControlNode["RateQuality"].asString();
  145. if(!qualityControlNode["MethodStreaming"].isNull())
  146. analysisJobListObject.analysisConfig.qualityControl.methodStreaming = qualityControlNode["MethodStreaming"].asString();
  147. auto propertiesControlNode = analysisConfigNode["PropertiesControl"];
  148. if(!propertiesControlNode["Deinterlace"].isNull())
  149. analysisJobListObject.analysisConfig.propertiesControl.deinterlace = propertiesControlNode["Deinterlace"].asString();
  150. auto cropNode = propertiesControlNode["Crop"];
  151. if(!cropNode["Mode"].isNull())
  152. analysisJobListObject.analysisConfig.propertiesControl.crop.mode = cropNode["Mode"].asString();
  153. if(!cropNode["Width"].isNull())
  154. analysisJobListObject.analysisConfig.propertiesControl.crop.width = cropNode["Width"].asString();
  155. if(!cropNode["Height"].isNull())
  156. analysisJobListObject.analysisConfig.propertiesControl.crop.height = cropNode["Height"].asString();
  157. if(!cropNode["Top"].isNull())
  158. analysisJobListObject.analysisConfig.propertiesControl.crop.top = cropNode["Top"].asString();
  159. if(!cropNode["Left"].isNull())
  160. analysisJobListObject.analysisConfig.propertiesControl.crop.left = cropNode["Left"].asString();
  161. auto mNSMessageResultNode = value["MNSMessageResult"];
  162. if(!mNSMessageResultNode["MessageId"].isNull())
  163. analysisJobListObject.mNSMessageResult.messageId = mNSMessageResultNode["MessageId"].asString();
  164. if(!mNSMessageResultNode["ErrorMessage"].isNull())
  165. analysisJobListObject.mNSMessageResult.errorMessage = mNSMessageResultNode["ErrorMessage"].asString();
  166. if(!mNSMessageResultNode["ErrorCode"].isNull())
  167. analysisJobListObject.mNSMessageResult.errorCode = mNSMessageResultNode["ErrorCode"].asString();
  168. analysisJobList_.push_back(analysisJobListObject);
  169. }
  170. auto allNonExistAnalysisJobIds = value["NonExistAnalysisJobIds"]["String"];
  171. for (const auto &item : allNonExistAnalysisJobIds)
  172. nonExistAnalysisJobIds_.push_back(item.asString());
  173. }
  174. std::vector<QueryAnalysisJobListResult::AnalysisJob> QueryAnalysisJobListResult::getAnalysisJobList()const
  175. {
  176. return analysisJobList_;
  177. }
  178. std::vector<std::string> QueryAnalysisJobListResult::getNonExistAnalysisJobIds()const
  179. {
  180. return nonExistAnalysisJobIds_;
  181. }