| 495 | } |
| 496 | |
| 497 | bool configuration_impl::load_data(const std::vector<configuration_element>& _elements, bool _load_mandatory, bool _load_optional) { |
| 498 | // Load logging configuration data |
| 499 | std::set<std::string> its_warnings; |
| 500 | |
| 501 | if (!is_logging_loaded_) { |
| 502 | for (const auto& e : _elements) |
| 503 | is_logging_loaded_ = load_logging(e, its_warnings) || is_logging_loaded_; |
| 504 | |
| 505 | if (is_logging_loaded_) { |
| 506 | logger::logger_impl::init(shared_from_this()); |
| 507 | for (const auto& w : its_warnings) |
| 508 | VSOMEIP_WARNING << w; |
| 509 | } |
| 510 | } |
| 511 | |
| 512 | bool has_routing(false); |
| 513 | bool has_applications(false); |
| 514 | if (_load_mandatory) { |
| 515 | // Load mandatory configuration data |
| 516 | for (const auto& e : _elements) { |
| 517 | has_routing = load_routing(e) || has_routing; |
| 518 | has_applications = load_applications(e) || has_applications; |
| 519 | load_uds_preferred(e); |
| 520 | load_network(e); |
| 521 | load_diagnosis_address(e); |
| 522 | load_payload_sizes(e); |
| 523 | load_endpoint_queue_sizes(e); |
| 524 | load_network_options(e); |
| 525 | load_tcp_restart_settings(e); |
| 526 | load_permissions(e); |
| 527 | load_security(e); |
| 528 | load_tracing(e); |
| 529 | load_udp_receive_buffer_size(e); |
| 530 | load_services(e); |
| 531 | load_request_debounce_time(e); |
| 532 | load_dispatch_defaults(e); |
| 533 | } |
| 534 | } |
| 535 | |
| 536 | if (_load_optional) { |
| 537 | for (const auto& e : _elements) { |
| 538 | load_unicast_address(e); |
| 539 | load_netmask(e); |
| 540 | load_device(e); |
| 541 | load_service_discovery(e); |
| 542 | load_npdu_default_timings(e); |
| 543 | load_internal_services(e); |
| 544 | load_clients(e); |
| 545 | load_selective_broadcasts_support(e); |
| 546 | load_e2e(e); |
| 547 | load_debounce(e); |
| 548 | load_acceptances(e); |
| 549 | load_secure_services(e); |
| 550 | load_partitions(e); |
| 551 | load_suppress_events(e); |
| 552 | } |
| 553 | } |
| 554 | |