YSTest: YCommon.cpp 源文件

YSTest PreAlpha_b700_20160611 The YSLib Test Project

- 首页
- 相关页面
- 模块
- 命名空间
- 类
- 文件

- 文件列表
- 文件成员

YCommon.cpp
浏览该文件的文档.
1 /*
2 © 2009-2015 FrankHB.
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 "YCLib/YModules.h"
29 #include YFM_YCLib_Debug
30 #include <cstring>
31 #include <cerrno>
32 #include <cstdarg>
33 #include YFM_YCLib_NativeAPI
34 #if YCL_Win32
35 # include YFM_Win32_YCLib_MinGW32
36 #endif
37
38 namespace platform
39 {
40
41 void
42 terminate() ynothrow
43 {
44 #if YCL_DS
45 while(true)
46 ::swiWaitForVBlank();
47 #else
48 std::abort();
49 #endif
50 }
51
52 int
53 usystem(const char* cmd)
54 {
55 #if YCL_Win32
56 return ::_wsystem(platform_ex::MBCSToWCS(cmd, CP_UTF8).c_str());
57 #else
58 return std::system(cmd);
59 #endif
60 }
61
62 } // namespace platform;
63
64 namespace platform_ex
65 {
66
67 #if YCL_DS
68 bool
69 AllowSleep(bool b)
70 {
71 static bool bSleepEnabled(true); //与 libnds 默认的 ARM7 电源管理同步。
72 const bool b_old(bSleepEnabled);
73
74 if(b != bSleepEnabled)
75 {
76 bSleepEnabled = b;
77 ::fifoSendValue32(FIFO_PM,
78 b ? PM_REQ_SLEEP_ENABLE : PM_REQ_SLEEP_DISABLE);
79 }
80 return b_old;
81 }
82 #elif YCL_Win32
83
84 #endif
85
86 }
87
platform::usystem
YF_API int usystem(const char *)
执行 UTF-8 字符串的环境命令。
Definition: YCommon.cpp:53
platform
默认平台命名空间。
Definition: Container.h:47
platform::ynothrow
const _tString &path ynothrow
Definition: YCLib/FileSystem.h:303
platform_ex
平台扩展命名空间。
Definition: Android.h:45
YModules.h
platform_ex::Windows::MBCSToWCS
YF_API wstring MBCSToWCS(string_view, unsigned=CP_ACP)
NPL::c_str
YF_API const char src c_str())) YF_API void InstallDirectory(const string &
安装目录：复制目录树。
platform::terminate
YB_NORETURN YF_API void terminate() ynothrow
异常终止函数。
Definition: YCommon.cpp:42