Current file: /root/works/bitsis/oxokuatro/CRE/WSFW/protocols/Rpc/Json_rpc.php
Legend: executed not executed dead code

  Coverage
  Classes Functions / Methods Lines
Total
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 4 / 4 CRAP
100.00%100.00%
100.00% 16 / 16
 
Json_rpc
100.00%100.00%
100.00% 1 / 1
100.00%100.00%
100.00% 4 / 4
100.00%100.00%
100.00% 16 / 16
 call($method, $params)
100.00%100.00%
100.00% 1 / 1 2
100.00%100.00%
100.00% 9 / 9
 generateId()
100.00%100.00%
100.00% 1 / 1 2
100.00%100.00%
100.00% 5 / 5
 encode($data)
100.00%100.00%
100.00% 1 / 1 1
100.00%100.00%
100.00% 1 / 1
 decode($data)
100.00%100.00%
100.00% 1 / 1 1
100.00%100.00%
100.00% 1 / 1


       1                 : <?php                                                                                          
       2                 : /**                                                                                            
       3                 :  * Fitxer que defineix la clase Json_Rpc                                                       
       4                 :  * @package WSFW                                                                               
       5                 :  */                                                                                            
       6                 :                                                                                                
       7                 : /**                                                                                            
       8                 :  * Json_rpc defineix la clase que implementa Json-RPC                                          
       9                 :  * @var string $request_url URL de la petició                                                  
      10                 :  * @var estructura $request Petició (mètode i paràmetres)                                      
      11                 :  */                                                                                            
      12                 : class Json_rpc extends Rpc {                                                                   
      13                 :                                                                                                
      14                 :     /**                                                                                        
      15                 :      * Crida a un mètode del WS                                                                
      16                 :      * Defineix els paràmetres necessàris per complir amb l'especificació de Json-RPC de Google
      17                 :      * Genera la ID per la crida i comprova que la resposta coincideixi                        
      18                 :      * Fa la crida RPC                                                                         
      19                 :      * @param string $method Nom del mètode                                                    
      20                 :      * @param estructura $params Paràmetres de la crida                                        
      21                 :      * @return estructura Resposta                                                             
      22                 :      */                                                                                        
      23                 :    public function call($method, $params) {                                                    
      24               1 :         parent::call($method, $params);                                                        
      25               1 :         $_data["params"] = $params;                                                            
      26               1 :         $_data["jsonrpc"] = "2.0";                                                             
      27               1 :         $_data["method"] = $method;                                                            
      28               1 :         $_data["id"] = $this->generateId();                                                    
      29               1 :         $data = $this->rpc_call($_data);                                                       
      30               1 :       if ($data["id"] != $id)                                                                  
      31               1 :             return error("Error en la ID de la petición JSON");                                
      32               1 :         return $data;                                                                          
      33                 :     }                                                                                          
      34                 :                                                                                                
      35                 :     /**                                                                                        
      36                 :       * Genera una ID aleatòria                                                                
      37                 :       * @return string Identificador aleatori                                                  
      38                 :       */                                                                                       
      39                 :    private function generateId() {                                                             
      40               1 :         $chars = array_merge(range('A', 'Z'), range('a', 'z'), range(0, 9));                   
      41               1 :         $id = '';                                                                              
      42               1 :         for($c = 0; $c < 16; ++$c)                                                             
      43               1 :             $id .= $chars[mt_rand(0, count($chars) - 1)];                                      
      44               1 :         return $id;                                                                            
      45                 :    }                                                                                           
      46                 :                                                                                                
      47                 :     /**                                                                                        
      48                 :      * Funció de codificació de la crida en Json                                               
      49                 :      * @param estructura $data Estructura a codificar                                          
      50                 :       * @return string Estructura codificada                                                   
      51                 :      */                                                                                        
      52                 :    protected function encode($data) {                                                          
      53               2 :         return json_encode($data);                                                             
      54                 :     }                                                                                          
      55                 :                                                                                                
      56                 :     /**                                                                                        
      57                 :      * Funció de codificació de la resposta en Json                                            
      58                 :      * @param string $data Estructura a descodificar                                           
      59                 :       * @return estructura Estructura descodificada                                            
      60                 :      */                                                                                        
      61                 :    protected function decode($data) {                                                          
      62               5 :         return json_decode($data,true);                                                        
      63                 :     }                                                                                          
      64                 :                                                                                                
      65                 : }                                                                                              
      66                 :                                                                                                
      67                 : ?>                                                                                             

Generated by PHP_CodeCoverage 1.0.3 using PHP 5.3.3-7 and PHPUnit 3.5.5 at Tue Jan 25 2:17:13 CET 2011.