mythtv-services-api
Version:
Mythtv Service Api Bindings
117 lines (116 loc) • 4.7 kB
TypeScript
/// <reference types="node" />
import { AbstractService } from "./Communication";
import ApiTypes from "./ApiTypes";
import { InternalTypes } from "./CommonTypes";
import { Writable } from "stream";
export declare namespace ContentService {
namespace Request {
export interface AddLiveStream extends LiveStream {
StorageGroup?: string;
FileName: string;
HostName?: string;
}
export type AddRecordingLiveStream = InternalTypes.RecordingKey & LiveStream;
export interface AddVideoLiveStream extends LiveStream {
Id: number;
}
interface LiveStream extends ImageFile {
MaxSegments?: number;
Bitrate?: number;
AudioBitrate?: number;
SampleRate?: number;
}
export interface DownloadFile {
URL: string;
StorageGroup: string;
}
export interface GetAlbumArt extends ImageFile {
Id: number;
}
export interface GetDirList {
StorageGroup: string;
}
export interface GetFile {
StorageGroup: string;
FileName: string;
}
export interface GetFileList {
StorageGroup: string;
}
export interface GetHash {
StorageGroup: string;
FileName: string;
}
interface ImageFile {
Width?: number;
Height?: number;
}
export interface GetImageFile extends ImageFile {
StorageGroup: string;
FileName: string;
}
export interface GetLiveStream {
Id: number;
}
export interface GetLiveStreamList {
FileName?: string;
}
export interface GetMusic {
Id: number;
}
export type GetPreviewImage = InternalTypes.RecordingKey & ImageFile & {
SecsIn?: number;
Format?: string;
};
export interface GetProgramArtworkList {
Inetref: string;
Season?: number;
}
export type GetRecording = InternalTypes.RecordingKey;
export interface GetRecordingArtwork extends ImageFile {
Type?: string;
Inetref: string;
Season?: number;
}
export type GetRecordingArtworkList = InternalTypes.RecordingKey;
export interface GetVideo {
Id: number;
}
export interface GetVideoArtwork extends ImageFile {
Type?: string;
Id: number;
}
export interface RemoveLiveStream {
Id: number;
}
export interface StopLiveStream {
Id: number;
}
export {};
}
class Service extends AbstractService {
constructor(baseUrl: URL);
AddLiveStream(req: Request.AddLiveStream): Promise<ApiTypes.LiveStreamInfo>;
AddRecordingLiveStream(req: Request.AddRecordingLiveStream): Promise<ApiTypes.LiveStreamInfo>;
AddVideoLiveStream(req: Request.AddVideoLiveStream): Promise<ApiTypes.LiveStreamInfo>;
DownloadFile(req: Request.DownloadFile): Promise<void>;
GetAlbumArt(req: Request.GetAlbumArt, writable: Writable): Promise<void>;
GetDirList(req: Request.GetDirList): Promise<string[]>;
GetFile(req: Request.GetFile, writable: Writable): Promise<void>;
GetFileList(req: Request.GetFileList): Promise<string[]>;
GetHash(req: Request.GetHash): Promise<string>;
GetImageFile(req: Request.GetImageFile, writable: Writable): Promise<void>;
GetLiveStream(req: Request.GetLiveStream): Promise<ApiTypes.LiveStreamInfo>;
GetLiveStreamList(req: Request.GetLiveStreamList): Promise<ApiTypes.LiveStreamInfo[]>;
GetMusic(req: Request.GetMusic, writable: Writable): Promise<void>;
GetPreviewImage(req: Request.GetPreviewImage, writable: Writable): Promise<void>;
GetProgramArtworkList(req: Request.GetProgramArtworkList): Promise<ApiTypes.ArtworkInfo[]>;
GetRecording(req: Request.GetRecording, writable: Writable): Promise<void>;
GetRecordingArtwork(req: Request.GetRecordingArtwork, writable: Writable): Promise<void>;
GetRecordingArtworkList(req: Request.GetRecordingArtworkList): Promise<ApiTypes.ArtworkInfo[]>;
GetVideo(req: Request.GetVideo, writable: Writable): Promise<void>;
GetVideoArtwork(req: Request.GetVideoArtwork, writable: Writable): Promise<void>;
RemoveLiveStream(req: Request.RemoveLiveStream): Promise<void>;
StopLiveStream(req: Request.StopLiveStream): Promise<ApiTypes.LiveStreamInfo>;
}
}