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) throw (DmException);
20 
21  /// Destructor
22  virtual ~DummyCatalog();
23 
24  // Overloading
25  virtual void setStackInstance(StackInstance*) throw (DmException);
26  virtual void setSecurityContext(const SecurityContext*) throw (DmException);
27 
28  virtual void changeDir (const std::string&) throw (DmException);
29  virtual std::string getWorkingDir (void) throw (DmException);
30 
31  virtual ExtendedStat extendedStat(const std::string&, bool) throw (DmException);
32  virtual ExtendedStat extendedStatByRFN(const std::string& rfn) throw (DmException);
33 
34  virtual bool access(const std::string& path, int mode) throw (DmException);
35  virtual bool accessReplica(const std::string& replica, int mode) throw (DmException);
36 
37  virtual void addReplica (const Replica&) throw (DmException);
38  virtual void deleteReplica(const Replica&) throw (DmException);
39  virtual std::vector<Replica> getReplicas(const std::string&) throw (DmException);
40 
41  virtual void symlink (const std::string&, const std::string&) throw (DmException);
42  std::string readLink(const std::string& path) throw (DmException);
43 
44  virtual void unlink(const std::string&) throw (DmException);
45 
46  virtual void create(const std::string&, mode_t) throw (DmException);
47 
48  virtual mode_t umask (mode_t) throw ();
49  virtual void setMode (const std::string&, mode_t) throw (DmException);
50  virtual void setOwner (const std::string&, uid_t, gid_t, bool) throw (DmException);
51 
52  virtual void setSize (const std::string&, size_t) throw (DmException);
53  virtual void setChecksum(const std::string&, const std::string&, const std::string&) throw (DmException);
54 
55  virtual void setAcl(const std::string&, const Acl&) throw (DmException);
56 
57  virtual void utime(const std::string&, const struct utimbuf*) throw (DmException);
58 
59  virtual std::string getComment(const std::string&) throw (DmException);
60  virtual void setComment(const std::string&,
61  const std::string&) throw (DmException);
62 
63  virtual void setGuid(const std::string&,
64  const std::string&) throw (DmException);
65 
66  virtual void updateExtendedAttributes(const std::string&,
67  const Extensible&) throw (DmException);
68 
69 
70  virtual Directory* openDir (const std::string&) throw (DmException);
71  virtual void closeDir(Directory*) throw (DmException);
72 
73  virtual struct dirent* readDir (Directory*) throw (DmException);
74  virtual ExtendedStat* readDirx(Directory*) throw (DmException);
75 
76  virtual void makeDir(const std::string&, mode_t) throw (DmException);
77 
78  virtual void rename (const std::string&, const std::string&) throw (DmException);
79  virtual void removeDir (const std::string&) throw (DmException);
80 
81  virtual Replica getReplicaByRFN(const std::string& rfn) throw (DmException);
82  virtual void updateReplica(const Replica& replica) throw (DmException);
83 
84  protected:
86  };
87 
88 };
89 
90 #endif // DMLITE_DUMMY_CATALOG_H
virtual void closeDir(Directory *)
File/directory metadata.
Definition: inode.h:28
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: security.h:51
virtual void setStackInstance(StackInstance *)
Definition: DummyCatalog.h:13
Definition: dmlite.h:161
virtual void utime(const std::string &, const struct utimbuf *)
Security context. To be created by the Authn.
Definition: authn.h:64
virtual void setChecksum(const std::string &, const std::string &, const std::string &)
virtual Replica getReplicaByRFN(const std::string &rfn)
virtual std::string getWorkingDir(void)
Base exception class.
Definition: exceptions.h:17
virtual void setComment(const std::string &, const std::string &)
File replica metadata.
Definition: inode.h:87
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:29
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:85
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
virtual void setGuid(const std::string &, const std::string &)
virtual void updateExtendedAttributes(const std::string &, const Extensible &)
virtual mode_t umask(mode_t)
virtual void changeDir(const std::string &)
virtual ~DummyCatalog()
Destructor.
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:26