<?php
/**
* タスクマネージャを定義するインタフェース
*
* PHP version 5
*
* @package    interfaces
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/

interface ITaskManager
{

	/**
	 *   タスクマネージャ名を取得
	 */
	public function getTaskManagerName();

	/*
	 *   タスクマネージャを初期化する
	 */
	public function init( Config $config );

	/**
	 *   イベントディスパッチを行う
	 *
	 */
	public function dispatchEvents( IRequest $request, $events );

	/**
	 *   イベント処理を行う
	 *
	 */
	public function processEvents( ProcedureContext $context );

	/**
	 *   タスクをハンドリングする
	 */
	public function handleTasks();
}
