All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
AutoVLock Class Reference

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. More...

`#include <AutoVLock.h>`

Collaboration diagram for AutoVLock:
[legend]

## Public Member Functions

DLLEXPORT | AutoVLock (ExceptionSink *n_xsink)
| creates an empty lock container
DLLEXPORT | ~AutoVLock ()
| releases all locks held and destroys the container
DLLEXPORT | operator bool () const
| returns true if managing a lock, false if not (unlocked)
DLLEXPORT void | del ()
| manually releases the lock currently held
DLLLOCAL void | set (QoreThreadLock *n_m)
| sets the current lock
DLLLOCAL void | set (QoreObject *n_o, QoreThreadLock *n_m)
| sets the current object (for dereference) and lock
DLLLOCAL QoreThreadLock * | get () const
| gets the current lock
DLLLOCAL QoreObject * | getObject () const
| gets the current object
DLLLOCAL void | clear ()
| leaves the lock locked and the object referenced and clears the object and lock pointers
DLLLOCAL void | addMemberNotification (QoreObject *o, const char *member)
| adds an object member notification entry, internal-only

## Detailed Description

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.

This object is used for lock handover management and automatically releasing the last lock.

## Constructor & Destructor Documentation

DLLEXPORT AutoVLock::AutoVLock | ( | ExceptionSink * | n_xsink | ) |

creates an empty lock container

Parameters

  n_xsink | pointer to ExceptionSink object for use with object notifications

## Member Function Documentation

DLLLOCAL void AutoVLock::addMemberNotification | ( | QoreObject * | o,
|  | const char * | member
| ) |  |

adds an object member notification entry, internal-only

Parameters

  o | the object to add
  member | the member that was changed (must be in QCS_DEFAULT encoding)

The documentation for this class was generated from the following file:

- include/qore/AutoVLock.h (5431)