Refresh AirMedia API

Add AirMedia documentation
This commit is contained in:
alphayax 2016-06-09 21:30:30 +02:00
parent 702a0d52b9
commit f0a5aa64b4
4 changed files with 38 additions and 27 deletions

View File

@ -23,7 +23,7 @@ Pensez à installer les dependences :)
L'intégralité des fonctionnalités de l'API Freebox (v3) sont implémentées :
- AirMedia
- [AirMedia](docs/AirMedia)
- Call
- CallEntry
- ContactEntry

19
docs/AirMedia.md Normal file
View File

@ -0,0 +1,19 @@
# AirMedia
## Services
### AirMedia
Namespace `alphayax\freebox\api\v3\services\AirMedia\`
Classe `AirMedia`
#### Configuration
- getConfiguration : Récupère la configuration courrante
- setConfiguration : Définit la configuration
#### AirMedia Receivers
- getAirMediaReceivers : Retourne la liste des AirMedia Receivers connectés a la freebox
- sendRequestToAirMediaReceiver : Envoie une Requete a un AirMedia Receiver donné

View File

@ -14,10 +14,10 @@ $AirMediaService = new \alphayax\freebox\api\v3\services\AirMedia\AirMedia( $App
// AirMedia Config
$Configuration = $AirMediaService->getConfiguration();
print_r( $Configuration);
/*
// AirMedia Receivers
$Receivers = $AirMediaService->getAirMediaReceivers();
var_dump( $Receivers);
print_r( $Receivers);
// AirMedia Request
$Request = new \alphayax\freebox\api\v3\models\AirMedia\AirMediaReceiverRequest();
@ -26,5 +26,4 @@ $Request->setMediaType( \alphayax\freebox\api\v3\symbols\AirMedia\MediaType::VID
$Request->setMedia( 'http://anon.nasa-global.edgesuite.net/HD_downloads/GRAIL_launch_480.mov');
$Status = $AirMediaService->sendRequestToAirMediaReceiver( 'Freebox Player', $Request);
var_dump( $Status);
*/
print_r( $Status);

View File

@ -1,8 +1,6 @@
<?php
namespace alphayax\freebox\api\v3\services\AirMedia;
use alphayax\freebox\api\v3\models\AirMedia\AirMediaConfig;
use alphayax\freebox\api\v3\models\AirMedia\AirMediaReceiver;
use alphayax\freebox\api\v3\models\AirMedia\AirMediaReceiverRequest;
use alphayax\freebox\api\v3\models;
use alphayax\freebox\api\v3\Service;
@ -17,53 +15,48 @@ class AirMedia extends Service {
/**
* @throws \Exception
* @return AirMediaConfig
* @return models\AirMedia\AirMediaConfig
*/
public function getConfiguration(){
$rest = $this->getAuthService( self::API_AIRMEDIA_CONFIG);
$rest->GET();
return new AirMediaConfig( $rest->getCurlResponse()['result']);
return $rest->getResult( models\AirMedia\AirMediaConfig::class);
}
/**
* @param AirMediaConfig $new_AirMediaConfig
* @return AirMediaConfig
* @param models\AirMedia\AirMediaConfig $new_AirMediaConfig
* @return models\AirMedia\AirMediaConfig
* @throws \Exception
*/
public function setConfiguration( AirMediaConfig $new_AirMediaConfig){
public function setConfiguration( models\AirMedia\AirMediaConfig $new_AirMediaConfig){
$rest = $this->getAuthService( self::API_AIRMEDIA_CONFIG);
$rest->PUT( $new_AirMediaConfig->toArray());
$rest->PUT( $new_AirMediaConfig);
return new AirMediaConfig( $rest->getCurlResponse()['result']);
return $rest->getResult( models\AirMedia\AirMediaConfig::class);
}
/**
* Get the list of AirMediaReceiver connected to the Freebox Server
* @return AirMediaReceiver[]
* @return models\AirMedia\AirMediaReceiver[]
*/
public function getAirMediaReceivers(){
$rest = $this->getAuthService( self::API_AIRMEDIA_RECEIVERS);
$rest->GET();
$AirMediaReceiver_xs = $rest->getCurlResponse()['result'];
$AirMediaReceivers = [];
foreach( $AirMediaReceiver_xs as $airMediaReceiver_x) {
$AirMediaReceivers[] = new AirMediaReceiver( $airMediaReceiver_x);
}
return $AirMediaReceivers;
return $rest->getResultAsArray( models\AirMedia\AirMediaReceiver::class);
}
/**
* @param string $AirMediaReceiver_name
* @param AirMediaReceiverRequest $AirMediaReceiverRequest
* @param string $AirMediaReceiver_name
* @param models\AirMedia\AirMediaReceiverRequest $AirMediaReceiverRequest
* @return bool
*/
public function sendRequestToAirMediaReceiver( $AirMediaReceiver_name, AirMediaReceiverRequest $AirMediaReceiverRequest){
public function sendRequestToAirMediaReceiver( $AirMediaReceiver_name, models\AirMedia\AirMediaReceiverRequest $AirMediaReceiverRequest){
$rest = $this->getAuthService( self::API_AIRMEDIA_RECEIVERS . $AirMediaReceiver_name . DIRECTORY_SEPARATOR);
$rest->POST( $AirMediaReceiverRequest->toArray());
$rest->POST( $AirMediaReceiverRequest);
return $rest->getCurlResponse()['success'];
return $rest->getSuccess();
}
}