17 #ifndef YAMICPP_PARAMETERS_H_INCLUDED 18 #define YAMICPP_PARAMETERS_H_INCLUDED 20 #include "parameter_entry.h" 21 #include "parameter_type.h" 22 #include "serializable.h" 23 #include <yami4-core/dll.h> 24 #include <yami4-core/parameter_iterator.h> 83 explicit parameters(core::parameters * external);
110 void set_boolean(
const std::string & name,
bool value);
111 void set_boolean(
const char * name,
bool value);
118 bool get_boolean(
const std::string & name)
const;
119 bool get_boolean(
const char * name)
const;
128 void set_integer(
const std::string & name,
int value);
129 void set_integer(
const char * name,
int value);
136 int get_integer(
const std::string & name)
const;
137 int get_integer(
const char * name)
const;
146 void set_long_long(
const std::string & name,
long long value);
147 void set_long_long(
const char * name,
long long value);
154 long long get_long_long(
const std::string & name)
const;
155 long long get_long_long(
const char * name)
const;
164 void set_double_float(
const std::string & name,
double value);
165 void set_double_float(
const char * name,
double value);
172 double get_double_float(
const std::string & name)
const;
173 double get_double_float(
const char * name)
const;
182 void set_string(
const std::string & name,
const std::string & value);
183 void set_string(
const char * name,
const char * value);
198 void set_string_shallow(
const std::string & name,
199 const char * value, std::size_t value_length);
200 void set_string_shallow(
const char * name, std::size_t name_length,
201 const char * value, std::size_t value_length);
208 std::string get_string(
const std::string & name)
const;
209 std::string get_string(
const char * name)
const;
218 const char * get_string(
const std::string & name,
219 std::size_t & length)
const;
220 const char * get_string(
const char * name,
221 std::size_t & length)
const;
231 void set_binary(
const std::string & name,
232 const void * value, std::size_t value_length);
233 void set_binary(
const char * name,
234 const void * value, std::size_t value_length);
249 void set_binary_shallow(
const std::string & name,
250 const void * value, std::size_t value_length);
251 void set_binary_shallow(
const char * name, std::size_t name_length,
252 const void * value, std::size_t value_length);
261 const void * get_binary(
const std::string & name,
262 std::size_t & length)
const;
263 const void * get_binary(
const char * name,
264 std::size_t & length)
const;
279 void set_boolean_array(
const std::string & name,
280 const bool * values, std::size_t array_length);
281 void set_boolean_array(
const char * name,
282 const bool * values, std::size_t array_length);
296 void set_boolean_array_shallow(
const std::string & name,
297 const bool * values, std::size_t array_length);
298 void set_boolean_array_shallow(
const char * name,
299 const bool * values, std::size_t array_length);
310 bool * get_boolean_array(
const std::string & name,
311 std::size_t & array_length)
const;
312 bool * get_boolean_array(
const char * name,
313 std::size_t & array_length)
const;
326 void set_integer_array(
const std::string & name,
327 const int * values, std::size_t array_length);
328 void set_integer_array(
const char * name,
329 const int * values, std::size_t array_length);
343 void set_integer_array_shallow(
const std::string & name,
344 const int * values, std::size_t array_length);
345 void set_integer_array_shallow(
const char * name,
346 const int * values, std::size_t array_length);
357 int * get_integer_array(
const std::string & name,
358 std::size_t & array_length)
const;
359 int * get_integer_array(
const char * name,
360 std::size_t & array_length)
const;
374 void set_long_long_array(
const std::string & name,
375 const long long * values, std::size_t array_length);
376 void set_long_long_array(
const char * name,
377 const long long * values, std::size_t array_length);
392 void set_long_long_array_shallow(
const std::string & name,
393 const long long * values, std::size_t array_length);
394 void set_long_long_array_shallow(
const char * name,
395 const long long * values, std::size_t array_length);
407 long long * get_long_long_array(
const std::string & name,
408 std::size_t & array_length)
const;
409 long long * get_long_long_array(
const char * name,
410 std::size_t & array_length)
const;
423 void set_double_float_array(
const std::string & name,
424 const double * values, std::size_t array_length);
425 void set_double_float_array(
const char * name,
426 const double * values, std::size_t array_length);
440 void set_double_float_array_shallow(
const std::string & name,
441 const double * values, std::size_t array_length);
442 void set_double_float_array_shallow(
const char * name,
443 const double * values, std::size_t array_length);
455 double * get_double_float_array(
const std::string & name,
456 std::size_t & array_length)
const;
457 double * get_double_float_array(
const char * name,
458 std::size_t & array_length)
const;
470 void create_string_array(
const std::string & name,
471 std::size_t array_length);
472 void create_string_array(
const char * name, std::size_t array_length);
483 void set_string_in_array(
const std::string & name, std::size_t index,
484 const std::string & value);
485 void set_string_in_array(
const char * name, std::size_t index,
495 std::size_t get_string_array_length(
const std::string & name)
const;
496 std::size_t get_string_array_length(
const char * name)
const;
504 std::string get_string_in_array(
const std::string & name,
505 std::size_t index)
const;
506 std::string get_string_in_array(
const char * name,
507 std::size_t index)
const;
517 const char * get_string_in_array(
const std::string & name,
518 std::size_t index, std::size_t & length)
const;
519 const char * get_string_in_array(
const char * name,
520 std::size_t index, std::size_t & length)
const;
532 void create_binary_array(
const std::string & name,
533 std::size_t array_length);
534 void create_binary_array(
const char * name, std::size_t array_length);
546 void set_binary_in_array(
const std::string & name, std::size_t index,
547 const void * value, std::size_t value_length);
548 void set_binary_in_array(
const char * name, std::size_t index,
549 const void * value, std::size_t value_length);
558 std::size_t get_binary_array_length(
const std::string & name)
const;
559 std::size_t get_binary_array_length(
const char * name)
const;
569 const void * get_binary_in_array(
const std::string & name,
570 std::size_t index, std::size_t & length)
const;
571 const void * get_binary_in_array(
const char * name,
572 std::size_t index, std::size_t & length)
const;
585 core::parameters * create_nested_parameters(
const std::string & name);
586 core::parameters * create_nested_parameters(
const char * name);
595 core::parameters * get_nested_parameters(
const std::string & name)
const;
596 core::parameters * get_nested_parameters(
const char * name)
const;
611 void create_nested_array(
const std::string & name,
612 std::size_t array_length);
613 void create_nested_array(
const char * name, std::size_t array_length);
622 std::size_t get_nested_array_length(
const std::string & name)
const;
623 std::size_t get_nested_array_length(
const char * name)
const;
634 core::parameters * get_nested_in_array(
const std::string & name,
635 std::size_t index)
const;
636 core::parameters * get_nested_in_array(
const char * name,
637 std::size_t index)
const;
646 std::size_t size()
const;
669 iterator(core::parameter_iterator it) : empty_(
false), it_(it) {}
671 bool operator==(
const iterator & rhs)
const 677 return empty_ && rhs.empty_;
680 bool operator!=(
const iterator & rhs)
const 682 return operator==(rhs) ==
false;
709 entry.entry_ = it_.current();
716 core::parameter_iterator it_;
752 void remove(
const std::string & name);
753 void remove(
const char * name);
788 virtual std::size_t serialize_buffer_size()
const;
804 virtual void serialize(
char * * buffers, std::size_t * buffer_sizes,
805 std::size_t num_of_buffers)
const;
829 void deserialize(
const char * * buffers, std::size_t * buffer_sizes,
830 std::size_t num_of_buffers);
833 virtual const core::parameters & get_core_object()
const;
836 void dump(std::ostream & os)
const;
841 std::unique_ptr<core::parameters> own_params_;
845 core::parameters * params_;
850 #endif // YAMICPP_PARAMETERS_H_INCLUDED ~parameters()
Destructor.
Definition: parameters.h:99
Collection of message parameters.
Definition: parameters.h:71
Namespace devoted to everything related to YAMI4.
Definition: activity_statistics_monitor.cpp:27
parameter_type
Type of parameter entry.
Definition: parameter_type.h:24
Read-only view on the parameters entry.
Definition: parameter_entry.h:37
Common interface for serializable data source.
Definition: serializable.h:32
Iterator class for inspecting entries in the collection.
Definition: parameters.h:665