ts-onvif
Version:
Client to ONVIF devices
68 lines (67 loc) • 2.67 kB
TypeScript
/**
* AccessRules ver10 module
* @author Andrew D.Laptev <a.d.laptev@gmail.com>
* @see https://www.onvif.org/ver10/accessrules/wsdl/accessrules.wsdl
*/
import { Onvif } from './onvif';
import Service from './service';
import { Capabilities, CreateAccessProfile, CreateAccessProfileResponse, DeleteAccessProfile, GetAccessProfileInfo, GetAccessProfileInfoList, GetAccessProfileInfoListResponse, GetAccessProfileInfoResponse, GetAccessProfileList, GetAccessProfileListResponse, GetAccessProfiles, GetAccessProfilesResponse, ModifyAccessProfile, SetAccessProfile } from './interfaces/accessrules';
/**
* AccessRules service
* @example
* ```ts
* const list = await cam.accessRules.getAccessProfileInfoList();
* const token = list.accessProfileInfo![0].token;
* console.log((await cam.accessRules.getAccessProfiles({ token: [token] })).accessProfile);
* ```
*/
export default class AccessRules extends Service {
constructor(onvif: Onvif);
private static accessPolicyToBuild;
private static accessProfileInfoToBuild;
private static accessProfileToBuild;
/**
* Returns the capabilities of the access rules service.
*/
getServiceCapabilities(): Promise<Capabilities>;
/**
* Returns access profile info items for the requested tokens.
* @param options
*/
getAccessProfileInfo({ token }: GetAccessProfileInfo): Promise<GetAccessProfileInfoResponse>;
/**
* Returns a list of access profile info items.
* @param options
*/
getAccessProfileInfoList(options?: GetAccessProfileInfoList): Promise<GetAccessProfileInfoListResponse>;
/**
* Returns access profile items for the requested tokens.
* @param options
*/
getAccessProfiles({ token }: GetAccessProfiles): Promise<GetAccessProfilesResponse>;
/**
* Returns a list of access profile items.
* @param options
*/
getAccessProfileList(options?: GetAccessProfileList): Promise<GetAccessProfileListResponse>;
/**
* Creates a new access profile.
* @param options
*/
createAccessProfile({ accessProfile }: CreateAccessProfile): Promise<CreateAccessProfileResponse['token']>;
/**
* Creates or replaces an access profile (requires ClientSuppliedTokenSupported).
* @param options
*/
setAccessProfile({ accessProfile }: SetAccessProfile): Promise<void>;
/**
* Modifies an existing access profile.
* @param options
*/
modifyAccessProfile({ accessProfile }: ModifyAccessProfile): Promise<void>;
/**
* Deletes an access profile.
* @param options
*/
deleteAccessProfile({ token }: DeleteAccessProfile): Promise<void>;
}