dmlite::Catalog Class Reference

Interface for Catalog (Namespaces). More...

#include <catalog.h>

Inherits dmlite::BaseInterface.

Inherited by dmlite::BuiltInCatalog, and dmlite::DummyCatalog.

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

List of all members.

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)

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:
replica Stores the data that is going to be added. fileid must point to the id of the logical file in the catalog.

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

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:
path The new working dir.

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

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

Close a directory opened previously.

Parameters:
dir The directory handle as returned by NsInterface::openDir.

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

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

Creates an entry in the catalog.

Parameters:
path The new file.
mode The creation mode.

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

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

Delete a replica.

Parameters:
replica The replica to remove.

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

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:
path The path of the file or directory.
followSym If true, symlinks will be followed.
Returns:
The extended status of the file.

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

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

Get the comment associated with a file.

Parameters:
path The file or directory.
Returns:
The associated comment.

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

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

Get a replica.

Parameters:
rfn The replica file name.

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

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

Get replicas for a file.

Parameters:
path The file for which replicas will be retrieved.

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

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

Get the current working dir.

Returns:
The current working dir.

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

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

Create a new empty directory.

Parameters:
path The path of the new directory.
mode The 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:
path The directory to open.
Returns:
A pointer to a handle that can be used for later calls.

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

virtual struct dirent* dmlite::Catalog::readDir ( Directory dir  )  throw (DmException) [read, pure virtual]

Read next entry from a directory (simple read).

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

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

virtual ExtendedStat* dmlite::Catalog::readDirx ( Directory dir  )  throw (DmException) [pure virtual]

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

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

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

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

Returns the path pointed by the symlink path

Parameters:
path The symlink file.
Returns:
The symlink target.

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

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

Remove a directory.

Parameters:
path The 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:
oldPath The old name.
newPath The 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:
path The file to modify.
acl The Access Control List.

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

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:
path The file to modify.
csumtype The checksum type (CS, AD or MD).
csumvalue The checksum value.

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

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:
path The file or directory.
comment The new comment.

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

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

Set GUID of a file.

Parameters:
path The file.
guid The new GUID.

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

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

Set the mode of a file.

Parameters:
path The file to modify.
mode The new mode as an integer (i.e. 0755)

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

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:
path The file to modify.
newUid The uid of the new owneer.
newGid The gid of the new group.
followSymLink If set to true, symbolic links will be followed.

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

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

Set the size of a file.

Parameters:
path The file to modify.
newSize The new file size.

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

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

Creates a new symlink.

Parameters:
path The existing path.
symlink The new access path.

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

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:
mask The new mask.
Returns:
The value of the previous mask.

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

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

Remove a file.

Parameters:
path The path to remove.

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

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

Update extended metadata on the catalog.

Parameters:
path The file to update.
attr The extended attributes struct.

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

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

Update a replica.

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

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

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

Set access and/or modification time.

Parameters:
path The file path.
buf A struct holding the new times.

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


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

Generated on 6 Mar 2013 for dmlite by  doxygen 1.6.1