Skip to content
GitLab
Explore
Sign in
BIAS
Configurators
CL Configurator
Compare revisions
040a6736589b17033f28c9ad2f71879c1fcc7453 to df7394ab8eaf822828b8ea4ada4273a3a8fe0978
Commits on Source (4)
adding doxygen
· d9a305dc
Valerio Pastore
authored
Jan 11, 2024
d9a305dc
.
· 588230ea
Valerio Pastore
authored
Jan 11, 2024
588230ea
.
· 4ab1353f
Valerio Pastore
authored
Jan 12, 2024
4ab1353f
Merge branch 'dev' into 'main'
· df7394ab
Valerio Pastore
authored
Jan 14, 2024
Dev See merge request
!1
df7394ab
Hide whitespace changes
Inline
Side-by-side
Base-DAQ
@
a00f9a27
Compare
8a0ea2d0
...
a00f9a27
Subproject commit
8
a0
ea2d0e699863df5fe1c91caf2d7b0855957be
Subproject commit a0
0f9a27afbf5f75dab7db2368b9b9b6fcb395e1
include/CL_Conf.h
View file @
df7394ab
...
...
@@ -4,21 +4,36 @@
namespace
inaf
::
oasbo
::
Configurators
{
/**
* @brief The CLConfigurator class is a concrete implementation of the BaseConfigurator class.
* It provides functionality to read and push configurations from/to a source using command line arguments (--param1 --param2 and so on).
* Check the Base_Configurator.h file for more information.
*/
class
CLConfigurator
:
public
BaseConfigurator
{
protected:
int
argc
;
char
**
argv
;
int
argc
;
/**< The number of command line arguments. */
char
**
argv
;
/**< The array of command line arguments. */
public:
CLConfigurator
(
int
argc
,
char
**
argv
);
/**
* @brief Constructs a CLConfigurator object with the specified command line arguments.
* @param argc The number of command line arguments.
* @param argv The array of command line arguments.
*/
CLConfigurator
(
int
argc
,
char
**
argv
);
int
readConfigFromSource
()
override
;
int
readConfigFromSource
(
std
::
string
target
)
override
;
int
pushConfigToSource
()
override
;
int
pushConfigToSource
(
std
::
string
target
)
override
;
int
insert
(
std
::
map
<
std
::
string
,
std
::
string
>
,
std
::
string
target
)
override
;
~
CLConfigurator
()
{
}
~
CLConfigurator
()
{
}
};
}
src/CL_Conf.cpp
View file @
df7394ab
...
...
@@ -17,27 +17,28 @@ int CLConfigurator::pushConfigToSource() {
}
int
CLConfigurator
::
readConfigFromSource
(
std
::
string
target
)
{
for
(
int
i
=
1
;
i
<
argc
-
1
;
++
i
)
{
for
(
int
i
=
1
;
i
<
argc
-
1
;
++
i
)
{
std
::
string
arg
=
argv
[
i
];
boost
::
to_lower
(
arg
);
size_t
posTarget
=
arg
.
find
(
"--"
+
target
);
size_t
posTarget
=
arg
.
find
(
"--"
+
target
);
size_t
posSeparator
=
arg
.
find
(
'_'
);
if
(
posTarget
==
0
&&
posSeparator
==
std
::
string
(
"--"
+
target
).
size
())
{
if
(
posTarget
==
0
&&
posSeparator
==
std
::
string
(
"--"
+
target
).
size
())
{
std
::
string
key
=
arg
.
substr
(
2
);
this
->
config
[
key
]
=
argv
[
i
+
1
];
this
->
config
[
key
]
=
argv
[
i
+
1
];
}
}
return
1
;
}
int
CLConfigurator
::
readConfigFromSource
()
{
for
(
int
i
=
1
;
i
<
argc
-
1
;
++
i
)
{
for
(
int
i
=
1
;
i
<
argc
-
1
;
++
i
)
{
std
::
string
arg
=
argv
[
i
];
size_t
posDash
=
arg
.
find
(
"--"
);
size_t
posSeparator
=
arg
.
find
(
'_'
);
if
(
posDash
==
0
&&
posSeparator
!=
std
::
string
::
npos
)
{
std
::
string
key
=
arg
.
substr
(
2
);
this
->
config
[
key
]
=
argv
[
i
+
1
];
this
->
config
[
key
]
=
argv
[
i
+
1
];
}
}
return
1
;
...
...