Private frame is used to contain information from a software * producer that its program uses and does not fit into the other frames. The * frame consists of an owner identifier string and the binary data. The owner * identifier is URL containing an email address, or a link to a location where * an email address can be found, that belongs to the organisation responsible * for the frame. Questions regarding the frame should be sent to the indicated * email address. The tag may contain more than one PRIV frame but only with * different contents. * * @package php-reader * @subpackage ID3 * @author Sven Vollbehr * @author Ryan Butterfield * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup * @license http://code.google.com/p/php-reader/wiki/License New BSD License * @version $Rev: 105 $ */ final class ID3_Frame_PRIV extends ID3_Frame { /** @var string */ private $_owner; /** @var string */ private $_privateData; /** * Constructs the class with given parameters and parses object related data. * * @param Reader $reader The reader object. * @param Array $options The options array. */ public function __construct($reader = null, &$options = array()) { parent::__construct($reader, $options); if ($reader === null) return; list($this->_owner, $this->_privateData) = $this->explodeString8($this->_data, 2); } /** * Returns the owner identifier string. * * @return string */ public function getOwner() { return $this->_owner; } /** * Sets the owner identifier string. * * @param string $owner The owner identifier string. */ public function setOwner($owner) { $this->_owner = $owner; } /** * Returns the private binary data associated with the frame. * * @return string */ public function getPrivateData() { return $this->_privateData; } /** * Sets the private binary data associated with the frame. * * @param string $privateData The private binary data string. */ public function setPrivateData($privateData) { $this->_privateData = $privateData; } /** * Returns the frame raw data. * * @return string */ public function __toString() { parent::setData($this->_owner . "\0" . $this->_privateData); return parent::__toString(); } }