* @revision 03 * @license http://creativecommons.org/licenses/by-sa/3.0/de/ Creative Commons Attribution-Share Alike 3.0 Germany * @homepage http://oss.tiggerswelt.net/oscar/ * @copyright Copyright © 2009 tiggersWelt.net */ class Oscar_Writer { protected $Parent = null; // {{{ __construct /** * Constructor of this class * * @access public * @return void */ public function __construct ($Parent = null) { $this->Parent = $Parent; } // }}} // {{{ getParent /** * Retrive handle of our parent * * @access public * @return object **/ public function getParent () { return $this->Parent; } // }}} // {{{ writeFLAP /** * Construct FLAP-Packet and write to network * * @param resource $Socket * @param int $Channel (optional) * * @access public * @return void */ public function writeFLAP (&$Socket = null, $Channel = null) { // Force SNAC-Channel on SNAC-Packets if ($this instanceof Oscar_SNAC) $Channel = Oscar_FLAP::FRAME_DATA; // Try to queue in parent if (is_object ($Parent = self::getOSCAR ())) { $FLAP = $Parent->getFLAP (); $FLAP->setChannel ($Channel); // Create new FLAP-Packet } else $FLAP = new Oscar_FLAP ($Socket, $Channel, $this->Parent); // Append ourselves to Packet $FLAP->queue ($this); // Write to the net return $FLAP->write (); } // }}} // {{{ getOSCAR /** * Retrive parent OSCAR-Class * * @access public * @return object */ public function getOSCAR () { return $this->Parent; } // }}} } ?>