<?php
/**
* イベントのキューを扱うクラス
*
* PHP version 5
*
* @package    core
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

class EventQueue 
{
	var $_array;

	/*
	 *	コンストラクタ
	 */
	public function __construct()
	{
		$this->_array = array();
	}

	/*
	 * キューにエントリが存在するか
	 *
	 */
	public function isEmpty()
	{
		return count( $this->_array ) === 0;
	}

	/*
	 * キューに存在するエントリの数を取得する
	 *
	 */
	public function count()
	{
		return count( $this->_array );
	}

	/*
	 * キューからエントリを取り出す
	 *
	 */
	public function dequeue()
	{
		if ( count($this->_array) === 0 ){
			return NULL;
		}
		return array_shift( $this->_array );
	}

	/*
	 * エントリをキューに追加する
	 *
	 */
	public function enqueue( EventQueueEntry $event )
	{
		array_push( $this->_array, $event );
	}

}
