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 
18 #include <alibabacloud/oss/model/GetVodPlaylistRequest.h>
19 #include <sstream>
20 #include "utils/Utils.h"
21 #include "ModelError.h"
22 #include "Const.h"
23 
24 
25 using namespace AlibabaCloud::OSS;
26 
GetVodPlaylistRequest(const std::string & bucket,const std::string & channelName)27 GetVodPlaylistRequest::GetVodPlaylistRequest(const std::string& bucket,
28     const std::string& channelName)
29     :GetVodPlaylistRequest(bucket, channelName, 0, 0)
30 {
31 }
32 
GetVodPlaylistRequest(const std::string & bucket,const std::string & channelName,uint64_t startTime,uint64_t endTime)33 GetVodPlaylistRequest::GetVodPlaylistRequest(const std::string& bucket,
34     const std::string& channelName, uint64_t startTime,
35     uint64_t endTime)
36     :LiveChannelRequest(bucket, channelName),
37     startTime_(startTime),
38     endTime_(endTime)
39 {
40 }
41 
setStartTime(uint64_t startTime)42 void GetVodPlaylistRequest::setStartTime(uint64_t startTime)
43 {
44     startTime_ = startTime;
45 }
46 
setEndTime(uint64_t endTime)47 void GetVodPlaylistRequest::setEndTime(uint64_t endTime)
48 {
49     endTime_ = endTime;
50 }
51 
validate() const52 int GetVodPlaylistRequest::validate() const
53 {
54     int ret = LiveChannelRequest::validate();
55 
56     if(ret)
57     {
58         return ret;
59     }
60 
61     if(startTime_ == 0 || endTime_ == 0 ||
62         endTime_ < startTime_ ||
63         endTime_ > (startTime_ + SecondsOfDay))
64     {
65         return ARG_ERROR_LIVECHANNEL_BAD_TIME_PARAM;
66     }
67 
68     return 0;
69 }
70 
specialParameters() const71 ParameterCollection GetVodPlaylistRequest::specialParameters() const
72 {
73     ParameterCollection collection;
74     collection["startTime"] = std::to_string(startTime_);
75     collection["endTime"] = std::to_string(endTime_);
76     collection["vod"] = "";
77     return collection;
78 }
79