00001 #pragma once
00002 #ifndef GRIDFTPINTERFACE_H
00003 #define GRIDFTPINTERFACE_H
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
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