CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
LStoreStorageMaker.cc
Go to the documentation of this file.
7 #include <unistd.h>
8 #include <iostream>
9 
11 {
12  public:
15  virtual Storage *open (const std::string &proto,
16  const std::string &path,
17  int mode)
18  {
19  std::string fullpath = proto + ":" + path;
20  return new LStoreFile (fullpath, mode);
21  }
22 
23 /* I don't think this is necessary - Melo
24  virtual void stagein (const std::string &proto, const std::string &path)
25  {
26  std::string fullpath(proto + ":" + path);
27  XrdClientAdmin admin(fullpath.c_str());
28  if (admin.Connect())
29  {
30  XrdOucString str(fullpath.c_str());
31  XrdClientUrlSet url(str);
32  admin.Prepare(url.GetFile().c_str(), kXR_stage | kXR_noerrs, 0);
33  }
34  }
35 */
36 
37  virtual bool check (const std::string &proto,
38  const std::string &path,
39  IOOffset *size = 0)
40  {
41  std::string fullpath = proto + ":" + path;
42  try {
43  LStoreFile fileObj( fullpath ); // = LStoreFile (fullpath);
44  *size = fileObj.position( 0, Storage::END );
45  } catch ( cms::Exception & e) {
46  return false;
47  }
48  return true;
49  }
50 
51 };
virtual Storage * open(const std::string &proto, const std::string &path, int mode)
int64_t IOOffset
Definition: IOTypes.h:19
virtual bool check(const std::string &proto, const std::string &path, IOOffset *size=0)
#define DEFINE_EDM_PLUGIN(factory, type, name)
virtual IOOffset position(IOOffset offset, Relative whence=SET)
Definition: LStoreFile.cc:326
tuple size
Write out results.