package com.adobe.onair { import flash.events.EventDispatcher; import flash.events.IEventDispatcher; import flash.events.TimerEvent; import com.adobe.onair.events.QueueTimerEvent; import flash.utils.Timer; public class QueueTimer extends EventDispatcher { public var item:Object; private var timeout:Number = 120 * 1000; //2 minutes private var _timer:Timer; public function QueueTimer(timeout:Number) { this.timeout = timeout; } public function startTimer(item:Object):void { this.item = item; _timer = new Timer(timeout,0); _timer.addEventListener(TimerEvent.TIMER, onTimer); _timer.start(); } public function clearTimer():void { if(_timer == null) { return; } _timer.stop(); _timer = null; } private function onTimer(e:TimerEvent):void { var event:QueueTimerEvent = new QueueTimerEvent(QueueTimerEvent.ON_QUEUE_TIMEOUT); event.item = item; dispatchEvent(event); clearTimer(); } } }