26#ifndef TABLES_TABLELOCKDATA_H
27#define TABLES_TABLELOCKDATA_H
31#include <casacore/casa/aips.h>
32#include <casacore/tables/Tables/TableLock.h>
75 void* releaseParentObject = 0);
LockType
Define the possible lock types.
String: the storage and methods of handling collections of characters.
void autoRelease(Bool always=False)
When the inspection interval has expired, inspect if another process needs the lock.
void release(Bool always=False)
Release the lock.
void getInfo(MemoryIO &info)
Get or put the info in the lock file.
Bool acquire(MemoryIO *info, FileLocker::LockType, uInt nattempts)
Acquire a read or write lock.
MemoryIO * ReleaseCallBack(void *parentObject, Bool always)
Define the signature of the callback function when a lock is released.
ReleaseCallBack * itsReleaseCallBack
Bool isMultiUsed() const
Is the table in use (i.e.
void putInfo(const MemoryIO &info)
TableLockData(const TableLock &lockOptions, ReleaseCallBack *=0, void *releaseParentObject=0)
Construct from the given TableLock object.
void makeLock(const String &name, Bool create, FileLocker::LockType, uInt locknr=0)
Create the LockFile object and acquire a read or write lock when permanent locking is in effect.
TableLockData & operator=(const TableLockData &that)=delete
Assignment is forbidden.
TableLockData(const TableLockData &that)=delete
Copy constructor is forbidden.
Bool hasLock(FileLocker::LockType) const
Has this process the read or write lock, thus can the table be read or written safely?
@ AutoLocking
The system takes care of acquiring/releasing locks.
TableLock(LockOption option=DefaultLocking)
Construct with given option and interval.
LockOption option() const
Get the locking option.
this file contains all the compiler specific defines
String name() const
Return the name of the field.
bool Bool
Define the standard types used by Casacore.