28 #ifndef TABLES_EXTERNALLOCKSYNC_H
29 #define TABLES_EXTERNALLOCKSYNC_H
void makeLock(const String &tableName, Bool create, FileLocker::LockType)
Create the LockFile object and acquire a read or write lock when permanent locking is in effect...
Bool hasLock(FileLocker::LockType) const
Has this process the read or write lock, thus can the table be read or written safely?
Class to hold table synchronization data.
Class to hold table lock data.
virtual casacore::String type() const
Implements RegionShape::type.
ExternalLockSync & operator=(const ExternalLockSync &that)
Assignment is forbidden.
void write(uInt nrrow, uInt nrcolumn, Bool tableChanged, const Block< Bool > &dataManChanged)
Update the synchronization data and write it into the MemoryIO object.
MemoryIO & memoryIO()
Get the MemoryIO object.
ExternalLockSync(const TableLock &lockOptions)
Construct from the given TableLock object.
void release(uInt nrrow)
Release the lock and synchronize the table access.
Bool hasLock(FileLocker::LockType) const
Check if the table has a read or write lock, thus if the table can be read or written safely...
MemoryIO * doReleaseCallBack(Bool always)
The member function executing the callback functionality.
Class to hold table lock data.
uInt nrow() const
Get the current number of rows in this object.
bool Bool
Define the standard types used by Casacore.
Bool acquire(FileLocker::LockType=FileLocker::Write, uInt nattempts=0)
Acquire a read or write lock (when needed).
Class to hold table lock options.
void release(Bool always=False)
Release the lock.
String: the storage and methods of handling collections of characters.
Class for IO to a memory buffer.
static MemoryIO * releaseCallBack(void *lockSyncObject, Bool always)
The callback function when releasing a lock.
LockType
Define the possible lock types.
#define casacore
<X11/Intrinsic.h> #defines true, false, casacore::Bool, and String.