ts-onvif
Version:
Client to ONVIF devices
116 lines (115 loc) • 4.58 kB
TypeScript
/**
* 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>;
}