| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# GFALStageFile.h

Go to the documentation of this file.

    00001 // $Id: GFALStageFile.h,v 1.2 2007/09/17 18:34:53 hmd Exp $
    00002 #ifndef GAUDIGRIDSVC_GFALSTAGEFILE_H
    00003 #define GAUDIGRIDSVC_GFALSTAGEFILE_H 1
    00004
    00005 // Include files
    00006 #include <string>
    00007 #include <vector>
    00008 #include <iterator>
    00009
    00010 //From Gaudi
    00011 #include <GaudiKernel/StatusCode.h>
    00012 #include "GaudiKernel/MsgStream.h"
    00013 #include "GaudiKernel/ISvcLocator.h"
    00014 #include "GaudiKernel/IMessageSvc.h"
    00015
    00016 //GFAL_API utilities
    00017 #include <fcntl.h>
    00018 #include "gfal_api.h"
    00019
    00031 class GFALStageFile {
    00032 public:
    00033
    00034   enum Status {FAILED=-1,STGING,STGED,EXIST,UNKNOWN};
    00035
    00037   GFALStageFile( );
    00038   GFALStageFile(std::string name,IMessageSvc* ms);
    00039   GFALStageFile(const GFALStageFile&);
    00040   GFALStageFile& operator=(const GFALStageFile&);
    00041
    00042   virtual ~GFALStageFile( );
    00043
    00044   StatusCode initialize();
    00045
    00046   Status getStatus() const ;
    00047   int getRequestID() const;
    00048   std::string getSurl() const ;
    00049   std::string getTurl() const ;
    00050   bool isPFN() const;
    00051
    00052   void setStatus(int );
    00053   void setSurl( const std::string &);
    00054   void setTurl( const std::string &);
    00055   void setRequestID( int );
    00056
    00057   static const std::string name() { return "StageFile" ; }
    00058
    00059   const std::string fileName() const { return m_filename ; }
    00060
    00061   const std::string rawFileName() const { return m_rawfilename ; }
    00062
    00063   bool isValid() const;
    00064
    00065   IMessageSvc* msgSvc() const ;
    00066
    00067 protected:
    00068
    00069 private:
    00070
    00071   std::string m_filename ;
    00072   std::string m_rawfilename ;
    00073
    00074   Status m_status;
    00075   int m_reqid    ;
    00076
    00077   std::string m_surl ;
    00078   std::string m_turl ;
    00079
    00080   bool is_pfn  ;
    00081   bool is_lfn  ;
    00082   bool is_guid ;
    00083   bool is_surl ;
    00084
    00085   bool m_isvalid;
    00086
    00087   mutable IMessageSvc* m_MS ;
    00088
    00089 };
    00090 #endif // GAUDIGRIDSVC_GFALSTAGEFILE_H