跳到主要内容

gshub.api

简介

组件接口

api.gs

函数原型函数作用
GshubConsole get_self_console()获取当前控制台对象
array get_all_launchers()获取当前所有已配置的启动器
GshubConsole launch_by_id(string id)通过 ID 启动一个已配置的启动器
GshubConsole launch_gs(string cmd)通过命令行启动一个新的 GS 实例
array get_all_consoles()获取所有控制台信息

GshubConsole

Gshub 控制台对象

成员变量

变量名类型初始值须初始化描述
idint0可选
typestring"GS"可选GS | BAT
pidint-1可选

成员方法

函数原型函数作用
void stop()停止当前控制台
void restart()重启当前控制台
void focus()聚焦当前控制台
mixed eval(string code)在当前控制台中执行代码

GshubLaunchConfig

Gshub 启动器配置对象

成员变量

变量名类型初始值须初始化描述
uuidstringnil可选启动器唯一 ID
typestringnil启动器类型, 可选值有 "GS", "BAT"
isAutoHideboolfalse启动后是否自动隐藏控制台窗口
isTelnetboolfalse是否以 telnet 客户端模式启动
isClientboolfalse是否以客户端模式启动
fileOperationarraynil文件操作列表
namestringnil启动器名称
exitAfterBootboolfalse是否在启动后退出
mountsarraynil挂载点列表
preLoadObjectarraynil预加载对象列表
scriptArgsarraynil脚本参数列表
macrosarraynil宏定义列表
otherArgsarraynil其他参数列表
disableInputboolfalse是否禁用输入
bootObjectstringnilgs 入口路径
isUsingGshubNamebooltrue是否使用 gshub 名称作为窗口标题
configstringnil可选启动 gs config 配置
cwdstringnil可选启动时的工作目录
driverstringnil可选指定 driver 版本, 优先级高于项目配置
driverPathstringnil可选指定 driver 路径, 优先级高于 driver 版本
disableAutoUpdatePkgboolfalse可选是否禁用自动更新包
rootPathstringnil可选gs 根目录

成员方法

函数原型函数作用
GshubConsole launch()通过该配置启动一个新的 GS 实例
GshubConsole launch_by_id()通过该配置的 ID 启动一个新的 GS 实例

样例

import pkg.gshub.api;

coroutine.create(nil, () {
array configs = api.get_all_launchers();
for (GshubLaunchConfig config : configs)
{
if (config.name == "test")
{
config.launch();
}
}
return;
GshubLaunchConfig config = configs[0];
config.bootObject = nil; // 修改 gs 入口路径
// 通过配置启动一个新的 GS 实例
GshubConsole console = config.launch();
coroutine.sleep(2); // 等待 GS 启动完成
console.stop();

GshubConsole console2 = api.launch_gs("/r ./");
coroutine.sleep(2); // 等待 GS 启动完成
// 在控制台中执行代码,并获取返回值
console2.eval("write(\"hello process\\n\")");
printf("2 + 2 = %d\n", console2.eval("2 + 2"));
console2.eval("write(\"2 秒后关闭\\n\")");
coroutine.sleep(2);
// 关闭当前控制台
console2.stop();
});