diff --git a/README.md b/README.md index 2764d0f..acb3a10 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docs/AirMedia.md b/docs/AirMedia.md new file mode 100644 index 0000000..de9d743 --- /dev/null +++ b/docs/AirMedia.md @@ -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é \ No newline at end of file diff --git a/exemple/AirMedia/AirMedia.php b/exemple/AirMedia/AirMedia.php index 1ef017f..d7db807 100644 --- a/exemple/AirMedia/AirMedia.php +++ b/exemple/AirMedia/AirMedia.php @@ -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); -*/ \ No newline at end of file +print_r( $Status); diff --git a/freebox/api/v3/services/AirMedia/AirMedia.php b/freebox/api/v3/services/AirMedia/AirMedia.php index 79219b8..76a3cb3 100644 --- a/freebox/api/v3/services/AirMedia/AirMedia.php +++ b/freebox/api/v3/services/AirMedia/AirMedia.php @@ -1,8 +1,6 @@ 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(); } }