1 #include "ErrorHandler/MessageAnalyzer/ma_action_mail.h"
10 using namespace novadaq::errorhandler;
16 int RunCommand(std::string
const & strCmd, std::string
const & strParam)
22 std::string command = strCmd +
" " + strParam;
24 iStatus = execl(
"/bin/sh",
"sh",
"-c", command.c_str(), (
char*) NULL);
42 ma_action_mail::ma_action_mail(
ma_rule const * rule, pset_t
const & pset )
48 ss << (std::string)getenv(
"SRT_PRIVATE_CONTEXT") <<
":"
49 << (std::string)getenv(
"SRT_PUBLIC_CONTEXT") <<
":.";
51 std::stringstream mail_file;
54 while( std::getline(ss,token,
':') ){
56 mail_file << token <<
"/ErrorHandler/cxx/config/send_mail.sh";
57 std::stringstream sys_check;
58 sys_check <<
"-f " << mail_file.str();
60 if( system(&sys_check.str()[0]) )
break;
63 script_name = mail_file.str();
64 script_para = pset.get<std::string>(
"param", std::string());
66 param.init(rule, script_para);
69 bool ma_action_mail::exec()
71 RunCommand(script_name, param.message());