13 #include <JANA/JApplication.h>
20 static pthread_mutex_t
mutex1 = PTHREAD_MUTEX_INITIALIZER;
21 static pthread_cond_t
cond;
35 static inline void Tokenize(
string str, vector<string> &tokens,
const char delim=
' ')
39 while( (cutAt = str.find(delim)) != (
unsigned int)str.npos ){
40 if(cutAt > 0)tokens.push_back(str.substr(0,cutAt));
41 str = str.substr(cutAt+1);
43 if(str.length() > 0)tokens.push_back(str);
51 string myName =
"JEventProcessor_janaded";
52 string myDescription =
"janaded";
53 string UDL =
"cMsg:cMsg://localhost/cMsg/test";
55 cMsg* conn =
new cMsg(UDL, myName, myDescription);
57 conn->subscribe(
"janaded",
"test",
this, NULL);
60 japp->monitor_heartbeat=
false;
70 app->GetJParameterManager()->SetDefaultParameter(
"JANADED_VERBOSE", JANADED_VERBOSE);
90 pthread_mutex_lock(&
mutex1);
94 if(command==
"NEXT_EVENT") {
95 cout <<
"Next Event Command" <<endl;
98 else if (command==
"Whatever") {
102 cout <<
"Command was" << command <<endl;
105 pthread_mutex_unlock(&
mutex1);
128 pthread_mutex_lock(&
mutex1);
130 pthread_mutex_unlock(&
mutex1);
132 pthread_cond_signal( &
cond );
JEventProcessor_janaded()
jerror_t erun(void)
Called everytime run number changes, provided brun has been called.
jerror_t fini(void)
Called after last event of last event source has been processed.
static queue< string > commands
jerror_t init(void)
Called once at program start.
static void Tokenize(string str, vector< string > &tokens, const char delim=' ')
static pthread_cond_t cond
jerror_t evnt(jana::JEventLoop *eventLoop, uint64_t eventnumber)
Called every event.
jerror_t brun(jana::JEventLoop *eventLoop, int32_t runnumber)
Called everytime a new run number is detected.
void callback(cMsgMessage *msg, void *arg)
Callback method.
static pthread_mutex_t mutex1