void DataLogger::maxLength(unsigned int len) { suspendLogging(); for (unsigned int i=0; i<m_ports.size(); i++){ m_ports[i]->maxLength(len); } resumeLogging(); }
bool DataLogger::clear() { suspendLogging(); for (unsigned int i=0; i<m_ports.size(); i++){ m_ports[i]->clear(); } resumeLogging(); return true; }
/* --------------------------------------------------------------------- * funct : Verbose printing * args : Data to print * ret : None. * * Detail: This function print verbose info if verbose mode is on. * * --------------------------------------------------------------------*/ void verPrint( char *data ) { if(isVerboseOn==TRUE) { //Verbose print should not go to logfile pauseLogging(); usleep(1000); printf( data ); //Revert to previous settings usleep(1000); resumeLogging(); } }
bool DataLogger::save(const char *i_basename) { suspendLogging(); bool ret = true; for (unsigned int i=0; i<m_ports.size(); i++){ std::string fname = i_basename; fname.append("."); fname.append(m_ports[i]->name()); std::ofstream ofs(fname.c_str()); if (ofs.is_open()){ m_ports[i]->dumpLog(ofs); }else{ std::cerr << "failed to open(" << fname << ")" << std::endl; ret = false; } } resumeLogging(); return ret; }
bool DataLogger::add(const char *i_type, const char *i_name) { suspendLogging(); for (unsigned int i=0; i<m_ports.size(); i++){ if (strcmp(m_ports[i]->name(),i_name) == 0){ std::cerr << "Logger port named \"" << i_name << "\" already exists" << std::endl; resumeLogging(); return false; } } LoggerPortBase *new_port=NULL; if (strcmp(i_type, "TimedDoubleSeq")==0){ LoggerPort<TimedDoubleSeq> *lp = new LoggerPort<TimedDoubleSeq>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedLongSeq")==0){ LoggerPort<TimedLongSeq> *lp = new LoggerPort<TimedLongSeq>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedBooleanSeq")==0){ LoggerPort<TimedBooleanSeq> *lp = new LoggerPort<TimedBooleanSeq>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedLongSeqSeq")==0){ LoggerPort<OpenHRP::TimedLongSeqSeq> *lp = new LoggerPort<OpenHRP::TimedLongSeqSeq>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedPoint3D")==0){ LoggerPort<TimedPoint3D> *lp = new LoggerPort<TimedPoint3D>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedOrientation3D")==0){ LoggerPort<TimedOrientation3D> *lp = new LoggerPort<TimedOrientation3D>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedAcceleration3D")==0){ LoggerPort<TimedAcceleration3D> *lp = new LoggerPort<TimedAcceleration3D>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedAngularVelocity3D")==0){ LoggerPort<TimedAngularVelocity3D> *lp = new LoggerPort<TimedAngularVelocity3D>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedVelocity2D")==0){ LoggerPort<TimedVelocity2D> *lp = new LoggerPort<TimedVelocity2D>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "TimedPose3D")==0){ LoggerPort<TimedPose3D> *lp = new LoggerPort<TimedPose3D>(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else if (strcmp(i_type, "PointCloud")==0){ LoggerPort<PointCloudTypes::PointCloud> *lp = new LoggerPortForPointCloud(i_name); new_port = lp; if (!addInPort(i_name, lp->port())) { resumeLogging(); return false; } }else{ std::cout << "DataLogger: unsupported data type(" << i_type << ")" << std::endl; resumeLogging(); return false; } m_ports.push_back(new_port); resumeLogging(); return true; }