crabmeat 1.0
Loading...
Searching...
No Matches
ksetup.h
1
9
10#ifndef CBM_KSETUP_H_
11#define CBM_KSETUP_H_
12
13#include "crabmeat-common.h"
14#include "json/cbm_jquery.h"
15#include "string/cbm_string.h"
16
17namespace cbm {
18
19struct CBM_API ksetup_t
20{
21 ksetup_t();
22 ksetup_t( char const * /*kernel name*/,
23 char const * /*kernel data*/);
24 ksetup_t( ksetup_t const &);
25 ksetup_t & operator=( ksetup_t const &);
26
27 ~ksetup_t();
28
29 bool parse_ok() const;
30
31 char const * nested_setup( char const * _path) const
32 { return this->m_jquery.nested_string( _path); }
33 char const * nested_setup( cbm::string_t const & _path) const
34 { return this->nested_setup( _path.c_str()); }
35
36 bool exists( char const * /*path*/);
37 bool exists( cbm::string_t const & /*path*/);
38
39 int query_size( char const * /*path*/);
40
41 /* query strings */
42 char const * query_string(
43 char const * /*path*/, char const * /*default*/);
44 cbm::string_t query_string(
45 cbm::string_t const & /*path*/, char const * /*default*/);
46
47 bool query_bool(
48 char const * /*path*/, bool /*default*/);
49 bool query_bool(
50 cbm::string_t const & /*path*/, bool /*default*/);
51
52 int query_int(
53 char const * /*path*/, int /*default*/);
54 int query_int(
55 cbm::string_t const & /*path*/, int /*default*/);
56
57 double query_double(
58 char const * /*path*/, double /*default*/);
59 double query_double(
60 cbm::string_t const & /*path*/, double /*default*/);
61
62
63 cbm::string_t query_any(
64 char const * /*path*/, char const * /*default*/);
65 cbm::string_t query_any(
66 cbm::string_t const & /*path*/, char const * /*default*/);
67
68 template < typename _ValueType >
69 _ValueType query( char const * _path, _ValueType _default)
70 { return this->m_jquery.get< _ValueType >( _path, _default); }
71
72private:
73 jquery_t m_jquery;
74};
75
76} /* namespace cbm */
77
78#endif /* !CBM_KSETUP_H_ */
79
The "Service Registry" holds information about available services (e.g., models, readers,...
Definition Lresources.h:51