feisty meow concerns codebase  2.140
octopi::recursive_file_copy Class Reference

Copies entire hierarchies in the file system from one place to another. More...

#include <recursive_file_copy.h>

Public Types

enum  outcomes {
  OKAY = basis::common::OKAY , BAD_INPUT = basis::common::BAD_INPUT , GARBAGE = basis::common::GARBAGE , NOT_FOUND = basis::common::NOT_FOUND ,
  NONE_READY = basis::common::NONE_READY , FAILURE = basis::common::FAILURE
}
 

Public Member Functions

virtual ~recursive_file_copy ()
 
 DEFINE_CLASS_NAME ("recursive_file_copy")
 

Static Public Member Functions

static const char * outcome_name (const basis::outcome &to_name)
 
static basis::outcome copy_hierarchy (int transfer_mode, const basis::astring &source_dir, const basis::astring &target_dir, const structures::string_array &includes, const basis::astring &source_start=basis::astring::empty_string())
 copies a directory hierarchy starting at "source_dir" into "target_dir". More...
 

Detailed Description

Copies entire hierarchies in the file system from one place to another.

Definition at line 26 of file recursive_file_copy.h.

Member Enumeration Documentation

◆ outcomes

Enumerator
OKAY 
BAD_INPUT 
GARBAGE 
NOT_FOUND 
NONE_READY 
FAILURE 

Definition at line 33 of file recursive_file_copy.h.

Constructor & Destructor Documentation

◆ ~recursive_file_copy()

octopi::recursive_file_copy::~recursive_file_copy ( )
virtual

Definition at line 68 of file recursive_file_copy.cpp.

Member Function Documentation

◆ copy_hierarchy()

outcome octopi::recursive_file_copy::copy_hierarchy ( int  transfer_mode,
const basis::astring source_dir,
const basis::astring target_dir,
const structures::string_array includes,
const basis::astring source_start = basis::astring::empty_string() 
)
static

copies a directory hierarchy starting at "source_dir" into "target_dir".

the "transfer_mode" is a combination of mode values from the file_transfer_tentacle class, and dictates how the files to copy will be decided. the "includes" is a list of files that will be included. if that is an empty array, then all files will be included. the "source_start" is a subdirectory within the source to start copying at; only items there and below will be included.

Definition at line 73 of file recursive_file_copy.cpp.

References octopi::file_transfer_infoton::_command, octopi::file_transfer_infoton::_dest_root, filesystem::file_transfer_header::_length, octopi::file_transfer_infoton::_packed_data, octopi::file_transfer_infoton::_request, octopi::file_transfer_infoton::_src_root, octopi::file_transfer_infoton::_success, octopi::octopus::acquire_specific_result(), octopi::file_transfer_tentacle::add_correspondence(), octopi::octopus::add_tentacle(), BASE_LOG, filesystem::directory_tree::calculate(), copy(), octopi::octopus::evaluate(), octopi::EXPECTED_MAXIMUM_TRANSFER_TIME, FAKE_HOSTNAME, FUNCDEF, octopi::octopus::issue_identity(), LOG, octopi::MAX_CHUNK_RFC_COPY_HIER, basis::MEGABYTE, octopi::file_transfer_infoton::package_tree_info(), filesystem::file_transfer_header::readable_text_form(), octopi::file_transfer_tentacle::register_file_transfer(), octopi::octopus::responses(), RETURN_ERROR_RFC, basis::astring::t(), octopi::entity_data_bin::text_form(), filesystem::filename_list::unpack(), and filesystem::file_transfer_header::unpack().

◆ DEFINE_CLASS_NAME()

octopi::recursive_file_copy::DEFINE_CLASS_NAME ( "recursive_file_copy"  )

◆ outcome_name()

const char * octopi::recursive_file_copy::outcome_name ( const basis::outcome to_name)
static

Definition at line 70 of file recursive_file_copy.cpp.


The documentation for this class was generated from the following files: