activities, $this->photos, $this->people, $this->search, etc * * @author Chris Chabot * */ class apiService { protected $io; protected $version = null; protected $restBasePath; protected $rpcPath; public function __construct($serviceName, $discoveryDocument, apiIO $io) { global $apiConfig; $this->io = $io; if (!isset($discoveryDocument['version']) || !isset($discoveryDocument['restBasePath']) || !isset($discoveryDocument['rpcPath'])) { throw new apiServiceException("Invalid discovery document"); } $this->version = $discoveryDocument['version']; $this->restBasePath = $apiConfig['basePath'] . $discoveryDocument['restBasePath']; $this->rpcPath = $apiConfig['basePath'] . $discoveryDocument['rpcPath']; foreach ($discoveryDocument['resources'] as $resourceName => $resourceTypes) { $this->$resourceName = new apiServiceResource($this, $serviceName, $resourceName, $resourceTypes); } } /** * @return the $io */ public function getIo() { return $this->io; } /** * @param $io the $io to set */ public function setIo($io) { $this->io = $io; } /** * @return the $version */ public function getVersion() { return $this->version; } /** * @return the $restBasePath */ public function getRestBasePath() { return $this->restBasePath; } /** * @return the $rpcPath */ public function getRpcPath() { return $this->rpcPath; } /** * @param $version the $version to set */ public function setVersion($version) { $this->version = $version; } /** * @param $restBasePath the $restBasePath to set */ public function setRestBasePath($restBasePath) { $this->restBasePath = $restBasePath; } /** * @param $rpcPath string the $rpcPath to set */ public function setRpcPath($rpcPath) { $this->rpcPath = $rpcPath; } }