<?php /** * Zend Framework * * LICENSE * * This source file is subject to the new BSD license that is bundled * with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://framework.zend.com/license/new-bsd * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@zend.com so we can send you a copy immediately. * * @category Zend * @package Zend_Http * @subpackage UserAgent * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ /** * Interface defining a browser device type. * * @category Zend * @package Zend_Http * @subpackage UserAgent * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ interface Zend_Http_UserAgent_Device extends Serializable { /** * Constructor * * Allows injecting user agent, server array, and/or config array. If an * array is provided for the first argument, the assumption should be that * the device object is being seeded with cached values from serialization. * * @param null|string|array $userAgent * @param array $server * @param array $config * @return void */ public function __construct($userAgent = null, array $server = array(), array $config = array()); /** * Attempt to match the user agent * * Return either an array of browser signature strings, or a boolean. * * @param string $userAgent * @param array $server * @return bool|array */ public static function match($userAgent, $server); /** * Get all browser/device features * * @return array */ public function getAllFeatures(); /** * Get all of the browser/device's features' groups * * @return void */ public function getAllGroups(); /** * Whether or not the device has a given feature * * @param string $feature * @return bool */ public function hasFeature($feature); /** * Get the value of a specific device feature * * @param string $feature * @return mixed */ public function getFeature($feature); /** * Get the browser type * * @return string */ public function getBrowser(); /** * Retrurn the browser version * * @return string */ public function getBrowserVersion(); /** * Get an array of features associated with a group * * @param string $group * @return array */ public function getGroup($group); /** * Retrieve image format support * * @return array */ public function getImageFormatSupport(); /** * Get image types * * @return array */ public function getImages(); /** * Get the maximum image height supported by this device * * @return int */ public function getMaxImageHeight(); /** * Get the maximum image width supported by this device * * @return int */ public function getMaxImageWidth(); /** * Get the physical screen height of this device * * @return int */ public function getPhysicalScreenHeight(); /** * Get the physical screen width of this device * * @return int */ public function getPhysicalScreenWidth(); /** * Get the preferred markup type * * @return string */ public function getPreferredMarkup(); /** * Get the user agent string * * @return string */ public function getUserAgent(); /** * Get supported X/HTML version * * @return int */ public function getXhtmlSupportLevel(); /** * Does the device support Flash? * * @return bool */ public function hasFlashSupport(); /** * Does the device support PDF? * * @return bool */ public function hasPdfSupport(); /** * Does the device have a phone number associated with it? * * @return bool */ public function hasPhoneNumber(); /** * Does the device support HTTPS? * * @return bool */ public function httpsSupport(); }