RCFProto

- Main Page
- Classes
- Files

- File List

All Classes Functions Typedefs
AmiThreadPool.hpp
1
2 //******************************************************************************
3 // RCF - Remote Call Framework
4 //
5 // Copyright (c) 2005 - 2013, Delta V Software. All rights reserved.
6 // http://www.deltavsoft.com
7 //
8 // RCF is distributed under dual licenses - closed source or GPL.
9 // Consult your particular license for conditions of use.
10 //
11 // If you have not purchased a commercial license, you are using RCF
12 // under GPL terms.
13 //
14 // Version: 2.0
15 // Contact: support <at> deltavsoft.com
16 //
17 //******************************************************************************
18
19 #ifndef INCLUDE_RCF_AMITHREADPOOL_HPP
20 #define INCLUDE_RCF_AMITHREADPOOL_HPP
21
22 #include <memory>
23
24 #include <RCF/Export.hpp>
25 #include <RCF/ThreadPool.hpp>
26
27 namespace RCF {
28
29 class RCF_EXPORT AmiThreadPool
30 {
31 public:
32 AmiThreadPool();
33 ~AmiThreadPool();
34
35 void start();
36 void stop();
37
38 AsioIoService & getIoService();
39
40 static void setEnableMultithreadedBlockingConnects(bool enable = true);
41 static bool getEnableMultithreadedBlockingConnects();
42
43 private:
44 ThreadPool mThreadPool;
45 };
46
47 RCF_EXPORT AmiThreadPool & getAmiThreadPool();
48
49 /*
50 class I_RcfClient;
51
52 // Deprecated.
53 class RCF_EXPORT AsyncTimer
54 {
55 public:
56 AsyncTimer();
57 ~AsyncTimer();
58 void set(boost::function0<void> onTimer, boost::uint32_t timeoutMs);
59 void cancel();
60
61 private:
62 boost::shared_ptr<I_RcfClient> mDummyPtr;
63
64 };
65 */
66
67 } // namespace RCF
68
69 #endif // ! INCLUDE_RCF_AMITHREADPOOL_HPP