SAGA Adaptor CPI v.1.0
|
00001 // Copyright (c) 2005-2007 Andre Merzky (andre@merzky.net) 00002 // Copyright (c) 2005-2009 Hartmut Kaiser 00003 // 00004 // Distributed under the Boost Software License, Version 1.0. (See accompanying 00005 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 00006 00007 #ifndef SAGA_BASE_HPP 00008 #define SAGA_BASE_HPP 00009 00010 #include <saga/saga-defs.hpp> 00011 00012 #include <saga/saga/types.hpp> 00013 #include <saga/saga/impl_base.hpp> 00014 00016 00018 00019 namespace saga 00020 { 00021 namespace impl 00022 { 00023 namespace v1_0 00024 { 00025 // FIXME: why these and no others? -- AM 00026 class cpi; 00027 class namespace_entry_cpi; 00028 } 00029 class attribute_interface; 00030 } 00031 00032 // utility classes 00033 class url; 00034 class uuid; 00035 class const_buffer; 00036 class mutable_buffer; 00037 00038 // saga core package 00039 class object; 00040 class session; 00041 class context; 00042 class exception; 00043 class attribute; 00044 class permissions; 00045 00046 class task; 00047 class task_container; 00048 00049 class adaptor; 00050 namespace adaptors 00051 { 00052 class attribute; 00053 class exception; 00054 struct nocheck {}; 00055 } 00056 namespace detail 00057 { 00058 template <typename Derived> struct attribute; 00059 } 00060 00061 // saga data package 00062 // name spaces 00063 namespace name_space { 00064 class entry; 00065 class directory; 00066 } 00067 00068 namespace advert { 00069 class entry; 00070 class directory; 00071 } 00072 00073 namespace filesystem { 00074 class directory; 00075 class file; 00076 class const_iovec; 00077 class iovec; 00078 } 00079 00080 // logical file 00081 namespace replica { 00082 class logical_directory; 00083 class logical_file; 00084 } 00085 00086 // saga remote procedure call package 00087 namespace rpc { 00088 class rpc; 00089 class parameter; 00090 } 00091 00092 // saga stream package 00093 namespace stream { 00094 class stream; 00095 class server; 00096 } 00097 00098 // monitoring - not in spec 00099 class metric; 00100 00101 // saga resource/jobs package 00102 namespace job { 00103 class job; 00104 class self; 00105 class service; 00106 class description; 00107 class istream; 00108 class ostream; 00109 } 00110 00111 // saga service discovery package 00112 namespace sd { 00113 class service_data; 00114 class service_description; 00115 class discoverer; 00116 } 00117 00118 // saga checkpoint and recovery package 00119 namespace cpr { 00120 class job; 00121 class service; 00122 class checkpoint; 00123 class directory; 00124 class description; 00125 } 00126 00127 } // namespace saga 00129 00131 00132 #endif // SAGA_BASE_HPP 00133