Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[config] Introduction of YAML format for eCAL configuration #1669

Merged
merged 171 commits into from
Jul 26, 2024
Merged
Changes from 1 commit
Commits
Show all changes
171 commits
Select commit Hold shift + click to select a range
382d9ef
First working implementation for config management.
Peguen Feb 20, 2024
0e9c039
Merge branch 'master' into feature/user_config_implementation
Peguen Feb 20, 2024
49e8ade
Resolved some merging problems.
Peguen Feb 21, 2024
70366d5
Fixed copy paste issue values for receivingOptions in ecal_config_ini…
Peguen Feb 21, 2024
00b2ec1
Config Adaptions: Set LimitSize default paramaeter to template MIN va…
Peguen Feb 21, 2024
eb31c72
Refactored options and config access.
Peguen Mar 27, 2024
548037f
Changed defines to constexpr in ecal_dev_ini.h
Peguen Mar 27, 2024
5b07971
Removed doubled constexpr.
Peguen Mar 27, 2024
9cd3594
Removed former ecal_config cpp and h from core/CMakesLists
Peguen Mar 28, 2024
9e1be9a
Removed ms_t from registration_options and handling in using functions.
Peguen Mar 28, 2024
c5ab1dc
Fixed ecal_registration cpp time config import.
Peguen Mar 28, 2024
05ec616
Refactored config options in application.
Peguen Mar 28, 2024
a861b01
Added process_options.terminal_emulator to config.
Peguen Mar 28, 2024
e35df5a
Refactored sys- and processoptions as sub to application options.
Peguen Mar 28, 2024
4a0ce13
Refactored default config to use ecal_def.h defines.
Peguen Mar 28, 2024
153ee9e
Refactored ini config to use ecal_def.h
Peguen Mar 28, 2024
94f91ae
Moved IpAddressV4 definitions to private space.
Peguen Mar 28, 2024
b196ab4
Removed unused fields.
Peguen Mar 28, 2024
afe2332
Fixed some GH actions compiling issues.
Peguen Mar 28, 2024
4887b02
Removed unnecessary comments in header files.
Peguen Mar 28, 2024
c768ba9
Changed #include <limits> to correct header.
Peguen Apr 2, 2024
6306d99
Merge branch 'master' into feature/user_config_implementation
Peguen Apr 2, 2024
b4690a0
Some updates regarding new configuration management to ecal_core.
Peguen Apr 2, 2024
4694927
Updated submodules
Peguen Apr 3, 2024
388f5bc
Checked out versions of thirdparty modules equal to master branch.
Peguen Apr 3, 2024
9303795
Implemented termination, when wrong values are assigned to custom dat…
Peguen Apr 3, 2024
848c572
Changed g_ecal_config() return value (PathWarning)
Peguen Apr 3, 2024
2370814
Added basic configuration tests.
Peguen Apr 3, 2024
e20d510
Added ECAL_API macro for config calls.
Peguen Apr 3, 2024
7cafa3e
Added operator overloading of == for LimitSize(LS), LS == int, LS == …
Peguen Apr 4, 2024
a6936d1
Fixed warnings because of implicit types conversions by implementing …
Peguen Apr 4, 2024
ca428d1
Created deathtests and more type tests for configuration tests.
Peguen Apr 4, 2024
5a5fe2c
Merge branch 'master' into feature/user_config_implementation
Peguen Apr 4, 2024
0370d47
Removed GetDefaultConfig().
Peguen Apr 4, 2024
ae7e608
Setting new_initialization to true in ecal_globals when ecal_config g…
Peguen Apr 5, 2024
6530bec
Removed const from custom_data_types as recommended.
Peguen Apr 5, 2024
3f95473
Review 1: Moved GetCurrentConfig to config.h.
Peguen Apr 8, 2024
a435621
Changed defines to constexpr in ecal_dev_ini.h
Peguen Mar 27, 2024
832c811
Changed defines to constexpr in ecal_def, ecal_def_ini + added uint a…
Peguen Apr 8, 2024
673a4b0
Merge remote-tracking branch 'origin/master' into feature/defines_to_…
Peguen Apr 8, 2024
ca14568
Merge branch 'feature/defines_to_constexpr' into feature/user_config_…
Peguen Apr 8, 2024
e05f398
Removed ecal_internal_options.h.
Peguen Apr 8, 2024
a8da1ce
Introduced logging options.
Peguen Apr 8, 2024
2dc3cbc
Renamed ProcessOptions to StartupOptions.
Peguen Apr 8, 2024
b2af134
Renamed ProcessOptions to StartupOptions in application_options.h.
Peguen Apr 9, 2024
71cc7e5
Adapted IpAddressV4 to exclude some addresses. Added test cases.
Peguen Apr 9, 2024
3c7b05d
Reverted changes to ecal.cpp and ecal_globals.cpp.
Peguen Apr 9, 2024
3db1f9d
ecal_config as reference, not pointer.
Peguen Apr 9, 2024
f3bbc96
Review 1: Config not as ptr. Optimized handling. Clangtidy happiness.
Peguen Apr 10, 2024
c19c4ff
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen Apr 11, 2024
e0a1656
Changed constexpr in ecal_config_initializer.cpp
Peguen Apr 11, 2024
063b484
Added some clang tidy improvements (e.g. usage of const)
Peguen Apr 11, 2024
ceb4419
Added operator int() to LimitSize.
Peguen Apr 11, 2024
3a811a4
Added operator std::string() to IpV4Address.
Peguen Apr 11, 2024
4893564
Added default constructors to custom types classes.
Peguen Apr 11, 2024
32dfc18
... also for Limitsize.
Peguen Apr 11, 2024
9395da5
Added config example.
Peguen Apr 11, 2024
482ae05
CGlobals initializing in global space.
Peguen Apr 11, 2024
284f873
Adapted config sample.
Peguen Apr 11, 2024
a18e9de
config_test.cpp const happiness for clangtidy.
Peguen Apr 11, 2024
8da505e
Added timesync_module_replay to config and removed eCALPar from timeg…
Peguen Apr 12, 2024
2e8b9d4
Made github-actions bot a bit happier.
Peguen Apr 12, 2024
e7a9642
IpAddressV4 operator= improvement.
Peguen Apr 15, 2024
ddbbc99
Removed some PG TODOS.
Peguen Apr 15, 2024
10a3835
Started with documentation adaptions for config.
Peguen Apr 16, 2024
d19e55e
Updated docu for config with types.
Peguen Apr 17, 2024
733d4c6
TODO comment.
Peguen Apr 17, 2024
a7072fc
Small update to config doc.
Peguen Apr 17, 2024
c946cc6
Small update to config example.
Peguen Apr 17, 2024
19512cf
Small update to config example._2
Peguen Apr 17, 2024
8df8937
Renamed LimitSize to ConstrainedInteger.
Peguen Apr 17, 2024
4e049db
Changed behaviour of custom types: throwing invalid_argument exceptio…
Peguen Apr 18, 2024
0667980
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen Apr 18, 2024
0511bed
Reverted Config Getters to previous integration.
Peguen Apr 18, 2024
da0a991
Added user_args to config file.
Peguen Apr 24, 2024
543949e
Refactored ecal Initialize with the config handling.
Peguen Apr 26, 2024
eb1a4ee
Throw exception for ecal registration options.
Peguen Apr 26, 2024
a362f26
Refactored ecal_registration_options.
Peguen Apr 26, 2024
521d70b
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen Apr 26, 2024
ba0a6c1
cmd parser: path sep renaming.
Peguen Apr 26, 2024
51308c0
Cmd parser: throw error message, when cmd line ini file was not found.
Peguen Apr 26, 2024
aca5d69
Changed ini handling for config file.
Peguen Apr 26, 2024
557637a
Updated docu for config and example.
Peguen Apr 26, 2024
d910ef2
give user the freedom to initialize with specified ini file.
Peguen Apr 26, 2024
676facf
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen May 13, 2024
5476f04
Some whitespaces.
Peguen May 15, 2024
1435ee8
Added RegistrationOptions test.
Peguen May 15, 2024
602212f
Changed ini file handling for cmd parser -> return complete path in e…
Peguen May 16, 2024
0dc7398
Added cmd parser ini test and death test.
Peguen May 16, 2024
e454368
Added cmd parser config key test + store config keys in map.
Peguen May 16, 2024
d72adbc
Removed generated ini file in test after usage.
Peguen May 16, 2024
82d8d11
Added config keys map to user cli arguments and provided the struct t…
Peguen May 16, 2024
b7e0bed
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen May 16, 2024
287c24f
Clean up code and make clangtidy happy.
Peguen May 17, 2024
e3bb375
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen May 17, 2024
ac9dbe9
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen May 17, 2024
fed863b
Refactored to current publisher options. TimeoutAcknowledge test not …
Peguen May 17, 2024
31b0c6e
Make clang tidy a bit more happy.
Peguen May 21, 2024
295f998
Enable shm for pubsub acknowledge test.
Peguen May 21, 2024
915a7f7
Included ecal_subscriber_config
Peguen May 21, 2024
a2aca3e
Renamend Configuration member.
Peguen May 21, 2024
cf2148c
Moved config to globalgalactic space. Implemented default config cons…
Peguen May 21, 2024
80ef2a0
Restructure eCAL Application Options and default init for publisher/s…
Peguen May 22, 2024
cafb419
Use custom types in publisher config.
Peguen May 22, 2024
25116ea
Restructered config file structure, config namespaces and and file na…
Peguen May 22, 2024
f7b8470
Added comments to config structs from ini file.
Peguen May 22, 2024
f6f3dd5
Some file renaming.
Peguen May 23, 2024
913fee0
Updated docu for config.
Peguen May 23, 2024
fd80bad
Changes for transportlayer config.
Peguen May 24, 2024
e126b12
Try taking .ini file in normal initializing, as it was before.
Peguen May 24, 2024
f876c26
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen May 24, 2024
25dd3e0
Added doc for publisher config.
Peguen May 24, 2024
7be0dd9
Defaulted publisher test again.
Peguen May 24, 2024
aa1d1ca
Removed unncessary constructor/destructor in custom config classes.
Peguen May 27, 2024
db16ff6
Some ecal_cmd_parser cleanup.
Peguen May 27, 2024
9613db0
Merge remote-tracking branch 'origin/master' into feature/user_config…
Peguen May 27, 2024
11044f1
Fix ecal_cmd_parser checkForValidConfigFilePath function.
Peguen May 28, 2024
a9a4a41
Fixed ecal_cmd_parser problem with path separator attachments.
Peguen May 29, 2024
6e4bd71
Added ecal.yml: first quick draft.
Peguen May 29, 2024
e0b2f64
Changes to eCAL yml.
Peguen Jun 4, 2024
034f7d5
Updated yaml-cpp to latest release 0.8.0
Peguen Jun 4, 2024
50f7c9c
Ecal yaml config update.
Peguen Jun 4, 2024
5114f10
Switch build of yaml-cpp by default to ON.
Peguen Jun 5, 2024
9b64a5f
Included decoding template definitions for yaml reader.
Peguen Jun 5, 2024
b0334ab
Impl Config to Yaml, yaml reading test, refactored files.
Peguen Jun 7, 2024
dfd2c58
Changed option in GH workflows for BUILD_YAML to ON.
Peguen Jun 7, 2024
65e5129
Changed order of node creation for same save order as in yml.
Peguen Jun 13, 2024
0bb5699
Merge remote-tracking branch 'origin/master' into feature/ini_to_yaml
Peguen Jun 17, 2024
dcd0ad8
Custom data type quality of life changes (operator overloads).
Peguen Jun 18, 2024
2aad078
Added MergeYamlNodes and basic test.
Peguen Jun 26, 2024
2d862e3
Added MergeYamlIntoConfiguration functionality + test.
Peguen Jun 26, 2024
1836f73
Added evalution for existence of dict keys in yaml decode.
Peguen Jul 9, 2024
dbb4e50
Added optional configuration objects - WIP.
Peguen Jul 10, 2024
5c689e5
Removed unused methods from ecal_config.h
Peguen Jul 11, 2024
fedf836
Removed unused member from transport_layer configuration.
Peguen Jul 12, 2024
609dcf2
Moved num_executor_reader/writer to publisher/subscriber config.
Peguen Jul 12, 2024
49e271c
Added new num_execs to API and uses subscriber options for previous i…
Peguen Jul 12, 2024
932f62d
Merge remote-tracking branch 'origin/master' into feature/ini_to_yaml
Peguen Jul 12, 2024
6f0daff
Revert "Added optional configuration objects - WIP."
Peguen Jul 12, 2024
9902f4b
Adaptions to yaml from config change through merge.
Peguen Jul 12, 2024
3f39b5e
Refactoring configuration yaml to network references.
Peguen Jul 15, 2024
e35d76c
Renamed udp/tcp configuration.
Peguen Jul 15, 2024
18cf874
Added comments to yaml.
Peguen Jul 15, 2024
448f15b
Light changes to ecal.yml.
Peguen Jul 15, 2024
fcc6c8a
Merge remote-tracking branch 'origin/master' into feature/config_cleanup
Peguen Jul 15, 2024
17ecb82
Merge remote-tracking branch 'origin/master' into feature/ini_to_yaml
Peguen Jul 15, 2024
71c9248
Merge branch 'feature/config_cleanup' into feature/ini_to_yaml
Peguen Jul 15, 2024
37f7981
Comments to yaml.
Peguen Jul 15, 2024
fd4a6c2
Refactoring configuration in yaml and code. WIP.
Peguen Jul 17, 2024
0f69f26
Refactoring configuration in yaml and code. WIP - testing.
Peguen Jul 17, 2024
098f40b
Refactoring configuration in yaml and code. Tests succesful.
Peguen Jul 22, 2024
44c97ea
Removed old ecal_config reader implementation.
Peguen Jul 22, 2024
bc5fffa
Removed check in registration settings.
Peguen Jul 22, 2024
81efcfe
Rearrange ecal_config_initializer.cpp a bit.
Peguen Jul 22, 2024
186f758
Removed ecal.ini.
Peguen Jul 22, 2024
5de1310
Merge remote-tracking branch 'origin/master' into feature/ini_to_yaml
Peguen Jul 22, 2024
ae616da
Added changes based on merge.
Peguen Jul 22, 2024
61458ed
Removed empty ecal_config_reader.cpp file.
Peguen Jul 22, 2024
e743c90
Changed GH workflow to use the yaml file instead of ini.
Peguen Jul 23, 2024
b18d24b
Change all occurrences from ecal.ini to ecal.yaml.
Peguen Jul 23, 2024
8e14655
Added missing linux includes in ecal_config_initializer.cpp
Peguen Jul 23, 2024
0ab4e42
Changed --ecal-ini-file to --ecal-config-file parameter.
Peguen Jul 23, 2024
8433ea5
Inserted 'layer' in publisher config for alignment with other structu…
Peguen Jul 23, 2024
fd75466
Introduced some constness to Configuration object.
Peguen Jul 23, 2024
c6433a1
Splitted header and source for configuration_to_yaml and configuratio…
Peguen Jul 23, 2024
f4896f7
UDP Configuration: Adding Receive/Sendbuffer inecal_udp_configurations.
Peguen Jul 23, 2024
b35caf0
Removed simpleini as core dependency.
Peguen Jul 24, 2024
9746e5d
Turned yaml-cpp on in missing gh workflows.
Peguen Jul 24, 2024
c379241
Code improvements through clang tidy comments.
Peguen Jul 25, 2024
e5b0cc4
Make clang tidy a bit more happy.
Peguen Jul 25, 2024
aeaf2ee
Merge remote-tracking branch 'origin/master' into feature/ini_to_yaml
Peguen Jul 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
CGlobals initializing in global space.
Peguen committed Apr 11, 2024
commit 482ae050358b3739f56ff638deed70c984790ec2
4 changes: 2 additions & 2 deletions ecal/core/src/ecal.cpp
Original file line number Diff line number Diff line change
@@ -105,7 +105,7 @@ namespace eCAL
// in case of first call
if (g_globals_ctx == nullptr)
{
g_globals_ctx = new CGlobals();
InitGlobals();
}

