dmlite  0.6
Public Member Functions | Protected Attributes | List of all members
dmlite::DummyCatalog Class Reference

#include <DummyCatalog.h>

Inheritance diagram for dmlite::DummyCatalog:
Inheritance graph
[legend]
Collaboration diagram for dmlite::DummyCatalog:
Collaboration graph
[legend]

Public Member Functions

 DummyCatalog (Catalog *decorated) throw (DmException)
 
virtual ~DummyCatalog ()
 Destructor. More...
 
virtual void setStackInstance (StackInstance *) throw (DmException)
 
virtual void setSecurityContext (const SecurityContext *) throw (DmException)
 Set the security context. More...
 
virtual void changeDir (const std::string &) throw (DmException)
 
virtual std::string getWorkingDir (void) throw (DmException)
 
virtual ExtendedStat extendedStat (const std::string &, bool) throw (DmException)
 
virtual ExtendedStat extendedStatByRFN (const std::string &rfn) throw (DmException)
 
virtual bool access (const std::string &path, int mode) throw (DmException)
 
virtual bool accessReplica (const std::string &replica, int mode) throw (DmException)
 
virtual void addReplica (const Replica &) throw (DmException)
 
virtual void deleteReplica (const Replica &) throw (DmException)
 
virtual std::vector< ReplicagetReplicas (const std::string &) throw (DmException)
 
virtual void symlink (const std::string &, const std::string &) throw (DmException)
 
std::string readLink (const std::string &path) throw (DmException)
 
virtual void unlink (const std::string &) throw (DmException)
 
virtual void create (const std::string &, mode_t) throw (DmException)
 
virtual mode_t umask (mode_t) throw ()
 
virtual void setMode (const std::string &, mode_t) throw (DmException)
 
virtual void setOwner (const std::string &, uid_t, gid_t, bool) throw (DmException)
 
virtual void setSize (const std::string &, size_t) throw (DmException)
 
virtual void setChecksum (const std::string &, const std::string &, const std::string &) throw (DmException)
 
virtual void setAcl (const std::string &, const Acl &) throw (DmException)
 
virtual void utime (const std::string &, const struct utimbuf *) throw (DmException)
 
virtual std::string getComment (const std::string &) throw (DmException)
 
virtual void setComment (const std::string &, const std::string &) throw (DmException)
 
virtual void setGuid (const std::string &, const std::string &) throw (DmException)
 
virtual void updateExtendedAttributes (const std::string &, const Extensible &) throw (DmException)
 
virtual DirectoryopenDir (const std::string &) throw (DmException)
 
virtual void closeDir (Directory *) throw (DmException)
 
virtual struct dirent * readDir (Directory *) throw (DmException)
 
virtual ExtendedStatreadDirx (Directory *) throw (DmException)
 
virtual void makeDir (const std::string &, mode_t) throw (DmException)
 
virtual void rename (const std::string &, const std::string &) throw (DmException)
 
virtual void removeDir (const std::string &) throw (DmException)
 
virtual Replica getReplicaByRFN (const std::string &rfn) throw (DmException)
 
virtual void updateReplica (const Replica &replica) throw (DmException)
 
- Public Member Functions inherited from dmlite::Catalog
virtual ~Catalog ()
 Destructor. More...
 
- Public Member Functions inherited from dmlite::BaseInterface
virtual ~BaseInterface ()
 Virtual destructor. More...
 
virtual std::string getImplId (void) const =0 throw ()
 String ID of the implementation. More...
 

Protected Attributes

Catalogdecorated_
 

Additional Inherited Members

- Static Protected Member Functions inherited from dmlite::BaseInterface
static void setStackInstance (BaseInterface *i, StackInstance *si) throw (DmException)
 These method allows plugins to call other plugins setStackInstance and setSecurityContext. More...
 
static void setSecurityContext (BaseInterface *i, const SecurityContext *ctx) throw (DmException)
 

Constructor & Destructor Documentation

dmlite::DummyCatalog::DummyCatalog ( Catalog decorated)
throw (DmException
)

Constructor

Parameters
decoratedThe underlying decorated catalog.
virtual dmlite::DummyCatalog::~DummyCatalog ( )
virtual

Destructor.

Member Function Documentation

virtual bool dmlite::DummyCatalog::access ( const std::string &  path,
int  mode 
)
throw (DmException
)
virtual

