ArchiverArguments.cpp

00001 #include "ArchivingServiceInterface.hh"
00002 #include "ArchiverArguments.h"
00003 #include "boost/lexical_cast.hpp"
00004 
00005 namespace SctArchiving {
00006   using std::string;
00007   using std::list;
00008   using std::endl;
00009 
00010   ArchiverArguments::ArchiverArguments(int argc, char** argv) : 
00011     Arguments(argc, argv), m_compressionLevel(3)
00012   {
00013     parse();
00014   }
00015   void ArchiverArguments::parse(){
00016     Arguments::parse();
00017     for (list<string>::iterator i=m_list.begin(); i!=m_list.end(); ++i){
00018       if (*i == "-compression"){
00019     m_compressionLevel=boost::lexical_cast<unsigned>(next(i));
00020       } else if (*i == "-persistent"){
00021     m_persistentDir=next(i);
00022       }
00023     }
00024     if (instanceName()=="") setInstanceName(ArchivingServiceI::ArchivingServiceInterface::instanceName);
00025   }
00026   void ArchiverArguments::printHelp(std::ostream& oss) const{
00027     oss << "ArchiverArguments:" << endl
00028     << "  -compression                   : set compression level (1-9)" <<endl
00029     << "  -persistent                    : set persistent directory" <<endl;
00030     Arguments::printHelp(oss);
00031   }
00032 
00033   std::string ArchiverArguments::getPersistentDirectory() const{
00034     return m_persistentDir;
00035   }
00036 
00037   unsigned ArchiverArguments::getCompressionLevel() const{
00038     return m_compressionLevel;
00039   }
00040 }

Generated on Mon Feb 6 14:01:16 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6