From e4185013d1309b80633d17b84837913ac8705438 Mon Sep 17 00:00:00 2001 From: Daniel Novotny Date: Tue, 25 Aug 2009 15:34:32 +0200 Subject: add new parameter to FileTransfer plugin --- lib/Plugins/FileTransfer.cpp | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'lib/Plugins/FileTransfer.cpp') diff --git a/lib/Plugins/FileTransfer.cpp b/lib/Plugins/FileTransfer.cpp index 981e574d..d3d09969 100644 --- a/lib/Plugins/FileTransfer.cpp +++ b/lib/Plugins/FileTransfer.cpp @@ -172,6 +172,8 @@ std::string CFileTransfer::DirBase(const std::string& pStr) void CFileTransfer::Run(const std::string& pActiveDir, const std::string& pArgs) { fstream dirlist; + std::string dirname, archivename; + char hostname[HBLEN]; comm_layer_inner_status("File Transfer: Creating a report..."); @@ -181,12 +183,26 @@ void CFileTransfer::Run(const std::string& pActiveDir, const std::string& pArgs) dirlist.open(FILETRANSFER_DIRLIST, fstream::out | fstream::app ); dirlist << pActiveDir << endl; dirlist.close(); + } else if(pArgs == "one") + { + /* just send one archive */ + gethostname(hostname,HBLEN); + archivename = std::string(hostname) + "-" + + DirBase(pActiveDir) + m_sArchiveType; + try + { + CreateArchive(archivename,pActiveDir); + SendFile(m_sURL, archivename); + } + catch (CABRTException& e) + { + comm_layer_inner_warning("CFileTransfer::Run(): Cannot create and send an archive: " + e.what()); + comm_layer_inner_status("CFileTransfer::Run(): Cannot create and send an archive: " + e.what()); + } + unlink(archivename.c_str()); } else { - std::string dirname, archivename; - - char hostname[HBLEN]; gethostname(hostname,HBLEN); -- cgit