фикс ошибок: пустая строка qos.class.filters.proto в запросе, не применяющиеся настройки сети, нет шага у "ACM*" и "*ослабление"

This commit is contained in:
Vladislav Ostapov 2024-11-15 10:13:21 +03:00
parent cc354b73e3
commit 87725ad20a
3 changed files with 21 additions and 6 deletions

View File

@ -95,8 +95,12 @@ class ServerResources {
}
}
static void doTerminalUpgrade() {
system(UPGRADE_COMMAND);
void doTerminalUpgrade() const {
api->executeInApi([](TSID sid) {
CP_SetDmaDebug(sid, "begin_save_config", "");
system(UPGRADE_COMMAND);
CP_SetDmaDebug(sid, "save_config", "");
});
}
public:

View File

@ -100,8 +100,6 @@ public:
*/
class api_driver::TerminalApiDaemon {
private:
TSID sid;
boost::thread daemon;
void updateFirmwareSettings() {
std::string version, chip_id, sn, mac0, mac1;
@ -286,8 +284,6 @@ private:
}
}
std::mutex cpApiMutex;
std::shared_mutex firmwareMutex;
TerminalFirmwareVersion firmware;
@ -311,6 +307,10 @@ private:
std::string qosClassesJson;
public:
std::mutex cpApiMutex;
TSID sid;
boost::thread daemon;
explicit TerminalApiDaemon(TSID sid): sid(sid), daemon([this]() { this->run(); }), qosEnabled(false) {
this->qosClassesJson = DEFAULT_QOS_CLASSES;
}
@ -892,6 +892,15 @@ void api_driver::ApiDriver::resetDefaultSettings() {
daemon->resetDefaultSettings();
}
void api_driver::ApiDriver::executeInApi(const std::function<void(TSID sid)>& callback) {
try {
std::lock_guard lock(this->daemon->cpApiMutex);
callback(this->daemon->sid);
} catch (std::exception& e) {
BOOST_LOG_TRIVIAL(error) << "ApiDriver::executeInApi(): failed to exec with error: " << e.what();
}
}
bool api_driver::ApiDriver::getIsCinC() const {
modulator_settings s{};
daemon->getSettings(&s, nullptr, nullptr, nullptr, nullptr);

View File

@ -67,6 +67,8 @@ namespace api_driver {
void resetDefaultSettings();
void executeInApi(const std::function<void(TSID sid)>& callback);
~ApiDriver();
private: