dmlite  0.4
Public Member Functions | List of all members
dmlite::Catalog Class Reference

Interface for Catalog (Namespaces). More...

#include <catalog.h>

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

Public Member Functions

virtual ~Catalog ()
 Destructor.
virtual void changeDir (const std::string &path)=0 throw (DmException)
virtual std::string getWorkingDir (void)=0 throw (DmException)
virtual ExtendedStat extendedStat (const std::string &path, bool followSym=true)=0 throw (DmException)
virtual void addReplica (const Replica &replica)=0 throw (DmException)
virtual void deleteReplica (const Replica &replica)=0 throw (DmException)
virtual std::vector< ReplicagetReplicas (const std::string &path)=0 throw (DmException)
virtual void symlink (const std::string &path, const std::string &symlink)=0 throw (DmException)
virtual std::string readLink (const std::string &path)=0 throw (DmException)
virtual void unlink (const std::string &path)=0 throw (DmException)
virtual void create (const std::string &path, mode_t mode)=0 throw (DmException)
virtual mode_t umask (mode_t mask)=0 throw ()
virtual void setMode (const std::string &path, mode_t mode)=0 throw (DmException)
virtual void setOwner (const std::string &path, uid_t newUid, gid_t newGid, bool followSymLink=true)=0 throw (DmException)
virtual void setSize (const std::string &path, size_t newSize)=0 throw (DmException)
virtual void setChecksum (const std::string &path, const std::string &csumtype, const std::string &csumvalue)=0 throw (DmException)
virtual void setAcl (const std::string &path, const Acl &acl)=0 throw (DmException)
virtual void utime (const std::string &path, const struct utimbuf *buf)=0 throw (DmException)
virtual std::string getComment (const std::string &path)=0 throw (DmException)
virtual void setComment (const std::string &path, const std::string &comment)=0 throw (DmException)
virtual void setGuid (const std::string &path, const std::string &guid)=0 throw (DmException)
virtual void updateExtendedAttributes (const std::string &path, const Extensible &attr)=0 throw (DmException)
virtual DirectoryopenDir (const std::string &path)=0 throw (DmException)
virtual void closeDir (Directory *dir)=0 throw (DmException)
virtual struct dirent * readDir (Directory *dir)=0 throw (DmException)
virtual ExtendedStatreadDirx (Directory *dir)=0 throw (DmException)
virtual void makeDir (const std::string &path, mode_t mode)=0 throw (DmException)
virtual void rename (const std::string &oldPath, const std::string &newPath)=0 throw (DmException)
virtual void removeDir (const std::string &path)=0 throw (DmException)
virtual Replica getReplica (const std::string &rfn)=0 throw (DmException)
virtual void updateReplica (const Replica &replica)=0 throw (DmException)
- Public Member Functions inherited from dmlite::BaseInterface
virtual ~BaseInterface ()
 Virtual destructor.
virtual std::string getImplId (void) const =0 throw ()
 String ID of the implementation.

Additional Inherited Members

- Protected Member Functions inherited from dmlite::BaseInterface
virtual void setStackInstance (StackInstance *si)=0 throw (DmException)
virtual void setSecurityContext (const SecurityContext *ctx)=0 throw (DmException)
 Set the security context.
- 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.
static void setSecurityContext (BaseInterface *i, const SecurityContext *ctx) throw (DmException)

Detailed Description

Interface for Catalog (Namespaces).

Constructor & Destructor Documentation

Catalog::~Catalog ( )
virtual

Destructor.

Member Function Documentation

virtual void dmlite::Catalog::addReplica ( const Replica replica) throw (DmException)
pure 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.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

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

Parameters
pathThe new working dir.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual void dmlite::Catalog::closeDir ( Directory dir) throw (DmException)
pure virtual

Close a directory opened previously.

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Creates an entry in the catalog.

Parameters
pathThe new file.
modeThe creation mode.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Delete a replica.

Parameters
replicaThe replica to remove.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual ExtendedStat dmlite::Catalog::extendedStat ( const std::string &  path,
bool  followSym = true 
) throw (DmException)
pure 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.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Get the comment associated with a file.

Parameters
pathThe file or directory.
Returns
The associated comment.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual Replica dmlite::Catalog::getReplica ( const std::string &  rfn) throw (DmException)
pure virtual

Get a replica.

Parameters
rfnThe replica file name.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Get replicas for a file.

Parameters
pathThe file for which replicas will be retrieved.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual std::string dmlite::Catalog::getWorkingDir ( void  ) throw (DmException)
pure virtual

Get the current working dir.

Returns
The current working dir.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Create a new empty directory.

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

Implemented in dmlite::DummyCatalog, and dmlite::BuiltInCatalog.

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

Open a directory for reading.

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual struct dirent* dmlite::Catalog::readDir ( Directory dir) throw (DmException)
readpure 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.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual ExtendedStat* dmlite::Catalog::readDirx ( Directory dir) throw (DmException)
pure 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.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Returns the path pointed by the symlink path

Parameters
pathThe symlink file.
Returns
The symlink target.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Remove a directory.

Parameters
pathThe path of the directory to remove.

Implemented in dmlite::DummyCatalog, and dmlite::BuiltInCatalog.

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

Rename a file or directory.

Parameters
oldPathThe old name.
newPathThe new name.

Implemented in dmlite::DummyCatalog, and dmlite::BuiltInCatalog.

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

Set the ACLs

Parameters
pathThe file to modify.
aclThe Access Control List.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Set the checksum of a file.

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Set the comment associated with a file.

Parameters
pathThe file or directory.
commentThe new comment.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Set GUID of a file.

Parameters
pathThe file.
guidThe new GUID.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Set the mode of a file.

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual void dmlite::Catalog::setOwner ( const std::string &  path,
uid_t  newUid,
gid_t  newGid,
bool  followSymLink = true 
) throw (DmException)
pure 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.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Set the size of a file.

Parameters
pathThe file to modify.
newSizeThe new file size.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Creates a new symlink.

Parameters
pathThe existing path.
symlinkThe new access path.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

virtual mode_t dmlite::Catalog::umask ( mode_t  mask) throw ()
pure virtual

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

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Remove a file.

Parameters
pathThe path to remove.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Update extended metadata on the catalog.

Parameters
pathThe file to update.
attrThe extended attributes struct.

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Update a replica.

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

Set access and/or modification time.

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

Implemented in dmlite::BuiltInCatalog, and dmlite::DummyCatalog.


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