41 const std::string& server,
78 if (
getName() ==
"JDAQDemoClient/+") {
82 sleep(std::numeric_limits<unsigned int>::max());
93 if (
string(buffer,length) ==
ev_error.name()) {
105 if (
getName() ==
"JDAQDemoClient/-") {
107 istringstream is(
string(buffer,length));
109 int us1 = 0, us2 = 0;
111 if (is >> us1 >> us2 && us1 > 0 && us2 > 0) {
119 shell <<
"(usleep " << us2 <<
"; kill -9 " << getpid() <<
") &" << endl;
161int main(
int argc,
char* argv[])
178 JParser<> zap(
"Application for writing real-time data to disk.");
191 catch(
const exception &error) {
192 FATAL(error.what() << endl);
204 if (file_name ==
"") {
216 demo.debug(CHSM::machine::D_all);
218 demo.CHSM::machine::enter();
220 ifstream in(file_name.c_str());
int main(int argc, char *argv[])
Run control demo client.
General purpose messaging.
Utility class to parse command line options.
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Shell interaction via I/O streams.
virtual void actionQuit(int length, const char *buffer)
virtual void actionExit()
virtual void actionPause(int length, const char *buffer)
JDAQDemoClient(const std::string &name)
Constructor.
virtual void actionStop(int length, const char *buffer)
JDAQDemoClient(const std::string &name, JLogger *logger, const int level)
Constructor.
JDAQDemoClient(const std::string &name, const std::string &server, JLogger *logger, const int level)
Constructor.
virtual void actionReset(int length, const char *buffer)
virtual void actionEnter()
Interface methods for actions corresponding to state transitions.
virtual void actionConfigure(int length, const char *buffer)
virtual void actionContinue(int length, const char *buffer)
virtual void actionInit(int length, const char *buffer)
virtual void actionStart(int length, const char *buffer)
JDAQStateMachine::ev_error_event ev_error
Message logging based on ControlHost.
Interface for logging messages.
void debug(const JMessage_t &message)
Message logging based on std::ostream.
Utility class to parse command line options.
The JShell clas can be used to interact with the shell via I/O streams.
static JShell & getInstance()
Get reference to unique instance of this class object.
Control unit client base class.
void run()
Run as run control client following command messages via JNET::JControlHost.
JMessageLogger logger
message logger
virtual bool enter(const JArgs &args)
Enter the state machine.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
const char * getName()
Get ROOT name of given data type.
KM3NeT DAQ data structures and auxiliaries.
std::string getProcessName(const std::string &name, const std::string &process)
Get process name of run control client.
Level specific message streamers.