YSTest  PreAlpha_b500_20140530
The YSLib Test Project
 全部  命名空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义  
YSLib::Application类 参考

程序实例。 更多...

#include <yapp.h>

类 YSLib::Application 继承关系图:
YSLib::Application 的协作图:

Public 成员函数

 Application ()
 无参数构造。 更多...
 
virtual ~Application ()
 析构:释放 Shell 所有权和其它资源。 更多...
 
 DefGetter (const ynothrow, shared_ptr< Shell >, ShellHandle, hShell) template< typename _fCallable > auto AccessQueue(_fCallable f) -> decltype(f(qMain))
 取得线程空间中当前运行的 Shell 的句柄。 更多...
 
void OnGotMessage (const Message &) override
 处理消息:分发消息。 更多...
 
bool Switch (shared_ptr< Shell > &) ynothrow
 线程切换:若参数非空,和线程空间中当前运行的 Shell 的句柄交换。 更多...
 

Public 属性

std::function< void()> ApplicationExit
 资源释放函数。 更多...
 

Protected 属性

MessageQueue qMain
 
shared_ptr< Shell > hShell
 当前 Shell 句柄:指示当前线程空间中运行的 Shell 。 更多...
 

详细描述

程序实例。

自从
build 243

在文件 yapp.h46 行定义.

构造及析构函数说明

YSLib::Application::Application ( )

无参数构造。

在文件 yapp.cpp34 行定义.

YSLib::Application::~Application ( )
virtual

析构:释放 Shell 所有权和其它资源。

在文件 yapp.cpp37 行定义.

参考 ApplicationExit, hShell, qMain , 以及 YAssert.

成员函数说明

YSLib::Application::DefGetter ( const ynothrow  ,
shared_ptr< Shell >  ,
ShellHandle  ,
hShell   
) -> decltype(f(qMain))
inline

取得线程空间中当前运行的 Shell 的句柄。

执行消息队列操作。

注解
线程安全:全局消息队列互斥访问。
自从
build 481

在文件 yapp.h88 行定义.

参考 YSLib::UI::f.

void YSLib::Application::OnGotMessage ( const Message &  msg)
override

处理消息:分发消息。

前置条件
断言:当前 Shell 句柄有效。
异常
捕获并忽略Messaging::MessageSignal ,其它异常中立。
自从
build 317

在文件 yapp.cpp49 行定义.

参考 YAssert.

参考自 YSLib::GUIApplication::DealMessage().

这是这个函数的调用关系图:

bool YSLib::Application::Switch ( shared_ptr< Shell > &  h)

线程切换:若参数非空,和线程空间中当前运行的 Shell 的句柄交换。

返回
参数是否有效。
自从
build 295

在文件 yapp.cpp63 行定义.

参考 ystdex::swap() , 以及 YB_LIKELY.

参考自 YSLib::Activate() , 以及 YSLib::Shells::Shell::DefShlProc().

函数调用图:

这是这个函数的调用关系图:

类成员变量说明

std::function<void()> YSLib::Application::ApplicationExit

资源释放函数。

在文件 yapp.h71 行定义.

参考自 ~Application().

shared_ptr<Shell> YSLib::Application::hShell
protected

当前 Shell 句柄:指示当前线程空间中运行的 Shell 。

注解
全局单线程,生存期与进程相同。

在文件 yapp.h67 行定义.

参考自 ~Application().

MessageQueue YSLib::Application::qMain
protected

在文件 yapp.h62 行定义.

参考自 ~Application().


该类的文档由以下文件生成: