DescribeLiveStreamMonitorListResult.cc 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  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/live/model/DescribeLiveStreamMonitorListResult.h>
  17. #include <json/json.h>
  18. using namespace AlibabaCloud::Live;
  19. using namespace AlibabaCloud::Live::Model;
  20. DescribeLiveStreamMonitorListResult::DescribeLiveStreamMonitorListResult() :
  21. ServiceResult()
  22. {}
  23. DescribeLiveStreamMonitorListResult::DescribeLiveStreamMonitorListResult(const std::string &payload) :
  24. ServiceResult()
  25. {
  26. parse(payload);
  27. }
  28. DescribeLiveStreamMonitorListResult::~DescribeLiveStreamMonitorListResult()
  29. {}
  30. void DescribeLiveStreamMonitorListResult::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 allLiveStreamMonitorListNode = value["LiveStreamMonitorList"]["LiveStreamMonitorInfo"];
  37. for (auto valueLiveStreamMonitorListLiveStreamMonitorInfo : allLiveStreamMonitorListNode)
  38. {
  39. LiveStreamMonitorInfo liveStreamMonitorListObject;
  40. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["MonitorId"].isNull())
  41. liveStreamMonitorListObject.monitorId = valueLiveStreamMonitorListLiveStreamMonitorInfo["MonitorId"].asString();
  42. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["MonitorName"].isNull())
  43. liveStreamMonitorListObject.monitorName = valueLiveStreamMonitorListLiveStreamMonitorInfo["MonitorName"].asString();
  44. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["Domain"].isNull())
  45. liveStreamMonitorListObject.domain = valueLiveStreamMonitorListLiveStreamMonitorInfo["Domain"].asString();
  46. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["OutputTemplate"].isNull())
  47. liveStreamMonitorListObject.outputTemplate = valueLiveStreamMonitorListLiveStreamMonitorInfo["OutputTemplate"].asString();
  48. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["Status"].isNull())
  49. liveStreamMonitorListObject.status = std::stoi(valueLiveStreamMonitorListLiveStreamMonitorInfo["Status"].asString());
  50. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["Region"].isNull())
  51. liveStreamMonitorListObject.region = valueLiveStreamMonitorListLiveStreamMonitorInfo["Region"].asString();
  52. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["AudioFrom"].isNull())
  53. liveStreamMonitorListObject.audioFrom = std::stoi(valueLiveStreamMonitorListLiveStreamMonitorInfo["AudioFrom"].asString());
  54. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["StartTime"].isNull())
  55. liveStreamMonitorListObject.startTime = valueLiveStreamMonitorListLiveStreamMonitorInfo["StartTime"].asString();
  56. if(!valueLiveStreamMonitorListLiveStreamMonitorInfo["StopTime"].isNull())
  57. liveStreamMonitorListObject.stopTime = valueLiveStreamMonitorListLiveStreamMonitorInfo["StopTime"].asString();
  58. auto allInputListNode = valueLiveStreamMonitorListLiveStreamMonitorInfo["InputList"]["InputConfig"];
  59. for (auto valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig : allInputListNode)
  60. {
  61. LiveStreamMonitorInfo::InputConfig inputListObject;
  62. if(!valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["Index"].isNull())
  63. inputListObject.index = std::stoi(valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["Index"].asString());
  64. if(!valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["LayoutId"].isNull())
  65. inputListObject.layoutId = std::stoi(valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["LayoutId"].asString());
  66. if(!valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["StreamName"].isNull())
  67. inputListObject.streamName = valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["StreamName"].asString();
  68. if(!valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["InputUrl"].isNull())
  69. inputListObject.inputUrl = valueLiveStreamMonitorListLiveStreamMonitorInfoInputListInputConfig["InputUrl"].asString();
  70. auto layoutConfigNode = value["LayoutConfig"];
  71. if(!layoutConfigNode["FillMode"].isNull())
  72. inputListObject.layoutConfig.fillMode = layoutConfigNode["FillMode"].asString();
  73. if(!layoutConfigNode["PositionRefer"].isNull())
  74. inputListObject.layoutConfig.positionRefer = layoutConfigNode["PositionRefer"].asString();
  75. auto allPositionNormalized = layoutConfigNode["PositionNormalized"]["Position"];
  76. for (auto value : allPositionNormalized)
  77. inputListObject.layoutConfig.positionNormalized.push_back(value.asString());
  78. auto allSizeNormalized = layoutConfigNode["SizeNormalized"]["Size"];
  79. for (auto value : allSizeNormalized)
  80. inputListObject.layoutConfig.sizeNormalized.push_back(value.asString());
  81. auto playConfigNode = value["PlayConfig"];
  82. if(!playConfigNode["VolumeRate"].isNull())
  83. inputListObject.playConfig.volumeRate = std::stof(playConfigNode["VolumeRate"].asString());
  84. liveStreamMonitorListObject.inputList.push_back(inputListObject);
  85. }
  86. auto outputUrlsNode = value["OutputUrls"];
  87. if(!outputUrlsNode["RtmpUrl"].isNull())
  88. liveStreamMonitorListObject.outputUrls.rtmpUrl = outputUrlsNode["RtmpUrl"].asString();
  89. if(!outputUrlsNode["FlvUrl"].isNull())
  90. liveStreamMonitorListObject.outputUrls.flvUrl = outputUrlsNode["FlvUrl"].asString();
  91. liveStreamMonitorList_.push_back(liveStreamMonitorListObject);
  92. }
  93. if(!value["Total"].isNull())
  94. total_ = std::stoi(value["Total"].asString());
  95. }
  96. int DescribeLiveStreamMonitorListResult::getTotal()const
  97. {
  98. return total_;
  99. }
  100. std::vector<DescribeLiveStreamMonitorListResult::LiveStreamMonitorInfo> DescribeLiveStreamMonitorListResult::getLiveStreamMonitorList()const
  101. {
  102. return liveStreamMonitorList_;
  103. }