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
10namespace 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
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*) ;
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
Definition: security.h:52
Interface for Catalog (Namespaces).
Definition: catalog.h:30
Definition: status.h:17
Definition: DummyCatalog.h:14
virtual void setSize(const std::string &, size_t)
virtual ~DummyCatalog()
Destructor.
virtual void setOwner(const std::string &, uid_t, gid_t, bool)
virtual void updateReplica(const Replica &replica)
virtual void setMode(const std::string &, mode_t)
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 addReplica(const Replica &)
virtual void updateExtendedAttributes(const std::string &, const Extensible &)
virtual void removeDir(const std::string &)
virtual ExtendedStat extendedStat(const std::string &, bool)
Catalog * decorated_
Definition: DummyCatalog.h:91
virtual void unlink(const std::string &)
virtual ExtendedStat extendedStatByRFN(const std::string &rfn)
virtual DmStatus extendedStat(ExtendedStat &xstat, const std::string &, bool)
virtual bool accessReplica(const std::string &replica, int mode)
virtual void deleteReplica(const Replica &)
virtual struct dirent * readDir(Directory *)
virtual Directory * openDir(const std::string &)
virtual std::string getWorkingDir(void)
virtual ExtendedStat * readDirx(Directory *)
DummyCatalog(Catalog *decorated)
virtual std::string getComment(const std::string &)
virtual void utime(const std::string &, const struct utimbuf *)
virtual void closeDir(Directory *)
virtual void makeDir(const std::string &, mode_t)
virtual void setStackInstance(StackInstance *)
virtual void setChecksum(const std::string &, const std::string &, const std::string &)
virtual void symlink(const std::string &, const std::string &)
virtual void setAcl(const std::string &, const Acl &)
virtual mode_t umask(mode_t)
virtual void create(const std::string &, mode_t)
virtual std::vector< Replica > getReplicas(const std::string &)
virtual void setSecurityContext(const SecurityContext *)
Set the security context.
virtual Replica getReplicaByRFN(const std::string &rfn)
std::string readLink(const std::string &path)
virtual void rename(const std::string &, const std::string &)
virtual void setGuid(const std::string &, const std::string &)
virtual void changeDir(const std::string &)
virtual bool access(const std::string &path, int mode)
virtual void setComment(const std::string &, const std::string &)
File/directory metadata.
Definition: inode.h:29
Helpful typedef for KeyValue containers.
Definition: extensible.h:20
File replica metadata.
Definition: inode.h:73
Security context. To be created by the Authn.
Definition: authn.h:73
Definition: dmlite.h:161
Namespace for the dmlite C++ API.
Definition: authn.h:16
Typedef for directories.
Definition: catalog.h:27