X-Git-Url: https://feistymeow.org/gitweb/?a=blobdiff_plain;f=nucleus%2Flibrary%2Ffilesystem%2Fheavy_file_ops.h;h=d728c43bbb723ea633bf91c312f121e800c5787a;hb=bdad028197585398525f28ef9fbe709b3c42077b;hp=add4968375f4545bf6d259087eb346c2a2ac930e;hpb=3ea085ec301ed1399dfa1e9f3a240312dc95410b;p=feisty_meow.git diff --git a/nucleus/library/filesystem/heavy_file_ops.h b/nucleus/library/filesystem/heavy_file_ops.h index add49683..d728c43b 100644 --- a/nucleus/library/filesystem/heavy_file_ops.h +++ b/nucleus/library/filesystem/heavy_file_ops.h @@ -30,6 +30,7 @@ class file_transfer_header : public basis::packable { public: basis::astring _filename; //!< the name of the file being transferred. +//hmmm: consider adding full length here so we know it. double _byte_start; //!< the starting location in the file being sent. int _length; //!< the length of the transferred piece. file_time _time; //!< the timestamp on the file. @@ -63,10 +64,7 @@ public: 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, + FINISHED = basis::common::IS_EMPTY, // nothing left to pack. DEFINE_OUTCOME(SOURCE_MISSING, -43, "The source file is not accessible"), DEFINE_OUTCOME(TARGET_DIR_ERROR, -44, "The target's directory could not " "be created"), @@ -83,14 +81,14 @@ public: //!< method can be exported for use by shared libs. static basis::outcome copy_file(const basis::astring &source, const basis::astring &destination, - int copy_chunk_factor = copy_chunk_factor()); + int copy_chunk_factor = heavy_file_operations::copy_chunk_factor()); //!< copies a file from the "source" location to the "destination". /*!< the outcomes could be from this class or from common::outcomes. the "copy_chunk_factor" is the read buffer size to use while copying. */ static basis::outcome write_file_chunk(const basis::astring &target, double byte_start, const basis::byte_array &chunk, bool truncate = true, - int copy_chunk_factor = copy_chunk_factor()); + int copy_chunk_factor = heavy_file_operations::copy_chunk_factor()); //!< stores a chunk of bytes into the "target" file. /*!< writes the content stored in "chunk" into the file "target" at the position "byte_start". the entire "chunk" will be used, which means the @@ -110,7 +108,8 @@ public: out before bytes are stored into it; this is not an additive operation. */ private: - static bool advance(const filename_list &to_transfer, file_transfer_header &last_action); + static basis::outcome advance(const filename_list &to_transfer, + file_transfer_header &last_action); //!< advances to the next file in the transfer list "to_transfer". };