XrdCpWorkLst.hh

Go to the documentation of this file.
00001 //////////////////////////////////////////////////////////////////////////
00002 //                                                                      //
00003 // XrdCpWorkLst                                                         //
00004 //                                                                      //
00005 // Author: Fabrizio Furano (INFN Padova, 2004)                          //
00006 //                                                                      //
00007 // A class implementing a list of cp to do for XrdCp                    //
00008 //                                                                      //
00009 //////////////////////////////////////////////////////////////////////////
00010 
00011 //   $Id: XrdCpWorkLst.hh 26376 2008-11-22 11:07:11Z ganis $
00012 
00013 #include <sys/types.h>
00014 #include "XrdClient/XrdClientAdmin.hh"
00015 #include "XrdClient/XrdClient.hh"
00016 
00017 class XrdSysDir;
00018 void PrintLastServerError(XrdClient *cli);
00019 bool PedanticOpen4Write(XrdClient *cli, kXR_unt16 mode, kXR_unt16 options);
00020 
00021 class XrdCpWorkLst {
00022 
00023    vecString fWorkList;
00024    int fWorkIt;
00025 
00026    XrdClientAdmin *xrda_src, *xrda_dst;
00027 
00028    XrdOucString fSrc, fDest;
00029    bool fDestIsDir, fSrcIsDir;
00030 
00031  public:
00032    
00033    XrdCpWorkLst();
00034    ~XrdCpWorkLst();
00035 
00036    // Sets the source path for the file copy
00037    int SetSrc(XrdClient **srccli, XrdOucString url,
00038               XrdOucString urlopaquedata, bool do_recurse);
00039 
00040    // Sets the destination of the file copy
00041    int SetDest(XrdClient **xrddest, const char *url,
00042                const char *urlopaquedata,
00043                kXR_unt16 xrdopenflags);
00044 
00045    inline void GetDest(XrdOucString &dest, bool& isdir) {
00046       dest = fDest;
00047       isdir = fDestIsDir;
00048    }
00049 
00050    inline void GetSrc(XrdOucString &src, bool& isdir) {
00051       src = fSrc;
00052       isdir = fSrcIsDir;
00053    }
00054 
00055 
00056    // Actually builds the worklist
00057    int BuildWorkList_xrd(XrdOucString url, XrdOucString opaquedata);
00058    int BuildWorkList_loc(XrdSysDir *dir, XrdOucString pat);
00059 
00060    bool GetCpJob(XrdOucString &src, XrdOucString &dest);
00061    
00062 };

Generated on Tue Jul 5 14:46:22 2011 for ROOT_528-00b_version by  doxygen 1.5.1