Boost.MSMにおけるイベントの定義。状態マシンのprocess_event()の引数に渡すことにより、状態マシンの状態?により遷移が起こる。イベントもやっぱり型で持つのである。
namespace ev
{
struct Init {}; // 初期化イベント
struct OpenURL // ファイルを開くイベント
{
explicit OpenURL(std::wstring& url) : url_(url) {}
const std::wstring& url() const {return url_;}
private:
std::wstring url_;
};
struct Play {};// 演奏開始
struct End {};// 終了
struct Pause {};// 一時停止
struct Stop {};// 停止
struct Close {};// 閉じる
}