repod/stubs/OCA/GPodderSync/Core/PodcastData/PodcastData.php

48 lines
966 B
PHP

<?php
declare(strict_types=1);
namespace OCA\GPodderSync\Core\PodcastData;
use Exception;
use JsonSerializable;
interface PodcastData extends JsonSerializable
{
/**
* @return PodcastData
* @throws Exception if the XML data could not be parsed.
*/
public static function parseRssXml(string $xmlString, ?int $fetchedAtUnix = null): PodcastData;
public function getTitle(): ?string;
public function getAuthor(): ?string;
public function getLink(): ?string;
public function getDescription(): ?string;
public function getImageUrl(): ?string;
public function getFetchedAtUnix(): ?int;
public function getImageBlob(): ?string;
public function setImageBlob(?string $blob): void;
public function __toString() : string;
/**
* @return array<string,mixed>
*/
public function toArray(): array;
/**
* @return array<string,mixed>
*/
public function jsonSerialize(): array;
public static function fromArray(array $data): PodcastData;
}