if (argc_ > 0 && argv_ != nullptr)
@@ -162,7 +162,7 @@ namespace eCAL
{
if (g_globals() == nullptr)
{
g_globals_ctx = new CGlobals();
InitGlobals();
}

g_globals()->SetEcalConfig(config_);
5 changes: 5 additions & 0 deletions ecal/core/src/ecal_global_accessors.cpp
Original file line number Diff line number Diff line change
@@ -47,6 +47,11 @@ namespace eCAL
eCAL_Process_eSeverity g_process_severity(eCAL_Process_eSeverity::proc_sev_unknown);
eCAL_Process_eSeverity_Level g_process_severity_level(eCAL_Process_eSeverity_Level::proc_sev_level1);

void InitGlobals()
{
g_globals_ctx = new CGlobals;
}

void SetGlobalUnitName(const char *unit_name_)
{
// There is a function already "SetUnitName" which sets the g_unit_name just as string.
1 change: 1 addition & 0 deletions ecal/core/src/ecal_global_accessors.h
Original file line number Diff line number Diff line change
@@ -65,6 +65,7 @@ namespace eCAL
#endif

void SetGlobalUnitName(const char *unit_name_);
void InitGlobals();

// Declaration of getter functions for globally accessible variable instances
CGlobals* g_globals();