dmlite  0.6
DummyCatalog.h
Go to the documentation of this file.
1 /// @file include/dmlite/cpp/dummy/DummyCatalog.h
2 /// @brief A dummy plugin that just delegates calls to a decorated one.
3 /// @details It makes sense as a base for other decorator plug-ins.
4 /// @author Alejandro Álvarez Ayllón <aalvarez@cern.ch>
5 #ifndef DMLITE_CPP_DUMMY_CATALOG_H
6 #define DMLITE_CPP_DUMMY_CATALOG_H
7 
8 #include "../catalog.h"
9 
10 namespace dmlite {
11 
12  // Dummmy catalog implementation
13  class DummyCatalog: public Catalog
14  {
15  public:
16 
17  /// Constructor
18  /// @param decorated The underlying decorated catalog.
19  DummyCatalog(Catalog* decorated) ;
20 
21  /// Destructor
22  virtual ~DummyCatalog();
23 
24  // Overloading
25  virtual void setStackInstance(StackInstance*) ;
26  virtual void setSecurityContext(const SecurityContext*) ;
27 
28  virtual void changeDir (const std::string&) ;
29  virtual std::string getWorkingDir (void) ;
30 
31  virtual ExtendedStat extendedStat(const std::string&, bool) ;
32  virtual DmStatus extendedStat(ExtendedStat &xstat, const std::string&, bool) ;
33  virtual ExtendedStat extendedStatByRFN(const std::string& rfn) ;
34 
35  virtual bool access(const std::string& path, int mode) ;
36  virtual bool accessReplica(const std::string& replica, int mode) ;
37 
38  virtual void addReplica (const Replica&) ;
39  virtual void deleteReplica(const Replica&) ;
40  virtual std::vector<Replica> getReplicas(const std::string&) ;
41 
42  virtual void symlink (const std::string&, const std::string&) ;
43  std::string readLink(const std::string& path) ;
44 
45  virtual void unlink(const std::string&) ;
46 
47  virtual void create(const std::string&, mode_t) ;
48 
49  virtual mode_t umask (mode_t);
50  virtual void setMode (const std::string&, mode_t) ;
51  virtual void setOwner (const std::string&, uid_t, gid_t, bool) ;
52 
53  virtual void setSize (const std::string&, size_t) ;
54  virtual void setChecksum(const std::string&, const std::string&, const std::string&) ;
55  virtual void getChecksum(const std::string& path,
56  const std::string& csumtype,
57  std::string& csumvalue,
58  const std::string& pfn, const bool forcerecalc = false, const int waitsecs = 0) ;
59 
60 
61  virtual void setAcl(const std::string&, const Acl&) ;
62 
63  virtual void utime(const std::string&, const struct utimbuf*) ;
64 
65  virtual std::string getComment(const std::string&) ;
66  virtual void setComment(const std::string&,
67  const std::string&) ;
68 
69  virtual void setGuid(const std::string&,
70  const std::string&) ;
71 
72  virtual void updateExtendedAttributes(const std::string&,
73  const Extensible&) ;
74 
75 
76  virtual Directory* openDir (const std::string&) ;
77  virtual void closeDir(Directory*) ;
78 
79  virtual struct dirent* readDir (Directory*) ;
80  virtual ExtendedStat* readDirx(Directory*) ;
81 
82  virtual void makeDir(const std::string&, mode_t) ;
83 
84  virtual void rename (const std::string&, const std::string&) ;
85  virtual void removeDir (const std::string&) ;
86 
87  virtual Replica getReplicaByRFN(const std::string& rfn) ;
88  virtual void updateReplica(const Replica& replica) ;
89 
90  protected:
92  };
93 
94 };
95 
96 #endif // DMLITE_DUMMY_CATALOG_H
virtual void closeDir(Directory *)
Security context. To be created by the Authn.
Definition: authn.h:73
virtual struct dirent * readDir(Directory *)
virtual void updateReplica(const Replica &replica)
virtual void unlink(const std::string &)
virtual void setOwner(const std::string &, uid_t, gid_t, bool)
virtual void setSecurityContext(const SecurityContext *)
Set the security context.
Definition: status.h:17
virtual void setStackInstance(StackInstance *)
Definition: DummyCatalog.h:13
Definition: dmlite.h:161
virtual void utime(const std::string &, const struct utimbuf *)
virtual void setChecksum(const std::string &, const std::string &, const std::string &)
virtual Replica getReplicaByRFN(const std::string &rfn)
virtual std::string getWorkingDir(void)
virtual void setComment(const std::string &, const std::string &)
virtual void deleteReplica(const Replica &)
std::string readLink(const std::string &path)
virtual void rename(const std::string &, const std::string &)
Interface for Catalog (Namespaces).
Definition: catalog.h:30
DummyCatalog(Catalog *decorated)
virtual void removeDir(const std::string &)
virtual ExtendedStat extendedStat(const std::string &, bool)
virtual std::string getComment(const std::string &)
virtual void addReplica(const Replica &)
virtual std::vector< Replica > getReplicas(const std::string &)
virtual void create(const std::string &, mode_t)
virtual bool access(const std::string &path, int mode)
virtual Directory * openDir(const std::string &)
virtual void setSize(const std::string &, size_t)
virtual ExtendedStat * readDirx(Directory *)
virtual void setMode(const std::string &, mode_t)
virtual void setAcl(const std::string &, const Acl &)
Catalog * decorated_
Definition: DummyCatalog.h:91
virtual void getChecksum(const std::string &path, const std::string &csumtype, std::string &csumvalue, const std::string &pfn, const bool forcerecalc=false, const int waitsecs=0)
virtual void setGuid(const std::string &, const std::string &)
virtual void updateExtendedAttributes(const std::string &, const Extensible &)
File replica metadata.
Definition: inode.h:73
File/directory metadata.
Definition: inode.h:29
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
virtual mode_t umask(mode_t)
Definition: security.h:52
virtual void changeDir(const std::string &)
virtual ~DummyCatalog()
Destructor.
Namespace for the dmlite C++ API.
Definition: authn.h:16
virtual ExtendedStat extendedStatByRFN(const std::string &rfn)
virtual void symlink(const std::string &, const std::string &)
virtual bool accessReplica(const std::string &replica, int mode)
virtual void makeDir(const std::string &, mode_t)
Typedef for directories.
Definition: catalog.h:27