Checks wether the process would be allowed to read, write, or check existence.

Parameters
lfnLogical filename.
modeA mask consisting of one or more of R_OK, W_OK, X_OK and F_OK.
Returns
true if the file can be accessed.
Note
If the file does not exist, an exception will be thrown.

Reimplemented from dmlite::Catalog.

virtual bool dmlite::DummyCatalog::accessReplica ( const std::string &  replica,
int  mode 
)
throw (DmException
)
virtual

Checks wether the process would be allowed to read, write, or check existence.

Parameters
rfnReplica filename.
modeA mask consisting of one or more of R_OK, W_OK, X_OK and F_OK.
Returns
true if the file can be accessed.
Note
If the file does not exist, an exception will be thrown.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::addReplica ( const Replica replica)
throw (DmException
)
virtual

Add a new replica for a file.

Parameters
replicaStores the data that is going to be added. fileid must point to the id of the logical file in the catalog.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::changeDir ( const std::string &  path)
throw (DmException
)
virtual

Change the working dir. Future not-absolute paths will use this as root.

Parameters
pathThe new working dir.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::closeDir ( Directory dir)
throw (DmException
)
virtual

Close a directory opened previously.

Parameters
dirThe directory handle as returned by NsInterface::openDir.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::create ( const std::string &  path,
mode_t  mode 
)
throw (DmException
)
virtual

Creates an entry in the catalog.

Parameters
pathThe new file.
modeThe creation mode.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::deleteReplica ( const Replica replica)
throw (DmException
)
virtual

Delete a replica.

Parameters
replicaThe replica to remove.

Reimplemented from dmlite::Catalog.

virtual ExtendedStat dmlite::DummyCatalog::extendedStat ( const std::string &  path,
bool  followSym 
)
throw (DmException
)
virtual

Do an extended stat of a file or directory.

Parameters
pathThe path of the file or directory.
followSymIf true, symlinks will be followed.
Returns
The extended status of the file.

Reimplemented from dmlite::Catalog.

virtual ExtendedStat dmlite::DummyCatalog::extendedStatByRFN ( const std::string &  rfn)
throw (DmException
)
virtual

Do an extended stat of a logical file using an associated replica file name.

Parameters
rfnThe replica.
Returns
The extended status of the file.

Reimplemented from dmlite::Catalog.

virtual std::string dmlite::DummyCatalog::getComment ( const std::string &  path)
throw (DmException
)
virtual

Get the comment associated with a file.

Parameters
pathThe file or directory.
Returns
The associated comment.

Reimplemented from dmlite::Catalog.

virtual Replica dmlite::DummyCatalog::getReplicaByRFN ( const std::string &  rfn)
throw (DmException
)
virtual

Get a replica.

Parameters
rfnThe replica file name.

Reimplemented from dmlite::Catalog.

virtual std::vector<Replica> dmlite::DummyCatalog::getReplicas ( const std::string &  path)
throw (DmException
)
virtual

Get replicas for a file.

Parameters
pathThe file for which replicas will be retrieved.

Reimplemented from dmlite::Catalog.

virtual std::string dmlite::DummyCatalog::getWorkingDir ( void  )
throw (DmException
)
virtual

Get the current working dir.

Returns
The current working dir.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::makeDir ( const std::string &  path,
mode_t  mode 
)
throw (DmException
)
virtual

Create a new empty directory.

Parameters
pathThe path of the new directory.
modeThe creation mode.

Reimplemented from dmlite::Catalog.

virtual Directory* dmlite::DummyCatalog::openDir ( const std::string &  path)
throw (DmException
)
virtual

Open a directory for reading.

Parameters
pathThe directory to open.
Returns
A pointer to a handle that can be used for later calls.

Reimplemented from dmlite::Catalog.

virtual struct dirent* dmlite::DummyCatalog::readDir ( Directory dir)
throw (DmException
)
virtual

Read next entry from a directory (simple read).

Parameters
dirThe directory handle as returned by NsInterface::openDir.
Returns
0x00 on failure or end of directory.

Reimplemented from dmlite::Catalog.

virtual ExtendedStat* dmlite::DummyCatalog::readDirx ( Directory dir)
throw (DmException
)
virtual

Read next entry from a directory (stat information added).

