• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDECore

KLockFile Class Reference

#include <KLockFile>

Inheritance diagram for KLockFile:

Inheritance graph
[legend]

List of all members.


Detailed Description

The KLockFile class provides NFS safe lockfiles.

Author:
Waldo Bastian <bastian@kde.org>

Definition at line 36 of file klockfile.h.


Public Types

enum  LockFlag { NoBlockFlag = 1, ForceFlag = 2 }
enum  LockResult { LockOK = 0, LockFail, LockError, LockStale }
typedef KSharedPtr< KLockFile > Ptr

Public Member Functions

bool getLockInfo (int &pid, QString &hostname, QString &appname)
bool isLocked () const
 KLockFile (const QString &file, const KComponentData &componentName=KGlobal::mainComponent())
LockResult lock (LockFlags flags=LockFlags())
void setStaleTime (int _staleTime)
int staleTime () const
void unlock ()
 ~KLockFile ()

Member Typedef Documentation

typedef KSharedPtr<KLockFile> KLockFile::Ptr

Definition at line 39 of file klockfile.h.


Member Enumeration Documentation

enum KLockFile::LockFlag

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

Definition at line 73 of file klockfile.h.

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 51 of file klockfile.h.


Constructor & Destructor Documentation

KLockFile::KLockFile ( const QString &  file,
const KComponentData &  componentName = KGlobal::mainComponent() 
) [explicit]

Definition at line 72 of file klockfile_unix.cpp.

KLockFile::~KLockFile (  ) 

Destroys the object, releasing the lock if held.

Definition at line 82 of file klockfile_unix.cpp.


Member Function Documentation

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 372 of file klockfile_unix.cpp.

bool KLockFile::isLocked (  )  const

Returns whether the lock is held or not.

Definition at line 358 of file klockfile_unix.cpp.

KLockFile::LockResult KLockFile::lock ( LockFlags  flags = LockFlags()  ) 

Attempt to acquire the lock.

Parameters:
flags A set of LockFlag values OR'ed together.

Definition at line 248 of file klockfile_unix.cpp.

void KLockFile::setStaleTime ( int  _staleTime  ) 

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

Definition at line 96 of file klockfile_unix.cpp.

int KLockFile::staleTime (  )  const

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

Definition at line 89 of file klockfile_unix.cpp.

void KLockFile::unlock (  ) 

Release the lock.

Definition at line 363 of file klockfile_unix.cpp.


The documentation for this class was generated from the following files:
  • klockfile.h
  • klockfile_unix.cpp
  • klockfile_win.cpp

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal