kdecore Library API Documentation

KLockFile Class Reference

The KLockFile class provides NFS safe lockfiles. More...

#include <klockfile.h>

Inheritance diagram for KLockFile:

Inheritance graph
[legend]
Collaboration diagram for KLockFile:

Collaboration graph
[legend]
List of all members.

Public Types

typedef KSharedPtr< KLockFilePtr
enum  LockResult { LockOK = 0, LockFail, LockError, LockStale }
enum  LockOptions { LockNoBlock = 1, LockForce = 2 }

Public Member Functions

 KLockFile (const QString &file)
 ~KLockFile ()
LockResult lock (int options=0)
bool isLocked () const
void unlock ()
int staleTime () const
void setStaleTime (int _staleTime)
bool getLockInfo (int &pid, QString &hostname, QString &appname)

Detailed Description

The KLockFile class provides NFS safe lockfiles.

Author:
Waldo Bastian <bastian@kde.org>
Since:
3.3

Definition at line 33 of file klockfile.h.


Member Enumeration Documentation

enum KLockFile::LockResult
 

Possible return values of the lock function.

Enumerator:
LockOK  Lock was acquired successfully.
LockFail  The lock could not be acquired because it is held by another process.
LockError  The lock could not be acquired due to an error.
LockStale  A stale lock has been detected.

Definition at line 48 of file klockfile.h.

enum KLockFile::LockOptions
 

Enumerator:
LockNoBlock  Return immediately, do not wait for the lock to become available.
LockForce  Automatically remove a lock when a lock is detected that is stale for more than staleTime() seconds.

Definition at line 70 of file klockfile.h.


Constructor & Destructor Documentation

KLockFile::~KLockFile  ) 
 

Destroys the object, releasing the lock if held.

Definition at line 75 of file klockfile.cpp.

References unlock().


Member Function Documentation

KLockFile::LockResult KLockFile::lock int  options = 0  ) 
 

Attempt to acquire the lock.

Parameters:
options A set of LockOptions OR'ed together.

Definition at line 240 of file klockfile.cpp.

References QTextStream::atEnd(), LockError, LockFail, LockForce, LockNoBlock, LockOK, LockStale, QFile::open(), KApplication::random(), and QTextStream::readLine().

bool KLockFile::isLocked  )  const
 

Returns whether the lock is held or not.

Definition at line 354 of file klockfile.cpp.

void KLockFile::unlock  ) 
 

Release the lock.

Definition at line 359 of file klockfile.cpp.

References QFile::encodeName().

Referenced by ~KLockFile().

int KLockFile::staleTime  )  const
 

Return the time in seconds after which a lock is considered stale The default is 30.

Definition at line 82 of file klockfile.cpp.

void KLockFile::setStaleTime int  _staleTime  ) 
 

Set the time in seconds after which a lock is considered stale.

Definition at line 89 of file klockfile.cpp.

bool KLockFile::getLockInfo int &  pid,
QString hostname,
QString appname
 

Returns the pid, hostname and appname of the process holding the lock after the lock functon has returned with LockStale.

Returns:
false if the pid and hostname could not be determined

Definition at line 368 of file klockfile.cpp.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Jul 20 13:46:39 2006 by doxygen 1.4.4 written by Dimitri van Heesch, © 1997-2003