28 #ifndef TABLES_EXTERNALLOCKSYNC_H 29 #define TABLES_EXTERNALLOCKSYNC_H 33 #include <casacore/casa/aips.h> 34 #include <casacore/tables/Tables/TableLockData.h> 35 #include <casacore/tables/Tables/TableSyncData.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...
Class to hold table synchronization data.
Class to hold table lock data.
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.
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.
Bool hasLock(FileLocker::LockType) const
Has this process the read or write lock, thus can the table be read or written safely?
LockType
Define the possible lock types.
this file contains all the compiler specific defines
uInt nrow() const
Get the current number of rows in this object.