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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
LuceneSignal.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2011 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 LUCENESIGNAL_H
8 #define LUCENESIGNAL_H
9
10 #include <boost/thread/condition.hpp>
11 #include "Lucene.h"
12
13 namespace Lucene
14 {
16 class LPPAPI LuceneSignal
17 {
18 public:
19 LuceneSignal(SynchronizePtr objectLock = SynchronizePtr());
20 virtual ~LuceneSignal();
21
22 protected:
23 boost::mutex waitMutex;
24 boost::condition signalCondition;
25 SynchronizePtr objectLock;
26
27 public:
29 static void createSignal(LuceneSignalPtr& signal, SynchronizePtr objectLock);
30
32 void wait(int32_t timeout = 0);
33
35 void notifyAll();
36 };
37 }
38
39
40 #endif

clucene.sourceforge.net