:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? \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、注册对象到java script解释器
注意要是在不同的函数调用需要使用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 *STT_Basic_Moudle::STT_G_Test_Info;
std::map *STT_Basic_Moudle::STT_G_Test_Fun_Info;
RUN_FUN STT_Basic_Moudle::STT_G_Test_Run_Fun;
std::map? ? *STT_Basic_Moudle::STT_G_Moudles_Config;
STT_Basic_Moudle::STT_Basic_Moudle()
{
}
bool STT_Basic_Moudle::init(std::map &test_info, std::map &test_fun_info, std::map &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;
}
bool STT_Basic_Moudle::finish(int test_id) const
{
? ? std::string error_str;
? ? CMU_INFO? ci = CMU_Table[test_id];
? ? if( ci.anonymous_commu != NULL )
? ? {
? ? ? ? ci.anonymous_commu->fnClose(error_str);
? ? }
? ? std::map::iterator it = ci.name_commu.begin();
? ? while(it != ci.name_commu.end())
? ? {
? ? ? ? it->second->fnClose(error_str);
? ? ? ? it++;
? ? }
? ? ci.name_commu.clear();
? ? return true;
}
?
std::string STT_Basic_Moudle::get_moudle_version() const
{
? ? return std::string("Version: V1.0.0? \r\n" ) + STT_BUILD_TIME ;
}
std::string STT_Basic_Moudle::get_moudle_describe() const
{
? ? return "基本功能模块";
}
void STT_Basic_Moudle::reg_ui_fun(REG_UI_FUN reg_ui_f) const
{
}
void STT_Basic_Moudle::reg_fun(int test_id,QScriptEngine *eng) const
{
? ? CMU * cmu = new CMU();
? ? QScriptValue qcmu = eng->newQObject(cmu);
? ? eng->globalObject().set