Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

VestaAttribs Class Reference

#include <VestaAttribs.H>

Inheritance diagram for VestaAttribs:

VestaSource VDirChangeable VDirEvaluator VDirSurrogate VDirVolatileRoot VLeaf List of all members.

Public Types

typedef bool(* valueCallback )(void *closure, const char *value)
typedef bool(* historyCallback )(void *closure, attribOp op, const char *name, const char *value, time_t timestamp)
enum  attribOp { opSet = 0, opClear, opAdd, opRemove }

Public Member Functions

bool hasAttribs () throw ()
virtual bool inAttribs (const char *name, const char *value) throw (SRPC::failure)
virtual char * getAttrib (const char *name) throw (SRPC::failure)
const char * getAttribConst (const char *name) throw ()
virtual void getAttrib (const char *name, valueCallback cb, void *cl)
virtual void listAttribs (valueCallback cb, void *cl)
virtual void getAttribHistory (historyCallback cb, void *cl)
VRErrorCode::errorCode writeAttrib (attribOp op, const char *name, const char *value, time_t &timestamp) throw ()
bool wouldWriteAttrib (attribOp op, const char *name, const char *value, time_t &timestamp) throw ()
Bit32 firstAttrib () throw ()
void setFirstAttrib (Bit32 newval) throw ()

Static Public Member Functions

static const char * attribOpString (attribOp op) throw ()
static char attribOpChar (attribOp op) throw ()
static Bit32 copyAttribs (Bit32 from) throw ()

Public Attributes

Bit8attribs

Member Typedef Documentation

typedef bool(* VestaAttribs::historyCallback)(void *closure, attribOp op, const char *name, const char *value, time_t timestamp)
 

Definition at line 93 of file VestaAttribs.H.

typedef bool(* VestaAttribs::valueCallback)(void *closure, const char *value)
 

Definition at line 92 of file VestaAttribs.H.


Member Enumeration Documentation

enum VestaAttribs::attribOp
 

Enumeration values:
opSet 
opClear 
opAdd 
opRemove 

Definition at line 82 of file VestaAttribs.H.


Member Function Documentation

static char VestaAttribs::attribOpChar attribOp  op  )  throw () [static]
 

Referenced by historyCb().

static const char* VestaAttribs::attribOpString attribOp  op  )  throw () [static]
 

Referenced by coutHistoryCallback().

Bit32 VestaAttribs::copyAttribs Bit32  from  )  throw () [static]
 

Definition at line 523 of file VestaAttribs.C.

References VestaAttribsRep::create(), VMemPool::lengthenPointer(), VestaAttribsRep::next(), VestaAttribsRep::setNext(), VMemPool::shortenPointer(), VMemPool::type(), and VMemPool::vAttrib.

Bit32 VestaAttribs::firstAttrib  )  throw ()
 

Definition at line 78 of file VestaAttribs.C.

References attribs.

Referenced by getAttrib(), getAttribHistory(), listAttribs(), VDirChangeable::renameTo(), and VMemPool::writeCheckpoint().

void VestaAttribs::getAttrib const char *  name,
valueCallback  cb,
void *  cl
[virtual]
 

Definition at line 184 of file VestaAttribs.C.

References firstAttrib(), VMemPool::lengthenPointer(), opAdd, opClear, opRemove, opSet, VMemPool::type(), and VMemPool::vAttrib.

char * VestaAttribs::getAttrib const char *  name  )  throw (SRPC::failure) [virtual]
 

Reimplemented in VDirSurrogate.

Definition at line 166 of file VDirSurrogateOnly.C.

Referenced by any_fattr(), file_fattr(), fix_work_dir_attrib(), listAllCallback(), main(), ReposUI::prevVersion(), test_thread(), AccessControl::toUnixGroup(), AccessControl::toUnixUser(), and upToWorkingDir().

const char * VestaAttribs::getAttribConst const char *  name  )  throw ()
 

Definition at line 136 of file VestaAttribs.C.

References VMemPool::lengthenPointer(), VMemPool::type(), and VMemPool::vAttrib.

Referenced by any_fattr(), do_readlink(), and VDCLookupResult().

void VestaAttribs::getAttribHistory historyCallback  cb,
void *  cl
[virtual]
 

Definition at line 258 of file VestaAttribs.C.

References firstAttrib(), VMemPool::lengthenPointer(), VMemPool::type(), and VMemPool::vAttrib.

Referenced by main(), ReplicateAttribs(), and test_thread().

bool VestaAttribs::hasAttribs  )  throw () [inline]
 

Definition at line 100 of file VestaAttribs.H.

References attribs.

Referenced by AcquireMastership(), do_setattr(), WriteAttribStep::execute(), main(), VDirChangeable::renameTo(), and test_thread().

bool VestaAttribs::inAttribs const char *  name,
const char *  value
throw (SRPC::failure) [virtual]
 

Reimplemented in VDirSurrogate.

Definition at line 158 of file VDirSurrogateOnly.C.

Referenced by doit(), InAttribsStep::execute(), main(), ReposUI::prevVersion(), and test_thread().

void VestaAttribs::listAttribs valueCallback  cb,
void *  cl
[virtual]
 

Definition at line 226 of file VestaAttribs.C.

References firstAttrib(), Table< K, V >::Default::Get(), VMemPool::lengthenPointer(), opAdd, opClear, opRemove, opSet, Table< K, V >::Default::Put(), CharsKey::s, VMemPool::type(), and VMemPool::vAttrib.

Referenced by MergeAttribStep::execute(), main(), and test_thread().

void VestaAttribs::setFirstAttrib Bit32  newval  )  throw ()
 

Definition at line 87 of file VestaAttribs.C.

bool VestaAttribs::wouldWriteAttrib attribOp  op,
const char *  name,
const char *  value,
time_t &  timestamp
throw ()
 

Definition at line 461 of file VestaAttribs.C.

References VMemPool::lengthenPointer(), VMemPool::type(), and VMemPool::vAttrib.

VestaSource::errorCode VestaAttribs::writeAttrib attribOp  op,
const char *  name,
const char *  value,
time_t &  timestamp
throw ()
 

Definition at line 314 of file VestaAttribs.C.

References VestaAttribsRep::create(), VMemPool::free(), VRErrorCode::invalidArgs, VMemPool::lengthenPointer(), VRErrorCode::nameInUse, VestaAttribsRep::next(), VRErrorCode::ok, VestaAttribsRep::setNext(), VMemPool::shortenPointer(), VMemPool::type(), VATTR_MINSIZE, and VMemPool::vAttrib.


Member Data Documentation

Bit8* VestaAttribs::attribs
 

Definition at line 98 of file VestaAttribs.H.

Referenced by firstAttrib(), hasAttribs(), VestaSource::init(), VDirChangeable::insertAppendableDirectory(), VDirChangeable::insertFile(), VDirChangeable::insertGhost(), VDirChangeable::insertImmutableDirectory(), VDirChangeable::insertMutableDirectory(), VDirChangeable::insertMutableFile(), VDirChangeable::insertStub(), VDirSurrogate::LongIdLookup(), VMemPool::readCheckpoint(), VDirChangeable::renameTo(), test_thread(), VDCLookupResult(), VDirChangeable::VDirChangeable(), VLeaf::VLeaf(), and VMemPool::writeCheckpoint().


The documentation for this class was generated from the following files:
Generated on Mon May 8 00:49:16 2006 for Vesta by  doxygen 1.4.2