Lucene++ - a full-featured, c++ search engine
API Documentation

Lock.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6
7 #ifndef LOCK_H
8 #define LOCK_H
9
10 #include "LuceneObject.h"
11
12 namespace Lucene {
13
16 class LPPAPI Lock : public LuceneObject {
17 public:
18 virtual ~Lock();
19 LUCENE_CLASS(Lock);
20
21 public:
23 static const int32_t LOCK_OBTAIN_WAIT_FOREVER;
24
26 static const int32_t LOCK_POLL_INTERVAL;
27
28 public:
31 virtual bool obtain() = 0;
32
34 virtual void release() = 0;
35
38 virtual bool isLocked() = 0;
39
45 bool obtain(int32_t lockWaitTimeout);
46 };
47
48 }
49
50 #endif
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::Lock
An interprocess mutex lock.
Definition: Lock.h:16
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Lucene::Lock::LOCK_POLL_INTERVAL
static const int32_t LOCK_POLL_INTERVAL
Pass this value to obtain(int64_t) to try forever to obtain the lock.
Definition: Lock.h:26
LuceneObject.h

clucene.sourceforge.net