<?php
/**
* タスクを定義するインタフェース
*
* PHP version 5
*
* @package    interfaces
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/
interface ITask extends IObject
{
	/**
	 * タスクを初期化する
	 */
	public function init( Config $config );

	/**
	 * ガード条件を取得する
	 */
	public function getGuardConditions();

	/**
	 * イベントフィルタを取得する
	 */
	public function getEventFilters();

	/**
	 * ポストアクションを取得する
	 */
	public function getPostActions();

	/**
	 * イベントを処理する
	 */
	public function processEvent( IEvent $event, TaskSnapshot $snapshot );

}

return __FILE__;