CERN org.glite.Gfal
2.0.1
|
00001 #pragma once 00002 #ifndef GRIDFTPINTERFACE_H 00003 #define GRIDFTPINTERFACE_H 00004 /* 00005 * 00006 * Licensed under the Apache License, Version 2.0 (the "License"); 00007 * you may not use this file except in compliance with the License. 00008 * You may obtain a copy of the License at 00009 * 00010 * http://www.apache.org/licenses/LICENSE-2.0 00011 * 00012 * Unless required by applicable law or agreed to in writing, software 00013 * distributed under the License is distributed on an "AS IS" BASIS, 00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00015 * See the License for the specific language governing permissions and 00016 * limitations under the License. 00017 */ 00018 00019 #include <string> 00020 00021 #include <globus_gass_copy.h> 00022 #include <globus_ftp_client.h> 00023 #include <globus_ftp_client_restart_marker_plugin.h> 00024 #include <globus_ftp_client_restart_plugin.h> 00025 #include <globus_ftp_client_debug_plugin.h> 00026 00027 #include <common/gfal_constants.h> 00028 #include <common/gfal_types.h> 00029 00030 00031 typedef globus_gass_copy_handle_t gfal_globus_copy_handle_t; 00032 typedef globus_result_t gfal_globus_result_t; 00033 00034 class GridFTPInterface 00035 { 00036 public: 00037 GridFTPInterface(); 00038 virtual ~GridFTPInterface(); 00039 00040 virtual gfal_handle get_handle()=0; 00041 00042 virtual gfal_globus_copy_handle_t take_globus_handle() = 0; 00043 virtual void release_globus_handle(gfal_globus_copy_handle_t*) = 0; 00044 virtual void globus_check_result(const std::string & nmspace, gfal_globus_result_t res) = 0; 00045 00046 protected: 00047 00048 }; 00049 00050 #endif /* GRIDFTPINTERFACE_H */