1*04fd306cSNickeau<?php 2*04fd306cSNickeau 3*04fd306cSNickeaunamespace Facebook\WebDriver\Remote; 4*04fd306cSNickeau 5*04fd306cSNickeauclass WebDriverCommand 6*04fd306cSNickeau{ 7*04fd306cSNickeau /** @var string|null */ 8*04fd306cSNickeau protected $sessionID; 9*04fd306cSNickeau /** @var string */ 10*04fd306cSNickeau protected $name; 11*04fd306cSNickeau /** @var array */ 12*04fd306cSNickeau protected $parameters; 13*04fd306cSNickeau 14*04fd306cSNickeau /** 15*04fd306cSNickeau * @param string $session_id 16*04fd306cSNickeau * @param string $name Constant from DriverCommand 17*04fd306cSNickeau * @param array $parameters 18*04fd306cSNickeau * @todo In 2.0 force parameters to be an array, then remove is_array() checks in HttpCommandExecutor 19*04fd306cSNickeau * @todo In 2.0 make constructor private. Use by default static `::create()` with sessionID type string. 20*04fd306cSNickeau */ 21*04fd306cSNickeau public function __construct($session_id, $name, $parameters) 22*04fd306cSNickeau { 23*04fd306cSNickeau $this->sessionID = $session_id; 24*04fd306cSNickeau $this->name = $name; 25*04fd306cSNickeau $this->parameters = $parameters; 26*04fd306cSNickeau } 27*04fd306cSNickeau 28*04fd306cSNickeau /** 29*04fd306cSNickeau * @return self 30*04fd306cSNickeau */ 31*04fd306cSNickeau public static function newSession(array $parameters) 32*04fd306cSNickeau { 33*04fd306cSNickeau // TODO: In 2.0 call empty constructor and assign properties directly. 34*04fd306cSNickeau return new self(null, DriverCommand::NEW_SESSION, $parameters); 35*04fd306cSNickeau } 36*04fd306cSNickeau 37*04fd306cSNickeau /** 38*04fd306cSNickeau * @return string 39*04fd306cSNickeau */ 40*04fd306cSNickeau public function getName() 41*04fd306cSNickeau { 42*04fd306cSNickeau return $this->name; 43*04fd306cSNickeau } 44*04fd306cSNickeau 45*04fd306cSNickeau /** 46*04fd306cSNickeau * @return string|null Could be null for newSession command 47*04fd306cSNickeau */ 48*04fd306cSNickeau public function getSessionID() 49*04fd306cSNickeau { 50*04fd306cSNickeau return $this->sessionID; 51*04fd306cSNickeau } 52*04fd306cSNickeau 53*04fd306cSNickeau /** 54*04fd306cSNickeau * @return array 55*04fd306cSNickeau */ 56*04fd306cSNickeau public function getParameters() 57*04fd306cSNickeau { 58*04fd306cSNickeau return $this->parameters; 59*04fd306cSNickeau } 60*04fd306cSNickeau} 61