Line data Source code
1 : /********************************************************************************
2 : * Copyright (c) 2026 Accenture
3 : *
4 : * This program and the accompanying materials are made available under the
5 : * terms of the Apache License Version 2.0 which is available at
6 : * https://www.apache.org/licenses/LICENSE-2.0
7 : *
8 : * SPDX-License-Identifier: Apache-2.0
9 : ********************************************************************************/
10 :
11 : #pragma once
12 :
13 : #include "someip/SdConstants.h"
14 :
15 : #include <cstdint>
16 :
17 : namespace someip
18 : {
19 : struct SdConfig
20 : {
21 : uint32_t _initialDelay = SD_DEFAULT_INITIAL_DELAY;
22 : uint32_t _repetitionsBaseDelay = SD_DEFAULT_REPETITIONS_BASE_DELAY;
23 : uint32_t _repetitionsMax = SD_DEFAULT_REPETITIONS_MAX;
24 :
25 62 : SdConfig() = default;
26 :
27 2 : SdConfig(
28 : uint32_t const initialDelay,
29 : uint32_t const repetitionsBaseDelay,
30 : uint32_t const repetitionsMax)
31 2 : : _initialDelay(initialDelay)
32 2 : , _repetitionsBaseDelay(repetitionsBaseDelay)
33 2 : , _repetitionsMax(repetitionsMax)
34 2 : {}
35 : };
36 :
37 : struct SdOfferConfig : SdConfig
38 : {
39 : uint32_t _cyclicOfferDelay = SD_DEFAULT_CYCLIC_OFFER_DELAY;
40 :
41 62 : SdOfferConfig() = default;
42 :
43 1 : SdOfferConfig(
44 : uint32_t const initialDelay,
45 : uint32_t const repetitionsBaseDelay,
46 : uint32_t const repetitionsMax,
47 : uint32_t const cyclicOfferDelay)
48 1 : : SdConfig(initialDelay, repetitionsBaseDelay, repetitionsMax)
49 1 : , _cyclicOfferDelay(cyclicOfferDelay)
50 1 : {}
51 : };
52 : } // namespace someip
|