trick/test/SIM_events/S_define
2020-01-09 14:28:20 -06:00

56 lines
1.7 KiB
Plaintext

/*****
PURPOSE: (test Trick input file events)
******/
#include "sim_objects/default_trick_sys.sm"
class eventSimObject : public Trick::SimObject {
public:
Trick::IPPythonEvent * event0; // ** event pointer for event we create in S_define
bool cond_var_false; // -- use for event condition variable
bool cond_var_true; // -- use for event condition variable
int count; // -- referenced by event actions
bool cond_job_true() {
return true;
}
bool cond_job_false() {
return false;
}
void init() {
fprintf(stderr, "I am in init\n");
}
void sched() {
fprintf(stderr, "I am in sched %f\n\n", exec_get_sim_time());
}
void sched_count() {
count++;
}
void shutdown() {
fprintf(stderr, "I am in shutdown\n");
}
eventSimObject() : cond_var_false(false),
cond_var_true(true),
count(0) {
// create an event, add it in the input file
event0 = (Trick::IPPythonEvent*)alloc_type(1,"Trick::IPPythonEvent");
event0->set_name("SDEFINE_event");
event0->condition(0, "True");
event0->action(0, "print (\"event0\"); result[0] = 1");
event0->activate();
("initialization") init();
(0.5, "scheduled") sched();
(1.0, "scheduled") sched_count();
("shutdown") shutdown();
("malfunction") trick_ret=cond_job_true(); // will use for an event condition
}
} ;
eventSimObject ev;