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 }