ptp
7 min
ptp le permite recuperar información sobre el estado PTP de la red del reproductor.
IDL de ptp
interface PtpEvent {
attribute String type;
};
callback PtpEventCallback = void (PtpEvent event);
interface Ptp {
Promise<PtpStatus> getStatus();
void addEventListener(String type, PtpEventCallback callback);
void removeEventListener(String type, PtpEventCallback callback);
};
interface PtpStatus {
attribute long timestamp;
attribute String state;
}; Creación de objetos
Para crear un objeto ptp, cargue el módulo @brightsign/ptp usando el método require().
var ptpclass = require('@brightsign/ptp');
var ptp = new ptpclass(); Ptp
getStatus()
Promise<PtpStatus> getStatus() Obtiene el estado de una red PTP para un reproductor.
PtpEvent
Este objeto de evento es generado por el objeto roPtp cada vez que cambia el estado PTP del reproductor.
- tipo string: El nombre del evento (que siempre será PtpEvent).
PtpStatus
- marca de tiempo long: El número de segundos desde que el estado PTP cambió por última vez. Este valor puede compararse con el tiempo total de actividad del reproductor, que se recupera llamando a UpTime(0).
- estado string: Indica el estado PTP actual del reproductor. Los valores pueden ser Master, Slave o Uncalibrated.
Ejemplo
// code placeholder
var ptpclass = require('@brightsign/ptp');
var ptp = new ptpclass();
function main() {
console.log("Starting PTP javascript API...");
// ptp status test
// Two examples of result from getStatus() for Master & Slave player
// {"state":"MASTER","timestamp":20}
// {"state":"SLAVE","timestamp":24}
var status = ptp.getStatus();
status.then( function(result) {
console.log(JSON.stringify(result)); })
.catch( function(err){
console.log(JSON.stringify(err));
});
// add event test
if(ptp.addEventListener){
console.log("adding test event");
ptp.addEventListener("ptpevent", EventHandler);
}
// remove event test
// set 5 sec timeout for the purpose of testing removeEventListener
setTimeout(function (){
console.log("removing test event");
ptp.removeEventListener("ptpevent", EventHandler) }, 5000);
}
function EventHandler(event){
console.log(JSON.stringify(event));
} Desde BrightSignOS 8.3.20, para obtener el conjunto de datos actual:
var ptpclass = require('@brightsign/ptp');
var ptp = new ptpclass();
var ds = ptp.getCurrentDataSet();
ds
.then( function(result) {
console.log(JSON.stringify(result));
})
.catch( function(err){
console.log(JSON.stringify(err)); }
);
Esto devolverá una promesa que, cuando se complete correctamente, se resolverá al tipo:
type CurrentDataSet
{
stepsRemoved: number;
offsetFromMaster: number;
meanPathDelay: number;
}