UNPKG

ts-onvif

Version:

Client to ONVIF devices

116 lines (115 loc) 4.58 kB
/** * Schedule ver10 module * @author Andrew D.Laptev <a.d.laptev@gmail.com> * @see https://www.onvif.org/ver10/schedule/wsdl/schedule.wsdl */ import { Onvif } from './onvif'; import Service from './service'; import { Capabilities, CreateSchedule, CreateScheduleResponse, CreateSpecialDayGroup, CreateSpecialDayGroupResponse, DeleteSchedule, DeleteSpecialDayGroup, GetScheduleInfo, GetScheduleInfoList, GetScheduleInfoListResponse, GetScheduleInfoResponse, GetScheduleList, GetScheduleListResponse, GetSchedules, GetSchedulesResponse, GetScheduleState, GetSpecialDayGroupInfo, GetSpecialDayGroupInfoList, GetSpecialDayGroupInfoListResponse, GetSpecialDayGroupInfoResponse, GetSpecialDayGroupList, GetSpecialDayGroupListResponse, GetSpecialDayGroups, GetSpecialDayGroupsResponse, ModifySchedule, ModifySpecialDayGroup, ScheduleState, SetSchedule, SetSpecialDayGroup } from './interfaces/schedule'; /** * Schedule service * @example * ```ts * const list = await cam.schedule.getScheduleInfoList(); * const token = list.scheduleInfo![0].token; * console.log((await cam.schedule.getScheduleState({ token })).active); * ``` */ export default class Schedule extends Service { constructor(onvif: Onvif); private static timePeriodToBuild; private static specialDaysScheduleToBuild; private static scheduleInfoToBuild; private static scheduleToBuild; private static specialDayGroupInfoToBuild; private static specialDayGroupToBuild; /** * Returns the capabilities of the schedule service. */ getServiceCapabilities(): Promise<Capabilities>; /** * Returns the current state of a schedule. * @param options */ getScheduleState({ token }: GetScheduleState): Promise<ScheduleState>; /** * Returns schedule info items for the requested tokens. * @param options */ getScheduleInfo({ token }: GetScheduleInfo): Promise<GetScheduleInfoResponse>; /** * Returns a list of schedule info items. * @param options */ getScheduleInfoList(options?: GetScheduleInfoList): Promise<GetScheduleInfoListResponse>; /** * Returns schedule items for the requested tokens. * @param options */ getSchedules({ token }: GetSchedules): Promise<GetSchedulesResponse>; /** * Returns a list of schedule items. * @param options */ getScheduleList(options?: GetScheduleList): Promise<GetScheduleListResponse>; /** * Creates a new schedule. * @param options */ createSchedule({ schedule }: CreateSchedule): Promise<CreateScheduleResponse['token']>; /** * Creates or replaces a schedule (requires ClientSuppliedTokenSupported). * @param options */ setSchedule({ schedule }: SetSchedule): Promise<void>; /** * Modifies an existing schedule. * @param options */ modifySchedule({ schedule }: ModifySchedule): Promise<void>; /** * Deletes a schedule. * @param options */ deleteSchedule({ token }: DeleteSchedule): Promise<void>; /** * Returns special day group info items for the requested tokens. * @param options */ getSpecialDayGroupInfo({ token }: GetSpecialDayGroupInfo): Promise<GetSpecialDayGroupInfoResponse>; /** * Returns a list of special day group info items. * @param options */ getSpecialDayGroupInfoList(options?: GetSpecialDayGroupInfoList): Promise<GetSpecialDayGroupInfoListResponse>; /** * Returns special day group items for the requested tokens. * @param options */ getSpecialDayGroups({ token }: GetSpecialDayGroups): Promise<GetSpecialDayGroupsResponse>; /** * Returns a list of special day group items. * @param options */ getSpecialDayGroupList(options?: GetSpecialDayGroupList): Promise<GetSpecialDayGroupListResponse>; /** * Creates a new special day group. * @param options */ createSpecialDayGroup({ specialDayGroup, }: CreateSpecialDayGroup): Promise<CreateSpecialDayGroupResponse['token']>; /** * Creates or replaces a special day group (requires ClientSuppliedTokenSupported). * @param options */ setSpecialDayGroup({ specialDayGroup }: SetSpecialDayGroup): Promise<void>; /** * Modifies an existing special day group. * @param options */ modifySpecialDayGroup({ specialDayGroup }: ModifySpecialDayGroup): Promise<void>; /** * Deletes a special day group. * @param options */ deleteSpecialDayGroup({ token }: DeleteSpecialDayGroup): Promise<void>; }