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 }