1 //  Copyright (c) 2007-2014 Hartmut Kaiser
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 #ifndef HPX_RUNTIME_AGAS_FWD_HPP
8 #define HPX_RUNTIME_AGAS_FWD_HPP
9 
10 #include <hpx/config.hpp>
11 #include <hpx/util/function.hpp>
12 
13 #include <cstdint>
14 #include <string>
15 
16 namespace hpx { namespace components
17 {
18     typedef std::int32_t component_type;
19 }}
20 
21 namespace hpx { namespace agas
22 {
23     typedef hpx::util::function<
24         void(std::string const&, components::component_type)
25     > iterate_types_function_type;
26 
27     struct HPX_EXPORT component_namespace;
28     struct HPX_EXPORT locality_namespace;
29     struct HPX_EXPORT primary_namespace;
30     struct HPX_EXPORT symbol_namespace;
31     namespace server
32     {
33         struct HPX_EXPORT component_namespace;
34         struct HPX_EXPORT locality_namespace;
35         struct HPX_EXPORT primary_namespace;
36         struct HPX_EXPORT symbol_namespace;
37     }
38     struct HPX_API_EXPORT addressing_service;
39 
40     enum service_mode
41     {
42         service_mode_invalid = -1,
43         service_mode_bootstrap = 0,
44         service_mode_hosted = 1
45     };
46 }}
47 
48 #endif /*HPX_RUNTIME_AGAS_FWD_HPP*/
49