32 #ifndef _QORE_AUTOVLOCK_H    34 #define _QORE_AUTOVLOCK_H    36 class AbstractSmartLock;
    43    DLLLOCAL 
void unlockIntern() {
    49    DLLLOCAL QLckPtr() : rwl(0) {
    52    DLLLOCAL 
void set(QoreVarRWLock* n_rwl) {
    56    DLLLOCAL QoreVarRWLock* getRWL()
 const {
    60    DLLLOCAL 
bool isSet()
 const {
    64    DLLLOCAL 
void unlockAndClear() {
    71    DLLLOCAL 
void clear() {
    94    hashdecl qore_avl_private* priv;
   101    DLLLOCAL 
void* 
operator new(size_t) = 
delete;
   110    DLLEXPORT AutoVLock(AutoVLock&& o) = 
default;
   113    DLLEXPORT ~AutoVLock();
   116    DLLEXPORT 
operator bool() 
const;
   119    DLLEXPORT 
void del();
   122    DLLLOCAL 
void set(QoreVarRWLock* n_rwl);
   125    DLLLOCAL 
void set(
QoreObject* n_o, QoreVarRWLock* n_rwl);
   128    DLLLOCAL QoreVarRWLock* getRWL() 
const;
   134    DLLLOCAL 
void clear();
   140    DLLLOCAL 
void addMemberNotification(
QoreObject* o, 
const char* member);
 AutoVLock is a container for safely managing global variable and object lock handovers, required for functions accessing global variables and object data where locking is necessary. 
Definition: AutoVLock.h:80
 
the implementation of Qore's object data type, reference counted, dynamically-allocated only ...
Definition: QoreObject.h:61
 
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:46