CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions
GsiFTPStorageMaker Class Reference
Inheritance diagram for GsiFTPStorageMaker:
StorageMaker

Public Member Functions

virtual Storageopen (const std::string &proto, const std::string &path, int mode)
 
- Public Member Functions inherited from StorageMaker
virtual bool check (const std::string &proto, const std::string &path, IOOffset *size=0)
 
virtual void setTimeout (unsigned int timeout)
 
virtual void stagein (const std::string &proto, const std::string &path)
 
 StorageMaker (void)
 
virtual ~StorageMaker (void)
 

Detailed Description

Definition at line 6 of file GsiFTPStorageMaker.cc.

Member Function Documentation

virtual Storage* GsiFTPStorageMaker::open ( const std::string &  proto,
const std::string &  path,
int  mode 
)
inlinevirtual

Implements StorageMaker.

Definition at line 9 of file GsiFTPStorageMaker.cc.

References f, RemoteFile::get(), StorageFactory::get(), RemoteFile::local(), cond::rpcobtemp::temp, and StorageFactory::tempDir().

12  {
13  std::string temp;
15  int localfd = RemoteFile::local (f->tempDir(), temp);
16  std::string lurl = "file://" + temp;
17  std::string newurl ((proto == "sfn" ? "gsiftp" : proto) + ":" + path);
18  const char *ftpopts [] = { "globus-url-copy", newurl.c_str (), lurl.c_str (), 0 };
19  return RemoteFile::get (localfd, temp, (char **) ftpopts, mode);
20  }
int path() const
Definition: HLTadd.h:3
static StorageFactory * get(void)
static int local(const std::string &tmpdir, std::string &temp)
Definition: RemoteFile.cc:55
std::string tempDir(void) const
double f[11][100]
static Storage * get(int localfd, const std::string &name, char **cmd, int mode)
Definition: RemoteFile.cc:90
int mode
Definition: AMPTWrapper.h:139