1 ////////////////////////////////////////////////////////////////////////////////
2 //  Copyright (c) 2011 Bryce Lelbach
3 //
4 //  Distributed under the Boost Software License, Version 1.0. (See accompanying
5 //  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ////////////////////////////////////////////////////////////////////////////////
7 
8 #if !defined(HPX_703646B3_0567_484E_AD34_A752B8163B30)
9 #define HPX_703646B3_0567_484E_AD34_A752B8163B30
10 
11 #include <hpx/config.hpp>
12 
13 namespace hpx
14 {
15     enum state
16     {
17         state_invalid = -1,
18         state_initialized = 0,
19         first_valid_runtime_state = state_initialized,
20         state_pre_startup = 1,
21         state_startup = 2,
22         state_pre_main = 3,
23         state_starting = 4,
24         state_running = 5,
25         state_suspended = 6,
26         state_pre_sleep = 7,
27         state_sleeping = 8,
28         state_pre_shutdown = 9,
29         state_shutdown = 10,
30         state_stopping = 11,
31         state_terminating = 12,
32         state_stopped = 13,
33         last_valid_runtime_state = state_stopped
34     };
35 
36     namespace threads
37     {
38         // return whether thread manager is in the state described by 'mask'
39         HPX_EXPORT bool threadmanager_is(state st);
40         HPX_EXPORT bool threadmanager_is_at_least(state st);
41     }
42 
43     namespace agas
44     {
45         // return whether resolver client is in state described by 'mask'
46         HPX_EXPORT bool router_is(state st);
47     }
48 }
49 
50 #endif // HPX_703646B3_0567_484E_AD34_A752B8163B30
51 
52