sdk/Transform/ListLiveChannelResultDeserializer.cs (54 lines of code) (raw):

/* * Copyright (C) Alibaba Cloud Computing * All rights reserved. * */ using System.IO; using System.Collections.Generic; using Aliyun.OSS.Common.Communication; using Aliyun.OSS.Model; namespace Aliyun.OSS.Transform { internal class ListLiveChannelResultDeserializer : ResponseDeserializer<ListLiveChannelResult, ListLiveChannelResultModel> { public ListLiveChannelResultDeserializer(IDeserializer<Stream, ListLiveChannelResultModel> contentDeserializer) : base(contentDeserializer) { } public override ListLiveChannelResult Deserialize(ServiceResponse xmlStream) { var model = ContentDeserializer.Deserialize(xmlStream.Content); var result = new ListLiveChannelResult { Prefix = model.Prefix, Marker = model.Marker }; if (model.MaxKeys.HasValue) result.MaxKeys = model.MaxKeys.Value; if (model.IsTruncated.HasValue) result.IsTruncated = model.IsTruncated.Value; result.NextMarker = model.NextMarker; var liveChannels = new List<LiveChannel>(); if (model.LiveChannels != null) { foreach (var e in model.LiveChannels) { var liveChannel = new LiveChannel() { Name = e.Name, Description = e.Description, Status = e.Status, LastModified = e.LastModified }; if (e.PublishUrls != null) { liveChannel.PublishUrl = e.PublishUrls.Url; } if (e.PlayUrls != null) { liveChannel.PlayUrl = e.PlayUrls.Url; } liveChannels.Add(liveChannel); } } result.LiveChannels = liveChannels; DeserializeGeneric(xmlStream, result); return result; } } }