mirror of
https://github.com/dragonpilot/dragonpilot.git
synced 2026-06-20 21:42:05 +08:00
params: support OPENPILOT_PREFIX (#24495)
* prefix params * set env * prefix in manager * filesystem except * dont delete manager folder * Update selfdrive/common/params.h Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> * debug same path * remove cleanup + same default * dont use filesystem lib * param symlink path * path * spelling Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com>
This commit is contained in:
@@ -60,9 +60,9 @@ bool create_params_path(const std::string ¶m_path, const std::string &key_pa
|
||||
return true;
|
||||
}
|
||||
|
||||
std::string ensure_params_path(const std::string &path = {}) {
|
||||
std::string ensure_params_path(const std::string &prefix, const std::string &path = {}) {
|
||||
std::string params_path = path.empty() ? Path::params() : path;
|
||||
if (!create_params_path(params_path, params_path + "/d")) {
|
||||
if (!create_params_path(params_path, params_path + prefix)) {
|
||||
throw std::runtime_error(util::string_format("Failed to ensure params path, errno=%d", errno));
|
||||
}
|
||||
return params_path;
|
||||
@@ -180,9 +180,12 @@ std::unordered_map<std::string, uint32_t> keys = {
|
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
Params::Params(const std::string &path) {
|
||||
static std::string default_param_path = ensure_params_path();
|
||||
params_path = path.empty() ? default_param_path : ensure_params_path(path);
|
||||
const char* env = std::getenv("OPENPILOT_PREFIX");
|
||||
prefix = env ? "/" + std::string(env) : "/d";
|
||||
std::string default_param_path = ensure_params_path(prefix);
|
||||
params_path = path.empty() ? default_param_path : ensure_params_path(prefix, path);
|
||||
}
|
||||
|
||||
bool Params::checkKey(const std::string &key) {
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
bool checkKey(const std::string &key);
|
||||
ParamKeyType getKeyType(const std::string &key);
|
||||
inline std::string getParamPath(const std::string &key = {}) {
|
||||
return key.empty() ? params_path + "/d" : params_path + "/d/" + key;
|
||||
return params_path + prefix + (key.empty() ? "" : "/" + key);
|
||||
}
|
||||
|
||||
// Delete a value
|
||||
@@ -43,4 +43,5 @@ public:
|
||||
|
||||
private:
|
||||
std::string params_path;
|
||||
std::string prefix;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user