SAGA Adaptor CPI v.1.0
file_transfer_spec.hpp
Go to the documentation of this file.
00001 //  Copyright (c) 2005-2009 Hartmut Kaiser
00002 // 
00003 //  Distributed under the Boost Software License, Version 1.0. (See accompanying 
00004 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00005 
00006 #if !defined(FILE_TRANSFER_SPEC_JUL_13_2007_0345PM)
00007 #define FILE_TRANSFER_SPEC_JUL_13_2007_0345PM
00008 
00009 #include <string>
00010 #include <saga/saga/util.hpp>
00011 
00013 namespace saga { namespace adaptors
00014 {
00016     //  possible file transfer operations
00017     enum file_transfer_operator
00018     {
00019         unknown_mode,
00020         //  Copies the local file to the remote file before the job starts.
00021         //  Overwrites the remote file if it exists.
00022         copy_local_remote,    
00023         //  Copies the local file to the remote file before the job starts.
00024         //  Appends to the remote file if it exists.
00025         append_local_remote,
00026         //  Copies the remote file to the local file after the job finishes.
00027         //  Overwrites the local file if it exists.
00028         copy_remote_local,
00029         //  Copies the remote file to the local file after the job finishes.
00030         //  Appends to the local file if it exists.
00031         append_remote_local
00032     };
00033     
00035     // parse the given string for a file transfer specification and return true
00036     // if successful
00037     SAGA_EXPORT bool parse_file_transfer_specification(std::string spec, 
00038         std::string& left_url, file_transfer_operator& mode, 
00039         std::string& right_url);
00040     
00042 }}
00043 
00044 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines