0byt3m1n1
Path:
/
home
/
mgatv524
/
public_html
/
mctv
/
lib
/
Service
/
[
Home
]
File: ConfigServiceInterface.php
<?php /** * Copyright (C) 2020 Xibo Signage Ltd * * Xibo - Digital Signage - http://www.xibo.org.uk * * This file is part of Xibo. * * Xibo is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * any later version. * * Xibo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with Xibo. If not, see <http://www.gnu.org/licenses/>. */ namespace Xibo\Service; use Stash\Interfaces\PoolInterface; use Xibo\Support\Exception\ConfigurationException; use Xibo\Storage\StorageServiceInterface; /** * Interface ConfigServiceInterface * @package Xibo\Service */ interface ConfigServiceInterface { /** * Set Service Dependencies * @param StorageServiceInterface $store * @param string $rootUri */ public function setDependencies($store, $rootUri); /** * Get Cache Pool * @param PoolInterface $pool * @return mixed */ public function setPool($pool); /** * Get Database Config * @return array */ public function getDatabaseConfig(); /** * Get settings * @return array|mixed|null */ public function getSettings(); /** * Gets the requested setting from the DB object given * @param $setting string * @param string[optional] $default * @param bool[optional] $full * @return string */ public function getSetting($setting, $default = NULL, $full = false); /** * Change Setting * @param string $setting * @param mixed $value */ public function changeSetting($setting, $value); /** * Is the provided setting visible * @param string $setting * @return bool */ public function isSettingVisible($setting); /** * Is the provided setting editable * @param string $setting * @return bool */ public function isSettingEditable($setting); /** * Should the host be considered a proxy exception * @param $host * @return bool */ public function isProxyException($host); /** * Get Proxy Configuration * @param array $httpOptions * @return array */ public function getGuzzleProxy($httpOptions = []); /** * Get API key details from Configuration * @return array */ public function getApiKeyDetails(); /** * Checks the Environment and Determines if it is suitable * @return string */ public function checkEnvironment(); /** * Loads the theme * @param string[Optional] $themeName * @throws ConfigurationException */ public function loadTheme($themeName = null); /** * Get Theme Specific Settings * @param null $settingName * @param null $default * @return null */ public function getThemeConfig($settingName = null, $default = null); /** * Get theme URI * @param string $uri * @param bool $local * @return string */ public function uri($uri, $local = false); /** * Check a theme file exists * @param string $uri * @return bool */ public function themeFileExists($uri); /** * Check a web file exists * @param string $uri * @return bool */ public function fileExists($uri); /** * Get App Root URI * @return mixed */ public function rootUri(); /** * Get cache drivers * @return array */ public function getCacheDrivers(); /** * Get time series store settings * @return array */ public function getTimeSeriesStore(); /** * Get the cache namespace * @return string */ public function getCacheNamespace(); }