File: //home/posscale/subdomains/xibo/lib/Service/ConfigServiceInterface.php
<?php
/*
* Spring Signage Ltd - http://www.springsignage.com
* Copyright (C) 2016 Spring Signage Ltd
* (ConfigServiceInterface.php)
*/
namespace Xibo\Service;
use Stash\Interfaces\PoolInterface;
use Xibo\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();
/**
* Gets the requested setting from the DB object given
* @param $setting string
* @param string[optional] $default
* @return string
*/
public function GetSetting($setting, $default = NULL);
/**
* Change Setting
* @param string $setting
* @param mixed $value
*/
public function ChangeSetting($setting, $value);
/**
* Defines the Version and returns it
* @param $object string[optional]
* @return array|string
* @throws \Exception
*/
public function Version($object = '');
/**
* Is an upgrade pending?
* @return bool
*/
public function isUpgradePending();
/**
* 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 PicoFeed Proxy
* @param string $feedUrl
* @return null|\PicoFeed\Config\Config
*/
public function getPicoFeedProxy($feedUrl);
/**
* 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);
/**
* Get App Root URI
* @return mixed
*/
public function rootUri();
/**
* Check ZeroMQ support
* @return bool
*/
public static function checkZmq();
/**
* Get cache drivers
* @return array
*/
public function getCacheDrivers();
/**
* Get the cache namespace
* @return string
*/
public function getCacheNamespace();
}