00001 #ifndef RECURSIVE_FILE_COPY_CLASS 00002 #define RECURSIVE_FILE_COPY_CLASS 00003 00004 /*****************************************************************************\ 00005 * * 00006 * Name : recursive file copy * 00007 * Author : Chris Koeritz * 00008 * * 00009 ******************************************************************************* 00010 * Copyright (c) 2005-$now By Author. This program is free software; you can * 00011 * redistribute it and/or modify it under the terms of the GNU General Public * 00012 * License as published by the Free Software Foundation; either version 2 of * 00013 * the License or (at your option) any later version. This is online at: * 00014 * http://www.fsf.org/copyleft/gpl.html * 00015 * Please send any updates to: fred@gruntose.com * 00016 \*****************************************************************************/ 00017 00018 #include "dll_tentacles.h" 00019 00020 #include <basis/object_base.h> 00021 00022 // forward. 00023 class file_transfer_header; 00024 class filename_list; 00025 00027 00028 class TENTACLES_CLASS_STYLE recursive_file_copy 00029 { 00030 public: 00031 virtual ~recursive_file_copy(); 00032 00033 IMPLEMENT_CLASS_NAME("recursive_file_copy"); 00034 00035 enum outcomes { 00036 OKAY = common::OKAY, 00037 BAD_INPUT = common::BAD_INPUT, 00038 GARBAGE = common::GARBAGE, 00039 NOT_FOUND = common::NOT_FOUND, 00040 NONE_READY = common::NONE_READY, 00041 FAILURE = common::FAILURE 00042 }; 00043 static const char *outcome_name(const outcome &to_name); 00044 00046 00050 static outcome copy_hierarchy(const istring &source_dir, 00051 const istring &target_dir, const string_array &includes, 00052 const istring &source_start = istring::empty_string()); 00053 }; 00054 00055 #endif 00056
1.5.1