-
Notifications
You must be signed in to change notification settings - Fork 348
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add PUT/List/DELETE bucket live channel
- Loading branch information
Showing
9 changed files
with
757 additions
and
15 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
<?php | ||
|
||
namespace OSS\Model; | ||
|
||
|
||
use OSS\Core\OssException; | ||
|
||
/** | ||
* Class LiveChannelConfig | ||
* @package OSS\Model | ||
* | ||
* TODO: fix link | ||
* @link http://help.aliyun.com/document_detail/oss/api-reference/cors/PutBucketcors.html | ||
*/ | ||
class LiveChannelConfig implements XmlConfig | ||
{ | ||
private $id; | ||
private $description; | ||
private $status; | ||
private $type; | ||
private $fragDuration; | ||
private $playDuration; | ||
private $playListName; | ||
|
||
public function __construct($option = array()) | ||
{ | ||
if (isset($option['id'])) { | ||
$this->id = $option['id']; | ||
} | ||
if (isset($option['description'])) { | ||
$this->description = $option['description']; | ||
} | ||
if (isset($option['status'])) { | ||
$this->status = $option['status']; | ||
} | ||
if (isset($option['type'])) { | ||
$this->type = $option['type']; | ||
} | ||
if (isset($option['fragDuration'])) { | ||
$this->fragDuration = $option['fragDuration']; | ||
} | ||
if (isset($option['playDuration'])) { | ||
$this->playDuration = $option['playDuration']; | ||
} | ||
if (isset($option['playListName'])) { | ||
$this->playListName = $option['playListName']; | ||
} | ||
} | ||
|
||
public function getId() | ||
{ | ||
return $this->id; | ||
} | ||
|
||
public function getDescription() | ||
{ | ||
return $this->description; | ||
} | ||
|
||
public function getStatus() | ||
{ | ||
return $this->status; | ||
} | ||
|
||
public function getType() | ||
{ | ||
return $this->type; | ||
} | ||
|
||
public function getFragDuration() | ||
{ | ||
return $this->fragDuration; | ||
} | ||
|
||
public function getPlayDuration() | ||
{ | ||
return $this->playDuration; | ||
} | ||
|
||
public function getPlayListName() | ||
{ | ||
return $this->playListName; | ||
} | ||
|
||
public function parseFromXml($strXml) | ||
{ | ||
$xml = simplexml_load_string($strXml); | ||
$this->description = strval($xml->Description); | ||
$this->status = strval($xml->Status); | ||
$target = $xml->Target; | ||
$this->type = strval($target->Type); | ||
$this->fragDuration = intval($target->FragDuration); | ||
$this->playDuration = intval($target->PlayDuration); | ||
$this->playListName = strval($target->PlayListName); | ||
} | ||
|
||
public function serializeToXml() | ||
{ | ||
$strXml = <<<EOF | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<BucketLiveChannelConfiguration> | ||
</BucketLiveChannelConfiguration> | ||
EOF; | ||
$xml = new \SimpleXMLElement($strXml); | ||
if (isset($this->description)) { | ||
$xml->addChild('Description', $this->description); | ||
} | ||
|
||
if (isset($this->status)) { | ||
$xml->addChild('Status', $this->status); | ||
} | ||
|
||
$node = $xml->addChild('Target'); | ||
$node->addChild('Type', $this->type); | ||
|
||
if (isset($this->fragDuration)) { | ||
$node->addChild('FragDuration', $this->fragDuration); | ||
} | ||
|
||
if (isset($this->playDuration)) { | ||
$node->addChild('PlayDuration', $this->playDuration); | ||
} | ||
|
||
if (isset($this->playListName)) { | ||
$node->addChild('PlayListName', $this->playListName); | ||
} | ||
|
||
return $xml->asXML(); | ||
} | ||
|
||
public function __toString() | ||
{ | ||
return $this->serializeToXml(); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
<?php | ||
|
||
namespace OSS\Model; | ||
/** | ||
* Class LiveChannelInfo | ||
* @package OSS\Model | ||
* | ||
*/ | ||
class LiveChannelInfo implements XmlConfig | ||
{ | ||
private $id; | ||
private $description; | ||
private $publishUrls; | ||
private $playUrls; | ||
private $status; | ||
private $lastModified; | ||
|
||
public function __construct($id = null, $description = null) | ||
{ | ||
$this->id = $id; | ||
$this->description = $description; | ||
$this->publishUrls = array(); | ||
$this->playUrls = array(); | ||
} | ||
|
||
public function getId() | ||
{ | ||
return $this->id; | ||
} | ||
|
||
public function setId($id) | ||
{ | ||
$this->id = $id; | ||
} | ||
|
||
public function getPublishUrls() | ||
{ | ||
return $this->publishUrls; | ||
} | ||
|
||
public function getPlayUrls() | ||
{ | ||
return $this->playUrls; | ||
} | ||
|
||
public function getStatus() | ||
{ | ||
return $this->status; | ||
} | ||
|
||
public function getLastModified() | ||
{ | ||
return $this->lastModified; | ||
} | ||
|
||
public function getDescription() | ||
{ | ||
return $this->description; | ||
} | ||
|
||
public function setDescription($description) | ||
{ | ||
$this->description = $description; | ||
} | ||
|
||
public function parseFromXmlNode($xml) | ||
{ | ||
if (isset($xml->Id)) { | ||
$this->id = strval($xml->Id); | ||
} | ||
|
||
if (isset($xml->Description)) { | ||
$this->description = strval($xml->Description); | ||
} | ||
|
||
if (isset($xml->Status)) { | ||
$this->status = strval($xml->Status); | ||
} | ||
|
||
if (isset($xml->LastModified)) { | ||
$this->lastModified = strval($xml->LastModified); | ||
} | ||
|
||
if (isset($xml->PublishUrls)) { | ||
foreach ($xml->PublishUrls as $url) { | ||
$this->publishUrls[] = strval($url->Url); | ||
} | ||
} | ||
|
||
if (isset($xml->PlayUrls)) { | ||
foreach ($xml->PlayUrls as $url) { | ||
$this->playUrls[] = strval($url->Url); | ||
} | ||
} | ||
} | ||
|
||
public function parseFromXml($strXml) | ||
{ | ||
$xml = simplexml_load_string($strXml); | ||
$this->parseFromXmlNode($xml); | ||
} | ||
|
||
public function serializeToXml() | ||
{ | ||
throw new OssException("Not implemented."); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
<?php | ||
|
||
namespace OSS\Model; | ||
|
||
/** | ||
* Class LiveChannelListInfo | ||
* | ||
* ListBucketLiveChannels接口返回数据 | ||
* | ||
* TODO fix link | ||
* @package OSS\Model | ||
* @link http://help.aliyun.com/document_detail/oss/api-reference/bucket/GetBucket.html | ||
*/ | ||
class LiveChannelListInfo implements XmlConfig | ||
{ | ||
private $bucketName; | ||
private $prefix; | ||
private $marker; | ||
private $nextMarker; | ||
private $maxKeys; | ||
private $isTruncated; | ||
private $channelList = array(); | ||
|
||
/** | ||
* @return string | ||
*/ | ||
public function getBucketName() | ||
{ | ||
return $this->bucketName; | ||
} | ||
|
||
public function setBucketName($name) | ||
{ | ||
$this->bucketName = $name; | ||
} | ||
|
||
/** | ||
* @return string | ||
*/ | ||
public function getPrefix() | ||
{ | ||
return $this->prefix; | ||
} | ||
|
||
/** | ||
* @return string | ||
*/ | ||
public function getMarker() | ||
{ | ||
return $this->marker; | ||
} | ||
|
||
/** | ||
* @return int | ||
*/ | ||
public function getMaxKeys() | ||
{ | ||
return $this->maxKeys; | ||
} | ||
|
||
/** | ||
* @return mixed | ||
*/ | ||
public function getIsTruncated() | ||
{ | ||
return $this->isTruncated; | ||
} | ||
|
||
/** | ||
* @return LiveChannelInfo[] | ||
*/ | ||
public function getChannelList() | ||
{ | ||
return $this->channelList; | ||
} | ||
|
||
/** | ||
* @return string | ||
*/ | ||
public function getNextMarker() | ||
{ | ||
return $this->nextMarker; | ||
} | ||
|
||
public function parseFromXml($strXml) | ||
{ | ||
$xml = simplexml_load_string($strXml); | ||
|
||
$this->prefix = strval($xml->Prefix); | ||
$this->marker = strval($xml->Marker); | ||
$this->maxKeys = intval($xml->MaxKeys); | ||
$this->isTruncated = (strval($xml->IsTruncated) == 'true'); | ||
$this->nextMarker = strval($xml->NextMarker); | ||
|
||
if (isset($xml->LiveChannel)) { | ||
foreach ($xml->LiveChannel as $chan) { | ||
$channel = new LiveChannelInfo(); | ||
$channel->parseFromXmlNode($chan); | ||
$this->channelList[] = $channel; | ||
} | ||
} | ||
} | ||
|
||
public function serializeToXml() | ||
{ | ||
throw new OssException("Not implemented."); | ||
} | ||
} |
Oops, something went wrong.