31   const int    MINIMUM_NUMBER_OF_MESSAGES  =  100;
 
   32   const double MINIMUM_ELAPSED_TIME_S      =  60*60;
 
   42     static const int MAXIMUM_FILE_NUMBER  = 100;
 
   74       for (
int i = 0; !this->is_open() && 
i != MAXIMUM_FILE_NUMBER; ++
i) {
 
   80            << 
"_"  << this->getYear() << 
'-' << 
FILL(2,
'0') << this->getMonth() << 
'-' << 
FILL(2,
'0') << this->getDay();
 
  126 int main(
int argc, 
const char *argv[])
 
  142     JParser<> zap(
"Auxiliary program to save logger messages from ControlHost server.");
 
  144     zap[
'H'] = 
make_field(hostname)        = 
"localhost";
 
  153   catch(
const exception &error) {
 
  154     FATAL(error.what() << endl);
 
  157   if (happy_hour.empty()) {
 
  159     WARNING(
"No happy hours (option -W); set to midnight." << endl);
 
  161     happy_hour.insert(0);
 
  183     JLoggerFile out(
path);
 
  187     DEBUG(
"Open file  " << out.getFilename() << endl);
 
  194     for (
int number_of_messages; buffer.size() != 
stop.size() || 
string(buffer.data(), 
stop.size()) != 
stop; ) {
 
  196       const int check = in.
CheckHead(prefix, timeout);
 
  198       DEBUG(
"Check head " << check << endl);
 
  202         FATAL(
"Error at JControlHost::CheckHead " << check << endl);
 
  204       } 
else if (check == 1) {
 
  208         DEBUG(
"Message <" << buffer << 
">" << endl);
 
  210         if        (buffer == 
stop) {
 
  214         } 
else if (buffer == save) {
 
  216           DEBUG(
"Close file " << out.getFilename() << endl);
 
  221           DEBUG(
"Open file  " << out.getFilename() << endl);
 
  225           ++number_of_messages;
 
  227           if ( ! (out << buffer << endl)) {
 
  228             FATAL(
"Error writing to file " << out.getFilename() << endl);
 
  233       if (check == 0 || number_of_messages > MINIMUM_NUMBER_OF_MESSAGES) {
 
  235         number_of_messages = 0;
 
  243           DEBUG(
"Close file " << out.getFilename() << endl);
 
  248           DEBUG(
"Open file " << out.getFilename() << endl);
 
  256     ERROR(error << endl);
 
Utility class to parse command line options. 
 
int main(int argc, char *argv[])
 
void set(const bool utc=false)
Set to current local time. 
 
static const std::string MESSAGE_TAG
Message logging tag. 
 
int Subscribe(const JSubscription &subscription)
Subscribe to single tag. 
 
int SendMeAlways()
Tell server to send messages forever. 
 
Empty structure for specification of parser element that is initialised (i.e. does not require input)...
 
std::string getFullPath(const std::string &path)
Get full path, i.e. add JEEP::PATHNAME_SEPARATOR if necessary. 
 
T * open(const std::string &file_name)
Open file. 
 
then usage $script[port]< option > nPossible stop
 
Auxiliary class for time values. 
 
int CheckHead(JPrefix &prefix, JTimeval timeout=JTimeval::min())
Check for header, without waiting. 
 
void open(const char *name, int open_mode=std::ios::out)
 
int GetFullString(std::string &buffer)
Receive string. 
 
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object 
 
void close(std::istream *pf)
Close file. 
 
JSubscriptionList & add(const JSubscription &subscription)
Add subscription. 
 
Exception for ControlHost. 
 
$WORKDIR driver txt done cat $WORKDIR driver txt<< EOFprocess ${DATAFILTER}$FILTER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&(JDataFilter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAFILTER}-P $PORT</dev/null > &/dev/null &))';process ${DATAWRITER}$WRITER_HOST csh-c '(setenv ROOTSYS $ROOTSYS &&source $JPP_DIR/setenv.csh $JPP_DIR &&(JDataWriter-H\$SERVER\$-M\$LOGGER\$-d $DEBUG-u ${DATAWRITER}</dev/null > &/dev/null &))';print enterevent ev_init{RC_CMD}event ev_reset{RC_CMD}event ev_init{RC_CMD}event ev_configure{RC_DFLTR%<$WORKDIR/ev_configure_datafilter.txt > RC_DQSIM<$WORKDIR/ev_configure_dqsimulator.txt > RC_DWRT path
 
Auxiliary class for all subscription. 
 
General purpose messaging. 
 
Auxiliary data structure for sequence of same character. 
 
double getElapsedTime(const JDateAndTime &object) const 
Get elapsed time to given date and time. 
 
static JStat getFileStatus
Function object for file status. 
 
General purpose message reporting. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
 
Auxiliary class for date and time. 
 
Utility class to parse command line options. 
 
int getHour() const 
hours after midnight [0-23] 
 
std::string getFilename(const std::string &file_name)
Get file name part, i.e. part after last JEEP::PATHNAME_SEPARATOR if any. 
 
static void Throw(const bool option)
Enable/disable throw option. 
 
#define DEBUG(A)
Message macros.