YAMI4 Core Library 2.0.0
Messaging Solution for Distributed Systems
Loading...
Searching...
No Matches
parameter_entry.h
1// Copyright Maciej Sobczak 2008-2022.
2// This file is part of YAMI4.
3// See the package-level LICENSE.txt file.
4
5#ifndef YAMICORE_PARAMETER_ENTRY_H_INCLUDED
6#define YAMICORE_PARAMETER_ENTRY_H_INCLUDED
7
8#include "core.h"
9#include "dll.h"
10#include "parameter_type.h"
11#include <cstddef>
12
13namespace yami
14{
15
16namespace details
17{
18struct entry;
19} // namespace details
20
21namespace core
22{
23
24class parameters;
25
31{
32public:
39
46 void get_name(const char * & name, std::size_t & name_length) const;
47
56 result get_boolean(bool & value) const;
57
66 result get_integer(int & value) const;
67
76 result get_long_long(long long & value) const;
77
86 result get_word(unsigned int & value) const;
87
96 result get_long_long_word(unsigned long long & value) const;
97
106 result get_double_float(double & value) const;
107
117 result get_string(const char * & value, std::size_t & value_length) const;
118
128 result get_binary(const void * & value, std::size_t & value_length) const;
129
139
153 bool * & values, std::size_t & array_length) const;
154
168 int * & values, std::size_t & array_length) const;
169
183 long long * & values, std::size_t & array_length) const;
184
198 unsigned int * & values, std::size_t & array_length) const;
199
213 unsigned long long * & values, std::size_t & array_length) const;
214
228 double * & values, std::size_t & array_length) const;
229
240 result get_string_array_length(std::size_t & length) const;
241
255 result get_string_in_array(std::size_t index,
256 const char * & value, std::size_t & value_length) const;
257
268 result get_binary_array_length(std::size_t & length) const;
269
283 result get_binary_in_array(std::size_t index,
284 const void * & value, std::size_t & value_length) const;
285
286private:
287 friend class parameters;
288 friend class parameter_iterator;
289
290 details::entry * e_;
291};
292
293} // namespace core
294
295} // namespace yami
296
297#endif // YAMICORE_PARAMETER_ENTRY_H_INCLUDED
Read-only view on the parameters entry.
Definition: parameter_entry.h:31
result get_long_long(long long &value) const
Extracts the long long value from the current entry.
result get_double_float_array(double *&values, std::size_t &array_length) const
Extracts the array of double values from the current entry.
result get_string(const char *&value, std::size_t &value_length) const
Extracts the string value from the current entry.
parameter_type type() const
Returns the type of underlying (current) entry.
result get_long_long_array(long long *&values, std::size_t &array_length) const
Extracts the array of long long values from the current entry.
result get_string_array_length(std::size_t &length) const
Extracts the length of string array.
result get_binary_in_array(std::size_t index, const void *&value, std::size_t &value_length) const
Extracts binary value from binary array.
result get_binary_array_length(std::size_t &length) const
Extracts the length of binary array.
result get_word_array(unsigned int *&values, std::size_t &array_length) const
Extracts the array of unsigned int values from the current entry.
result get_integer_array(int *&values, std::size_t &array_length) const
Extracts the array of int values from the current entry.
result get_binary(const void *&value, std::size_t &value_length) const
Extracts the binary value from the current entry.
result get_nested_parameters(parameters *&params) const
Extracts the nested parameters object from the current entry.
result get_long_long_word_array(unsigned long long *&values, std::size_t &array_length) const
Extracts the array of unsigned long long values from the current entry.
result get_integer(int &value) const
Extracts the int value from the current entry.
result get_boolean_array(bool *&values, std::size_t &array_length) const
Extracts the array of bool values from the current entry.
result get_word(unsigned int &value) const
Extracts the unsigned int value from the current entry.
void get_name(const char *&name, std::size_t &name_length) const
Extracts the name of current entry.
result get_long_long_word(unsigned long long &value) const
Extracts the unsigned long long value from the current entry.
result get_string_in_array(std::size_t index, const char *&value, std::size_t &value_length) const
Extracts string value from string array.
result get_double_float(double &value) const
Extracts the double value from the current entry.
result get_boolean(bool &value) const
Extracts the bool value from the current entry.
Iterator to parameter entries.
Definition: parameter_iterator.h:35
Collection of message parameters.
Definition: parameters.h:83
result
General type for reporting success and error states.
Definition: core.h:21
parameter_type
Type of parameter entry.
Definition: parameter_type.h:16
Namespace devoted for everything related to YAMI4.
Definition: agent.h:14