Qt自定义对象导入JavaScript脚本使用(5)


#define D_LOOPFIND ("\
#########################################################\r\n\
# 函数说明:\r\n\
#  在一定的时间内下一串指令然后通过正则表达式查找是否有返回所需要的值  \r\n\
#  \r\n\
# 参数说明:\r\n\
#  arg1: 发送的指令 ----------必选参数\r\n\
#  arg2: 总时间        ----------必选参数\r\n\
#  arg3: 单步循环时间 ----------必选参数\r\n\
#  arg4: 需要查找的值 ----------必选参数\r\n\
#  arg5: 目标通讯,无为匿名通讯 通讯命名[任意名字] ---可选\r\n\
#  示例:                                                \r\n\
#    loopfind = NULL, 40000,10000,rstBtn_pressed                  \r\n\
#                                                        \r\n\
#########################################################")
    bool loopfind (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);

#define D_CHANGE ("\
#########################################################\r\n\
# 函数说明:\r\n\
#  从[源字符串名称]获取的数据,用[正则式]匹配出来的子字符串,根据[改变的方式]对子字符串进行格式上的转换并保存到[目标字符名称]  \r\n\
#  \r\n\
# 参数说明:\r\n\
#  arg1: 目标字符串名 ----------必选参数\r\n\
#  arg2: 源字符名称        ----------必选参数\r\n\
#  arg3: 正则式 ----------必选参数\r\n\
#  arg4: 表达式所在组 ----------必选参数\r\n\
#  arg5: 改变的方式 0:无改变;1:变为小写,2,变为大写---必选参数\r\n\
#  示例:                                                \r\n\
#    loopfind = NULL, 40000,10000,rstBtn_pressed                  \r\n\
#                                                        \r\n\
#########################################################")
    bool change (int test_id,QString arg1,QString arg2,QString arg3,QString arg4, QString arg5,QString arg6,QString arg7,QString arg8,QString arg9);

};
#endif // CMU_H

2、注册对象到JavaScript解释器

注意要是在不同的函数调用需要使用new 创建注册的对象以免函数执行完毕被销毁

CMU * cmu = new CMU();
    QScriptValue qcmu = eng->newQObject(cmu);
    eng->globalObject().setProperty(this->get_moudle_name().c_str(), qcmu);

/******************************************************************************************************
* Copyright (C) 2014, All right reserved.

* file
* version  1.0
* author  NingJian (freegodly@gmail.com)
* brief

* detail

* TODO
* history  2014-9-17 created by NingJian
*
* note
******************************************************************************************************/

#include "stt_basic_moudle.h"
#include "cmu.h"


std::map<int,TEST_INFO> *STT_Basic_Moudle::STT_G_Test_Info;

std::map<std::string,TEST_FUN_INFO> *STT_Basic_Moudle::STT_G_Test_Fun_Info;

RUN_FUN STT_Basic_Moudle::STT_G_Test_Run_Fun;

std::map<std::string,std::string>    *STT_Basic_Moudle::STT_G_Moudles_Config;


STT_Basic_Moudle::STT_Basic_Moudle()
{

}


bool STT_Basic_Moudle::init(std::map<int, TEST_INFO> &test_info, std::map<string, TEST_FUN_INFO> &test_fun_info, std::map<string, string> &moudles_config, RUN_FUN run_fun) const
{

STT_Basic_Moudle::STT_G_Test_Info = &test_info;
    STT_Basic_Moudle::STT_G_Test_Fun_Info = &test_fun_info;
    STT_Basic_Moudle::STT_G_Test_Run_Fun = run_fun;
    STT_Basic_Moudle::STT_G_Moudles_Config = &moudles_config;
    return true;
}

bool STT_Basic_Moudle::release() const
{
    return true;
}

bool STT_Basic_Moudle::initiation(int test_id) const
{
    return true;
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/add391374587b6e77adc44d6378a81c4.html