mythtv-services-api
Version:
Mythtv Service Api Bindings
134 lines (133 loc) • 4.77 kB
TypeScript
import { AbstractService } from "./Communication";
import ApiTypes from './ApiTypes';
export declare namespace ChannelService {
namespace Request {
interface GetChannelInfoList extends Partial<ApiTypes.ListRequest> {
SourceID?: number;
ChannelGroupID?: number;
OnlyVisible?: boolean;
Details?: boolean;
OrderByName?: boolean;
GroupByCallsign?: boolean;
OnlyTunable?: boolean;
}
interface AddDBChannel {
MplexID: number;
SourceID: number;
ChannelID: number;
CallSign: string;
ChannelName: string;
ChannelNumber: string;
ServiceID: number;
ATSCMajorChannel: number;
ATSCMinorChannel: number;
UseEIT: boolean;
Visible: boolean;
ExtendedVisible: ApiTypes.ChannelVisibleType;
FrequencyID: string;
Icon: string;
Format: string;
XMLTVID: string;
DefaultAuthority: string;
ServiceType: number;
}
interface AddVideoSource {
SourceName: string;
Grabber: string;
UserId: string;
FreqTable: string;
LineupId: string;
Password: string;
UseEIT: boolean;
ConfigPath: string;
NITId: number;
BouquetId: number;
RegionId: number;
ScanFrequency: number;
}
interface FetchChannelsFromSource {
SourceId: number;
CardId: number;
WaitForFinish: boolean;
}
interface GetDDLineupList {
Source: string;
UserId: string;
Password: string;
}
interface GetVideoMultiplex {
MplexID: number;
}
interface GetVideoSource {
SourceID: number;
}
interface GetXMLTVIdList {
SourceID: number;
}
interface RemoveDBChannel {
ChannelID: number;
}
interface RemoveVideoSource {
SourceID: number;
}
interface UpdateDBChannel {
MplexID: number;
SourceID: number;
ChannelID: number;
CallSign: string;
ChannelName: string;
ChannelNumber: string;
ServiceID: number;
ATSCMajorChannel: number;
ATSCMinorChannel: number;
UseEIT: boolean;
Visible: boolean;
ExtendedVisible: ApiTypes.ChannelVisibleType;
FrequencyID: string;
Icon: string;
Format: string;
XMLTVID: string;
DefaultAuthority: string;
ServiceType: number;
}
interface UpdateVideoSource {
SourceID: number;
SourceName: string;
Grabber: string;
UserId: string;
FreqTable: string;
LineupId: string;
Password: string;
UseEIT: boolean;
ConfigPath: string;
NITId: number;
BouquetId: number;
RegionId: number;
ScanFrequency: number;
}
interface GetVideoMultiplexList extends Partial<ApiTypes.ListRequest> {
SourceID: number;
}
interface GetChannelInfo {
ChanID: number;
}
}
class Service extends AbstractService {
constructor(baseUrl: URL);
GetChannelInfo(req: Request.GetChannelInfo): Promise<ApiTypes.ChannelInfo>;
GetVideoSourceList(): Promise<ApiTypes.VideoSourceList>;
GetChannelInfoList(req: Request.GetChannelInfoList): Promise<ApiTypes.ChannelInfoList>;
AddDBChannel(req: Request.AddDBChannel): Promise<void>;
AddVideoSource(req: Request.AddVideoSource): Promise<number>;
FetchChannelsFromSource(req: Request.FetchChannelsFromSource): Promise<number>;
GetDDLineupList(req: Request.GetDDLineupList): Promise<ApiTypes.Lineup[]>;
GetVideoMultiplex(req: Request.GetVideoMultiplex): Promise<ApiTypes.VideoMultiplex>;
GetVideoMultiplexList(req: Partial<Request.GetVideoMultiplexList>): Promise<ApiTypes.VideoMultiplexList>;
GetVideoSource(req: Request.GetVideoSource): Promise<ApiTypes.VideoSource>;
GetXMLTVIdList(req: Request.GetXMLTVIdList): Promise<string[]>;
RemoveDBChannel(req: Request.RemoveDBChannel): Promise<void>;
RemoveVideoSource(req: Request.RemoveVideoSource): Promise<void>;
UpdateDBChannel(req: Request.UpdateDBChannel): Promise<void>;
UpdateVideoSource(req: Request.UpdateVideoSource): Promise<void>;
}
}