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 17 #pragma once 18 #include <vector> 19 #include <memory> 20 #include <iostream> 21 #include <alibabacloud/oss/OssResult.h> 22 23 namespace AlibabaCloud 24 { 25 namespace OSS 26 { 27 struct LiveChannelInfo 28 { 29 std::string name; 30 std::string description; 31 std::string status; 32 std::string lastModified; 33 std::string publishUrl; 34 std::string playUrl; 35 }; 36 37 using LiveChannelListInfo = std::vector<LiveChannelInfo>; 38 39 class ALIBABACLOUD_OSS_EXPORT ListLiveChannelResult: public OssResult 40 { 41 public: 42 ListLiveChannelResult(); 43 ListLiveChannelResult(const std::string& data); 44 ListLiveChannelResult(const std::shared_ptr<std::iostream>& data); 45 ListLiveChannelResult& operator=(const std::string& data); 46 47 const std::string& Prefix() const; 48 const std::string& Marker() const; 49 const std::string& NextMarker() const; 50 bool IsTruncated() const; 51 const LiveChannelListInfo& LiveChannelList() const; 52 uint32_t MaxKeys() const; 53 private: 54 std::string prefix_; 55 std::string marker_; 56 std::string nextMarker_; 57 LiveChannelListInfo liveChannelList_; 58 uint32_t maxKeys_; 59 bool isTruncated_; 60 61 }; 62 } 63 } 64