feat(server,module): add cast module

This commit is contained in:
2023-02-17 10:38:45 +01:00
parent 81dc1adfef
commit 3e601272d7
13 changed files with 729 additions and 3 deletions

View File

@ -12,7 +12,7 @@ Comme son nom l'indique, elle permet d'exécuter des opérations d'initialisatio
```js
function onInit() {
console.log("My app booted !")
}
```
@ -25,4 +25,5 @@ Listes des modules disponibles côté serveur.
- [`net`](./net.md)
- [`rpc`](./rpc.md)
- [`store`](./store.md)
- [`blob`](./blob.md)
- [`blob`](./blob.md)
- [`cast`](./cast.md)

View File

@ -0,0 +1,38 @@
# Module `cast`
Ce module permet de communiquer avec des appareils de présentation de type [Chromecast](https://store.google.com/fr/product/chromecast_setup?hl=fr).
## Méthodes
### `cast.refreshDevices(timeout?: string = '30s'): Promise<Device[]>`
Rafraichit la liste locale des appareils de présentation disponibles sur les réseaux locaux de la borne.
L'appel à cette méthode rafraîchit également la liste mise en cache et renvoyée par `cast.getDevices()`.
### `cast.getDevices(): []Device`
Retourne la liste mise en cache des appareils de présentation disponibles sur les réseaux locaux de la borne.
La liste est initialement vide. Un appel initial à `cast.refreshDevices()` est nécessaire afin de mettre à jour celle ci.
### `cast.loadUrl(deviceUuid: string, url: string, timeout?: string = '30s'): Promise<void>`
Charge l'URL donnée sur l'appareil de présentation identifié par l'UUID `deviceUuid`.
### `cast.stopCast(deviceUuid: string, timeout?: string = '30s'): Promise<void>`
Stoppe l'application courante sur l'appareil de présentation identifié par l'UUID `deviceUuid`.
## Objets
### `Device`
```typescript
interface Device {
uuid: string // UUID de l'appareil
name: string // Nom de l'appareil
host: string // Adresse IPv4 de l'appareil
port: number // Port distant du service
}
```