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.
rownr_t nrow() const
Get the current number of rows in this object.
Class to hold table lock data.
void write(rownr_t nrrow, uInt nrcolumn, Bool tableChanged, const Block< Bool > &dataManChanged)
Update the synchronization data and write it into the MemoryIO object.
void release(rownr_t nrrow)
Release the lock and synchronize the table access.
ExternalLockSync & operator=(const ExternalLockSync &that)
Assignment is forbidden.
MemoryIO & memoryIO()
Get the MemoryIO object.
ExternalLockSync(const TableLock &lockOptions)
Construct from the given TableLock object.
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.
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.
uInt64 rownr_t
Define the type of a row number in a table.
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.