
####
Lock
####


****
NAME
****


Kernel::System::Lock - lock lib


***********
DESCRIPTION
***********


All lock functions.

The whole lock API is just for "reading" lock states. By default, there is "unlock", "lock" and "lock-tmp".
Usually you would not modify those lock states, because there is no use case for this.


****************
PUBLIC INTERFACE
****************


new()
=====


create an object


.. code-block:: perl

     my $LockObject = $Kernel::OM->Get('Kernel::System::Lock');



LockViewableLock()
==================


get list of view-able lock types (used to show available tickets)


.. code-block:: perl

     my @List = $LockObject->LockViewableLock(
         Type => 'Name', # ID|Name
     );


Returns:


.. code-block:: perl

     @List = ( 'unlock', 'lock', 'lock-tmp' );
 
     my @ListID = $LockObject->LockViewableLock(
         Type => 'ID', # ID|Name
     );


Returns:


.. code-block:: perl

     @List = ( 1, 2, 3 );



LockLookup()
============


lock state lookup by ID or Name


.. code-block:: perl

     my $LockID = $LockObject->LockLookup( Lock => 'lock' );
 
     my $Lock = $LockObject->LockLookup( LockID => 2 );



LockList()
==========


get lock state list


.. code-block:: perl

     my %List = $LockObject->LockList(
         UserID => 123,
     );


Returns:


.. code-block:: perl

     %List = (
         1 => 'unlock',
         2 => 'lock',
         3 => 'tmp_lock',
     );





