rawData = $rawData; $this->outputStream = ""; $this->_incomingHeaders = array(); $this->_outgoingHeaders = array(); $this->_bodys = array(); $this->_headerTable = array(); } /** * addHeader places a new header into the pool of headers. * * Each header has 3 properties, they header key, the required flag * and the data associated with the header. * * @param object $header The AMFHeader object to add to the list */ function addHeader(&$header) { //$len = array_push($this->_incomingHeaders, $header); $this->_incomingHeaders[] = $header; $name = $header->name; $this->_headerTable[$name] = $header; } /** * addOutgoingHeader places a new header into the pool of outbound headers. * * Each header has 3 properties, they header key, the required flag * and the data associated with the header. * * @param object $header The AMFHeader object to add to the list */ function addOutgoingHeader(&$header) { //$len = array_push($this->_outgoingHeaders, $header); $this->_outgoingHeaders[] = $header; } /** * getHeader returns a header record for a given key * * @param string $key The header key * @return mixed The header record */ function getHeader ($key) { if (isset($this->_headerTable[$key])) { return $this->_headerTable[$key]; } return false; } /** * Gets the number of headers for this amf packet * * @return int The header count */ function numHeader() { return count($this->_incomingHeaders); } /** * Gets the number of outgoing headers for this amf packet * * @return int The header count */ function numOutgoingHeader() { return count($this->_outgoingHeaders); } /** * Get the header at the specified position. * * If you pass an id this method will return the header * located at that id, otherwise it will return the first header * * @param int $id Optional id field * @return array The header object */ function &getHeaderAt($id = 0) { return $this->_incomingHeaders[$id]; } /** * Get the header at the specified position from the outgoing header queue. * * If you pass an id this method will return the header * located at that id, otherwise it will return the first header * * @param int $id Optional id field * @return array The header object */ function &getOutgoingHeaderAt($id = 0) { return $this->_outgoingHeaders[$id]; } /** * addBody has the job of adding a new body element to the bodys array. * * @param string $t The target URI * @param string $r The response URI * @param mixed $v The value of the object * @param string $ty The type of the results * @param int $ps The pagesize of a recordset */ function addBody($body) { $this->_bodys[] = $body; } /** * addBodyAt provides an interface to push a body element to a desired * position in the array. * * @param int $pos The position to add the body element * @param AMFBody $body The body element to add */ function addBodyAt($pos, $body) { array_splice($this->_bodys, $pos, 0, array($body)); // splice the new body into the array } /** * removeBodyAt provides an interface to remove a body element to a desired * position in the array. * * @param int $pos The position to add the body element * @param AMFBody $body The body element to add */ function removeBodyAt($pos) { array_splice($this->_bodys, $pos, 1); // splice the new body into the array } /** * numBody returns the total number of body elements. There is one body * element for each method call. * * @return int The number of body elements */ function numBody() { return count($this->_bodys); } /** * getBodyAt returns the current body element the specified position. * * If a integer is passed this method will return the element at the given position. * Otherwise the first element will be returned. * * @param int $id The id of the body element desired * @return array The body element */ function &getBodyAt($id = 0) { return $this->_bodys[$id]; } } ?>