Parameters
dirThe directory handle as returned by NsInterface::openDir.
Returns
0x00 on failure (and errno is set) or end of directory.

Reimplemented from dmlite::Catalog.

std::string dmlite::DummyCatalog::readLink ( const std::string &  path)
throw (DmException
)
virtual

Returns the path pointed by the symlink path

Parameters
pathThe symlink file.
Returns
The symlink target.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::removeDir ( const std::string &  path)
throw (DmException
)
virtual

Remove a directory.

Parameters
pathThe path of the directory to remove.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::rename ( const std::string &  oldPath,
const std::string &  newPath 
)
throw (DmException
)
virtual

Rename a file or directory.

Parameters
oldPathThe old name.
newPathThe new name.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setAcl ( const std::string &  path,
const Acl acl 
)
throw (DmException
)
virtual

Set the ACLs

Parameters
pathThe file to modify.
aclThe Access Control List.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setChecksum ( const std::string &  path,
const std::string &  csumtype,
const std::string &  csumvalue 
)
throw (DmException
)
virtual

Set the checksum of a file.

Parameters
pathThe file to modify.
csumtypeThe checksum type (CS, AD or MD).
csumvalueThe checksum value.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setComment ( const std::string &  path,
const std::string &  comment 
)
throw (DmException
)
virtual

Set the comment associated with a file.

Parameters
pathThe file or directory.
commentThe new comment.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setGuid ( const std::string &  path,
const std::string &  guid 
)
throw (DmException
)
virtual

Set GUID of a file.

Parameters
pathThe file.
guidThe new GUID.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setMode ( const std::string &  path,
mode_t  mode 
)
throw (DmException
)
virtual

Set the mode of a file.

Parameters
pathThe file to modify.
modeThe new mode as an integer (i.e. 0755)

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setOwner ( const std::string &  path,
uid_t  newUid,
gid_t  newGid,
bool  followSymLink 
)
throw (DmException
)
virtual

Set the owner of a file.

Parameters
pathThe file to modify.
newUidThe uid of the new owneer.
newGidThe gid of the new group.
followSymLinkIf set to true, symbolic links will be followed.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setSecurityContext ( const SecurityContext ctx)
throw (DmException
)
virtual

Set the security context.

Reimplemented from dmlite::BaseInterface.

virtual void dmlite::DummyCatalog::setSize ( const std::string &  path,
size_t  newSize 
)
throw (DmException
)
virtual

Set the size of a file.

Parameters
pathThe file to modify.
newSizeThe new file size.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::setStackInstance ( StackInstance si)
throw (DmException
)
virtual

Set the StackInstance. Some plugins may need to access other stacks (i.e. the pool may need the catalog) However, at construction time not all the stacks have been populated, so this will be called once all are instantiated.

Reimplemented from dmlite::BaseInterface.

virtual void dmlite::DummyCatalog::symlink ( const std::string &  path,
const std::string &  symlink 
)
throw (DmException
)
virtual

Creates a new symlink.

Parameters
pathThe existing path.
symlinkThe new access path.

Reimplemented from dmlite::Catalog.

virtual mode_t dmlite::DummyCatalog::umask ( mode_t  mask)
throw (
)
virtual

Sets the calling process’s file mode creation mask to mask & 0777.

Parameters
maskThe new mask.
Returns
The value of the previous mask.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::unlink ( const std::string &  path)
throw (DmException
)
virtual

Remove a file.

Parameters
pathThe path to remove.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::updateExtendedAttributes ( const std::string &  path,
const Extensible attr 
)
throw (DmException
)
virtual

Update extended metadata on the catalog.

Parameters
pathThe file to update.
attrThe extended attributes struct.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::updateReplica ( const Replica replica)
throw (DmException
)
virtual

Update a replica.

Parameters
replicaThe replica to modify.
Returns
0 on success, error code otherwise.

Reimplemented from dmlite::Catalog.

virtual void dmlite::DummyCatalog::utime ( const std::string &  path,
const struct utimbuf *  buf 
)
throw (DmException
)
virtual

Set access and/or modification time.

Parameters
pathThe file path.
bufA struct holding the new times.

Reimplemented from dmlite::Catalog.

Member Data Documentation

Catalog* dmlite::DummyCatalog::decorated_
protected

The documentation for this class was generated from the following file: