List of all members.
Public Member Functions |
virtual bool | directory (const std::string &a_dir, bool &aProcess) |
virtual bool | file (const std::string &aFile) |
| clone_visitor (std::ostream &a_out, const std::string &a_PWD, const std::string &a_dir, const std::string &aFrom, const std::string &aTo, bool aVerbose=false) |
virtual | ~clone_visitor () |
bool | is_success () const |
Detailed Description
Definition at line 38 of file cloner.
Constructor & Destructor Documentation
inlib::cloner::clone_visitor::clone_visitor |
( |
std::ostream & |
a_out, |
|
|
const std::string & |
a_PWD, |
|
|
const std::string & |
a_dir, |
|
|
const std::string & |
aFrom, |
|
|
const std::string & |
aTo, |
|
|
bool |
aVerbose = false |
|
) |
| [inline] |
Definition at line 94 of file cloner.
:m_out(a_out)
,m_PWD(a_PWD)
,m_dir(a_dir)
,m_From(aFrom)
,m_To(aTo)
,m_verbose(aVerbose)
,m_failure(false){
m_FROM = m_From;
m_TO = m_To;
touppercase(m_FROM);
touppercase(m_TO);
m_pack = m_From;
m_to = m_To;
tolowercase(m_pack);
tolowercase(m_to);
}
virtual inlib::cloner::clone_visitor::~clone_visitor |
( |
| ) |
[inline, virtual] |
Member Function Documentation
virtual bool inlib::cloner::clone_visitor::directory |
( |
const std::string & |
a_dir, |
|
|
bool & |
aProcess |
|
) |
| [inline, virtual] |
Implements inlib::dir::visitor.
Definition at line 40 of file cloner.
{
aProcess = true;
unsigned int l = m_dir.size();
std::string to = m_To + a_dir.substr(l,a_dir.size()-l);
replace_all(to);
std::string p,n,s;
path_name_suffix(to,p,n,s);
if((n=="CVS")||(n==".svn")) {
aProcess = false;
} else {
if(!dir::create(to)) {
m_out << "Can't create dir " << inlib::sout(to) << "." << std::endl;
m_failure = true;
return false;
} else {
}
}
return true;
}
virtual bool inlib::cloner::clone_visitor::file |
( |
const std::string & |
aFile | ) |
[inline, virtual] |
Implements inlib::dir::visitor.
Definition at line 62 of file cloner.
{
if(m_verbose) {
m_out << "Lib_clone : treat " << inlib::sout(aFile) << "" << std::endl;
}
unsigned int l = m_dir.size();
std::string newName = m_To + aFile.substr(l,aFile.size()-l);
replace_all(newName);
std::vector<std::string> text;
if(!file::read(aFile,text)) {
m_out << "Can't read " << inlib::sout(aFile) << std::endl;
m_failure = true;
return false;
}
FILE* file = ::fopen(newName.c_str(),"wb");
if(!file) {
m_out << "Can't create " << inlib::sout(newName) << std::endl;
m_failure = true;
return false;
}
unsigned int textn = text.size();
for(unsigned int index=0;index<textn;index++) {
std::string s = text[index];
replace_all(s);
replace(s,"LIB_CLONE_PWD",m_PWD);
fprintf(file,"%s\n",s.c_str());
}
::fclose(file);
return true;
}
bool inlib::cloner::clone_visitor::is_success |
( |
| ) |
const [inline] |
The documentation for this class was generated from the following file:
- /Users/barrand/private/dev/softinex/old/inexlib-1.2/inlib/inlib/cloner