ts-onvif
Version:
Client to ONVIF devices
116 lines • 3.47 kB
JavaScript
;
/**
* Receiver ver10 module
* @author Andrew D.Laptev <a.d.laptev@gmail.com>
* @see https://www.onvif.org/ver10/receiver/wsdl
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const service_1 = __importDefault(require("./service"));
const toOnvifXMLSchemaObject_1 = require("./utils/toOnvifXMLSchemaObject");
/**
* Receiver service
*/
class Receiver extends service_1.default {
constructor(onvif) {
super(onvif, 'receiver');
}
static receiverConfigurationToBuild(configuration) {
return {
Mode: configuration.mode,
MediaUri: configuration.mediaUri,
StreamSetup: (0, toOnvifXMLSchemaObject_1.streamSetupToBuild)(configuration.streamSetup),
};
}
/**
* Returns the capabilities of the receiver service.
*/
async getServiceCapabilities() {
const response = await this.request({
GetServiceCapabilities: {},
});
return response.getServiceCapabilitiesResponse?.capabilities ?? {};
}
/**
* Returns all receivers on the device.
*/
async getReceivers() {
const response = await this.request({ GetReceivers: {} }, { array: ['receivers'] });
return response.getReceiversResponse?.receivers ?? [];
}
/**
* Returns a receiver by token.
* @param options
*/
async getReceiver({ receiverToken }) {
const response = await this.request({
GetReceiver: {
ReceiverToken: receiverToken,
},
});
return response.getReceiverResponse.receiver;
}
/**
* Creates a new receiver.
* @param options
*/
async createReceiver({ configuration }) {
const response = await this.request({
CreateReceiver: {
Configuration: Receiver.receiverConfigurationToBuild(configuration),
},
});
return response.createReceiverResponse.receiver;
}
/**
* Deletes a receiver.
* @param options
*/
async deleteReceiver({ receiverToken }) {
await this.request({
DeleteReceiver: {
ReceiverToken: receiverToken,
},
});
}
/**
* Configures an existing receiver.
* @param options
*/
async configureReceiver({ receiverToken, configuration }) {
await this.request({
ConfigureReceiver: {
ReceiverToken: receiverToken,
Configuration: Receiver.receiverConfigurationToBuild(configuration),
},
});
}
/**
* Sets the connection mode of a receiver.
* @param options
*/
async setReceiverMode({ receiverToken, mode }) {
await this.request({
SetReceiverMode: {
ReceiverToken: receiverToken,
Mode: mode,
},
});
}
/**
* Returns the current state of a receiver.
* @param options
*/
async getReceiverState({ receiverToken }) {
const response = await this.request({
GetReceiverState: {
ReceiverToken: receiverToken,
},
});
return response.getReceiverStateResponse.receiverState;
}
}
exports.default = Receiver;
//# sourceMappingURL=receiver.js.map