dmlite  0.4
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 
33  virtual void addReplica (const Replica&) throw (DmException);
34  virtual void deleteReplica(const Replica&) throw (DmException);
35  virtual std::vector<Replica> getReplicas(const std::string&) throw (DmException);
36 
37  virtual void symlink (const std::string&, const std::string&) throw (DmException);
38  std::string readLink(const std::string& path) throw (DmException);
39 
40  virtual void unlink(const std::string&) throw (DmException);
41 
42  virtual void create(const std::string&, mode_t) throw (DmException);
43 
44  virtual mode_t umask (mode_t) throw ();
45  virtual void setMode (const std::string&, mode_t) throw (DmException);
46  virtual void setOwner (const std::string&, uid_t, gid_t, bool) throw (DmException);
47 
48  virtual void setSize (const std::string&, size_t) throw (DmException);
49  virtual void setChecksum(const std::string&, const std::string&, const std::string&) throw (DmException);
50 
51  virtual void setAcl(const std::string&, const Acl&) throw (DmException);
52 
53  virtual void utime(const std::string&, const struct utimbuf*) throw (DmException);
54 
55  virtual std::string getComment(const std::string&) throw (DmException);
56  virtual void setComment(const std::string&,
57  const std::string&) throw (DmException);
58 
59  virtual void setGuid(const std::string&,
60  const std::string&) throw (DmException);
61 
62  virtual void updateExtendedAttributes(const std::string&,
63  const Extensible&) throw (DmException);
64 
65 
66  virtual Directory* openDir (const std::string&) throw (DmException);
67  virtual void closeDir(Directory*) throw (DmException);
68 
69  virtual struct dirent* readDir (Directory*) throw (DmException);
70  virtual ExtendedStat* readDirx(Directory*) throw (DmException);
71 
72  virtual void makeDir(const std::string&, mode_t) throw (DmException);
73 
74  virtual void rename (const std::string&, const std::string&) throw (DmException);
75  virtual void removeDir (const std::string&) throw (DmException);
76 
77  virtual Replica getReplica (const std::string& rfn) throw (DmException);
78  virtual void updateReplica(const Replica& replica) throw (DmException);
79 
80  protected:
82  };
83 
84 };
85 
86 #endif // DMLITE_DUMMY_CATALOG_H