preferenceMapper = $preferenceMapper; } /** * @brief get preference * * scope identifies preference source, i.e. which renderer the preference applies to * preference type is format-dependent, eg CFI for epub, page number for CBR/CBZ, etc * * @param string $scope * @param int $fileId * @param string $name * * @return array */ public function get($scope, $fileId, $name=null) { $result = $this->preferenceMapper->get($scope, $fileId, $name); return array_map( function($entity) { return [ 'name' => $entity->getName(), 'value' => $entity->getValue(), 'lastModified' => $entity->getLastModified() ]; }, $result); } /** * @brief write preference * * scope identifies preference source, i.e. which renderer the preference applies to * position type is format-dependent, eg CFI for epub, page number for CBR/CBZ, etc * * @param string $scope * @param int $fileId * @param string $name * @param string $value * * @return array */ public function set($scope, $fileId, $name, $value) { return $this->preferenceMapper->set($scope, $fileId, $name, $value); } /** * @brief get default preference * * @param string $scope * @param string $name * * @return array */ public function getDefault($scope, $name=null) { return $this->get($scope, static::DEFAULTS, $name); } /** * @brief set default preference * * @param string $scope * @param string $name * @param string $value * * @return array */ public function setDefault($scope, $name, $value) { return $this->preferenceMapper->set($scope, static::DEFAULTS, $name, $value); } }