YSTest
PreAlpha_b400_20130424
The YSLib Test Project
首页
相关页面
模块
命名空间
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
yshell.cpp
浏览该文件的文档.
1
/*
2
Copyright (C) by Franksoft 2009 - 2012.
3
4
This file is part of the YSLib project, and may only be used,
5
modified, and distributed under the terms of the YSLib project
6
license, LICENSE.TXT. By continuing to use, modify, or distribute
7
this file you indicate that you have read the license and
8
understand and accept it fully.
9
*/
10
28
#include "
YSLib/Core/yshell.h
"
29
#include "
YSLib/Core/yapp.h
"
30
31
YSL_BEGIN
32
33
YSL_BEGIN_NAMESPACE
(Shells)
34
35
using namespace Messaging;
36
37
Shell
::~
Shell
()
38
{
39
// TODO: Reconsider of using weak pointer in messages.
40
// FetchAppInstance().Queue.Remove(this, 0xFF);
41
}
42
43
bool
44
Shell::IsActive()
const
45
{
46
// NOTE: %raw used here for performance.
47
return
raw
(
FetchAppInstance
().GetShellHandle()) ==
this
;
48
}
49
50
int
51
Shell::DefShlProc(
const
Message& msg)
52
{
53
switch
(msg.GetMessageID())
54
{
55
case
SM_SET
:
56
{
57
auto
h
(FetchTarget<SM_SET>(msg));
58
59
return
-!
FetchAppInstance
().Switch(
h
);
60
}
61
case
SM_QUIT
:
62
std::exit(FetchTarget<SM_QUIT>(msg));
63
break
;
64
case
SM_TASK
:
65
FetchTarget<SM_TASK>(msg)();
66
default
:
67
break
;
68
}
69
return
0;
70
}
71
72
YSL_END_NAMESPACE
(Shells)
73
74
YSL_END
75
YFramework
source
YSLib
Core
yshell.cpp
生成于 2013年 四月 24日 星期三 18:41:28 , 为 YSTest使用
1.8.2