#include #include #include "trick/EchoJobs.hh" #include "trick/exec_proto.h" #include "trick/message_proto.h" #include "trick/message_type.h" Trick::EchoJobs * the_ej = NULL ; Trick::EchoJobs::EchoJobs() { echo_job_flag = false ; the_ej = this ; } int Trick::EchoJobs::echo_job(Trick::JobData * curr_job ) { // The target job was copied to sup_class_data in Trick::ScheduledJobQueueInstrument::call() Trick::JobData * target_job = (Trick::JobData *)curr_job->sup_class_data ; if ( target_job != NULL ) { if ( target_job->phase != 60000 ) { message_publish( MSG_NORMAL , "(P%d %s) %s\n", target_job->phase, target_job->job_class_name.c_str(), target_job->name.c_str() ) ; } else { message_publish( MSG_NORMAL , "(%s) %s\n", target_job->job_class_name.c_str(), target_job->name.c_str() ) ; } } else { message_publish( MSG_ERROR , "echo job called but target job pointer is NULL\n" ) ; } return(0) ; } int Trick::EchoJobs::echojobs_on() { if ( echo_job_flag == true ) { return(0) ; } echo_job_flag = true ; exec_instrument_before("trick_instruments.echo_jobs.echo_job") ; return(0) ; } int Trick::EchoJobs::echojobs_off() { if ( echo_job_flag == false ) { return(0) ; } echo_job_flag = false ; exec_instrument_remove("trick_instruments.echo_jobs.echo_job") ; return(0) ; }