blob: 01afdb2d6cc8e3b4997fe29d33692c9a159a3bc4 (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 | #ifndef SWIFTEN_SimpleEventLoop_H
#define SWIFTEN_SimpleEventLoop_H
#include <vector>
#include <boost/function.hpp>
#include <boost/thread/mutex.hpp>
#include <boost/thread/condition_variable.hpp>
#include "Swiften/EventLoop/EventLoop.h"
namespace Swift {
	class SimpleEventLoop : public EventLoop {
		public:
			SimpleEventLoop();
			void run();
			void stop();
			virtual void post(const Event& event);
		private:
			void doStop();
		private:
			bool isRunning_;
			std::vector<Event> events_;
			boost::mutex eventsMutex_;
			boost::condition_variable eventsAvailable_;
	};
}
#endif
 |