Compare commits
2 Commits
3e4ffc8281
...
98dcc06a6a
Author | SHA1 | Date | |
---|---|---|---|
98dcc06a6a | |||
e0aacfe8aa |
@ -95,6 +95,25 @@ public:
|
|||||||
TerminalFirmwareVersion& operator= (const TerminalFirmwareVersion& src) = default;
|
TerminalFirmwareVersion& operator= (const TerminalFirmwareVersion& src) = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static std::ostream& operator<<(std::ostream& out, CP_Result result) {
|
||||||
|
switch (result) {
|
||||||
|
case OK: out << "OK"; break;
|
||||||
|
case TIMEOUT: out << "TIMEOUT"; break;
|
||||||
|
case ERROR: out << "ERROR"; break;
|
||||||
|
case ABORT: out << "ABORT"; break;
|
||||||
|
case BUSY: out << "BUSY"; break;
|
||||||
|
default:
|
||||||
|
out << static_cast<int>(result);
|
||||||
|
}
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void logCpApiError(const char* desc, CP_Result err) {
|
||||||
|
if (err != OK) {
|
||||||
|
BOOST_LOG_TRIVIAL(error) << "CP API error in " << desc << ": " << err;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Этот демон нужен для того, чтобы получать статистику из API, а так же корректно сохранять настройки
|
* Этот демон нужен для того, чтобы получать статистику из API, а так же корректно сохранять настройки
|
||||||
*/
|
*/
|
||||||
@ -109,13 +128,13 @@ private:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_GetModulatorState(sid, modulator);
|
logCpApiError("api_driver::TerminalApiDaemon::updateState()->CP_GetModulatorState()", CP_GetModulatorState(sid, modulator));
|
||||||
CP_GetDemodulatorState(sid, demodulator);
|
logCpApiError("api_driver::TerminalApiDaemon::updateState()->CP_GetDemodulatorState()", CP_GetDemodulatorState(sid, demodulator));
|
||||||
CP_GetDeviceState(sid, device);
|
logCpApiError("api_driver::TerminalApiDaemon::updateState()->CP_GetDeviceState()", CP_GetDeviceState(sid, device));
|
||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
bool isCinC = getIsCinC();
|
bool isCinC = getIsCinC();
|
||||||
if (isCinC) {
|
if (isCinC) {
|
||||||
CP_GetCinCState(sid, cinc);
|
logCpApiError("api_driver::TerminalApiDaemon::updateState()->CP_GetCinCState()", CP_GetCinCState(sid, cinc));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -142,13 +161,13 @@ private:
|
|||||||
buc_lnb_settings bucLnb{};
|
buc_lnb_settings bucLnb{};
|
||||||
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_GetModulatorSettings(sid, mod);
|
logCpApiError("api_driver::TerminalApiDaemon::updateSettings()->CP_GetModulatorSettings()", CP_GetModulatorSettings(sid, mod));
|
||||||
CP_GetDemodulatorSettings(sid, demod);
|
logCpApiError("api_driver::TerminalApiDaemon::updateSettings()->CP_GetDemodulatorSettings()", CP_GetDemodulatorSettings(sid, demod));
|
||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
CP_GetAcmParams(sid, &acm);
|
logCpApiError("api_driver::TerminalApiDaemon::updateSettings()->CP_GetAcmParams()", CP_GetAcmParams(sid, &acm));
|
||||||
CP_GetDpdiParams(sid, &dpdi);
|
logCpApiError("api_driver::TerminalApiDaemon::updateSettings()->CP_GetDpdiParams()", CP_GetDpdiParams(sid, &dpdi));
|
||||||
#endif
|
#endif
|
||||||
CP_GetBUC_LNB_settings(sid, bucLnb);
|
logCpApiError("api_driver::TerminalApiDaemon::updateSettings()->CP_GetBUC_LNB_settings()", CP_GetBUC_LNB_settings(sid, bucLnb));
|
||||||
|
|
||||||
{
|
{
|
||||||
std::lock_guard lock2(this->settingsMutex);
|
std::lock_guard lock2(this->settingsMutex);
|
||||||
@ -166,15 +185,15 @@ private:
|
|||||||
TerminalNetworkSettings s;
|
TerminalNetworkSettings s;
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_GetNetwork(sid, "addr", &tmp);
|
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &tmp));
|
||||||
s.managementIp = tmp + "/";
|
s.managementIp = tmp + "/";
|
||||||
tmp.clear(); CP_GetNetwork(sid, "mask", &tmp);
|
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
|
||||||
s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
||||||
tmp.clear(); CP_GetNetwork(sid, "gateway", &s.managementGateway); s.managementGateway = tmp;
|
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway)); s.managementGateway = tmp;
|
||||||
tmp.clear(); CP_GetNetwork(sid, "mode", &tmp);
|
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &tmp));
|
||||||
if (tmp == "tun") {
|
if (tmp == "tun") {
|
||||||
s.mode = "l3";
|
s.mode = "l3";
|
||||||
CP_GetNetwork(sid, "addr_data", &s.dataIp);
|
logCpApiError("api_driver::TerminalApiDaemon::updateNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
|
||||||
s.dataIp += "/24";
|
s.dataIp += "/24";
|
||||||
} else {
|
} else {
|
||||||
s.mode = "l2";
|
s.mode = "l2";
|
||||||
@ -191,7 +210,7 @@ private:
|
|||||||
void updateQos() {
|
void updateQos() {
|
||||||
bool tmp1; std::string tmp2;
|
bool tmp1; std::string tmp2;
|
||||||
std::scoped_lock lock{this->cpApiMutex};
|
std::scoped_lock lock{this->cpApiMutex};
|
||||||
CP_GetQoSSettings(this->sid, tmp2, tmp1);
|
logCpApiError("api_driver::TerminalApiDaemon::updateQos()->CP_GetQoSSettings()", CP_GetQoSSettings(this->sid, tmp2, tmp1));
|
||||||
{
|
{
|
||||||
std::lock_guard lock2(this->qosSettingsMutex);
|
std::lock_guard lock2(this->qosSettingsMutex);
|
||||||
this->qosEnabled = tmp1;
|
this->qosEnabled = tmp1;
|
||||||
@ -205,8 +224,9 @@ private:
|
|||||||
TSID sid{};
|
TSID sid{};
|
||||||
unsigned int access{};
|
unsigned int access{};
|
||||||
for (int connectAttempt = 0;; connectAttempt++) {
|
for (int connectAttempt = 0;; connectAttempt++) {
|
||||||
BOOST_LOG_TRIVIAL(info) << "api_driver::ApiDriver::startDaemon(): Try to connect api (attempt " << connectAttempt << ")...";
|
BOOST_LOG_TRIVIAL(info) << "api_driver::TerminalApiDaemon::run(): Try to connect api (attempt " << connectAttempt << ")...";
|
||||||
auto res = CP_Login("admin", "pass", &sid, &access);
|
auto res = CP_Login("admin", "pass", &sid, &access);
|
||||||
|
logCpApiError(R"(api_driver::TerminalApiDaemon::run()->CP_Login("admin", "pass"))", res);
|
||||||
if (res != OK) {
|
if (res != OK) {
|
||||||
boost::this_thread::sleep_for(boost::chrono::duration(boost::chrono::milliseconds(1000)));
|
boost::this_thread::sleep_for(boost::chrono::duration(boost::chrono::milliseconds(1000)));
|
||||||
} else {
|
} else {
|
||||||
@ -215,20 +235,20 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
CP_GetDmaDebug(sid, "status_init", &tmp);
|
logCpApiError("api_driver::TerminalApiDaemon::updateState()->CP_GetDmaDebug(status_init)", CP_GetDmaDebug(sid, "status_init", &tmp));
|
||||||
{
|
{
|
||||||
std::lock_guard _lock(this->stateMutex);
|
std::lock_guard _lock(this->stateMutex);
|
||||||
this->deviceInitState = tmp;
|
this->deviceInitState = tmp;
|
||||||
}
|
}
|
||||||
BOOST_LOG_TRIVIAL(info) << "api_driver::ApiDriver::startDaemon(): Success connect!";
|
BOOST_LOG_TRIVIAL(info) << "api_driver::TerminalApiDaemon::run(): Success connect!";
|
||||||
BOOST_LOG_TRIVIAL(info) << "api_driver::ApiDriver::startDaemon(): API status: " << tmp;
|
BOOST_LOG_TRIVIAL(info) << "api_driver::TerminalApiDaemon::run(): API status: " << tmp;
|
||||||
|
|
||||||
CP_GetNetwork(sid, "version", &firmware.version);
|
logCpApiError("api_driver::TerminalApiDaemon::run()->CP_GetNetwork(version)", CP_GetNetwork(sid, "version", &firmware.version));
|
||||||
CP_GetNetwork(sid, "chip_id", &firmware.modemId);
|
logCpApiError("api_driver::TerminalApiDaemon::run()->CP_GetNetwork(chip_id)", CP_GetNetwork(sid, "chip_id", &firmware.modemId));
|
||||||
rtrim(firmware.modemId);
|
rtrim(firmware.modemId);
|
||||||
CP_GetNetwork(sid, "serial", &firmware.modemSn);
|
logCpApiError("api_driver::TerminalApiDaemon::run()->CP_GetNetwork(serial)", CP_GetNetwork(sid, "serial", &firmware.modemSn));
|
||||||
CP_GetNetwork(sid, "mac_eth0", &firmware.macMang);
|
logCpApiError("api_driver::TerminalApiDaemon::run()->CP_GetNetwork(mac_eth0)", CP_GetNetwork(sid, "mac_eth0", &firmware.macMang));
|
||||||
CP_GetNetwork(sid, "mac_eth1", &firmware.macData);
|
logCpApiError("api_driver::TerminalApiDaemon::run()->CP_GetNetwork(mac_eth1)", CP_GetNetwork(sid, "mac_eth1", &firmware.macData));
|
||||||
}
|
}
|
||||||
|
|
||||||
struct IntervalUpdate_t {
|
struct IntervalUpdate_t {
|
||||||
@ -430,14 +450,14 @@ public:
|
|||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, ACM_parameters_serv_& acm, bool readback = true) {
|
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, ACM_parameters_serv_& acm, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetModulatorSettings(this->sid, mod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetModulatorSettings()", CP_SetModulatorSettings(this->sid, mod));
|
||||||
CP_SetDemodulatorSettings(this->sid, demod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDemodulatorSettings()", CP_SetDemodulatorSettings(this->sid, demod));
|
||||||
CP_SetAcmParams(this->sid, acm);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetAcmParams()", CP_SetAcmParams(this->sid, acm));
|
||||||
if (readback) {
|
if (readback) {
|
||||||
CP_GetModulatorSettings(this->sid, mod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetModulatorSettings()", CP_GetModulatorSettings(this->sid, mod));
|
||||||
CP_GetDemodulatorSettings(this->sid, demod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetDemodulatorSettings()", CP_GetDemodulatorSettings(this->sid, demod));
|
||||||
CP_GetAcmParams(this->sid, &acm);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetAcmParams()", CP_GetAcmParams(this->sid, &acm));
|
||||||
{
|
{
|
||||||
std::lock_guard lock2{this->settingsMutex};
|
std::lock_guard lock2{this->settingsMutex};
|
||||||
this->modSettings = mod;
|
this->modSettings = mod;
|
||||||
@ -445,71 +465,71 @@ public:
|
|||||||
this->acmSettings = acm;
|
this->acmSettings = acm;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, bool readback = true) {
|
void setSettingsRxTx(modulator_settings& mod, demodulator_settings& demod, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetModulatorSettings(this->sid, mod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetModulatorSettings()", CP_SetModulatorSettings(this->sid, mod));
|
||||||
CP_SetDemodulatorSettings(this->sid, demod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDemodulatorSettings()", CP_SetDemodulatorSettings(this->sid, demod));
|
||||||
if (readback) {
|
if (readback) {
|
||||||
CP_GetModulatorSettings(this->sid, mod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetModulatorSettings()", CP_GetModulatorSettings(this->sid, mod));
|
||||||
CP_GetDemodulatorSettings(this->sid, demod);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_GetDemodulatorSettings()", CP_GetDemodulatorSettings(this->sid, demod));
|
||||||
{
|
{
|
||||||
std::lock_guard lock2{this->settingsMutex};
|
std::lock_guard lock2{this->settingsMutex};
|
||||||
this->modSettings = mod;
|
this->modSettings = mod;
|
||||||
this->demodSettings = demod;
|
this->demodSettings = demod;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsRxTx()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MODEM_IS_SCPC
|
#ifdef MODEM_IS_SCPC
|
||||||
void setSettingsCinc(DPDI_parmeters& s, bool readback = true) {
|
void setSettingsCinc(DPDI_parmeters& s, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetDpdiParams(sid, s);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_SetDpdiParams()", CP_SetDpdiParams(sid, s)));
|
||||||
if (readback) {
|
if (readback) {
|
||||||
CP_GetDpdiParams(this->sid, &s);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_GetDpdiParams()", CP_GetDpdiParams(this->sid, &s));
|
||||||
{
|
{
|
||||||
std::lock_guard lock2{this->settingsMutex};
|
std::lock_guard lock2{this->settingsMutex};
|
||||||
this->dpdiSettings = s;
|
this->dpdiSettings = s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsCinc()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void setSettingsBucLnb(buc_lnb_settings& bucLnb, bool readback = true) {
|
void setSettingsBucLnb(buc_lnb_settings& bucLnb, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetBUC_LNB_settings(this->sid, bucLnb);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_SetBUC_LNB_settings()", CP_SetBUC_LNB_settings(this->sid, bucLnb));
|
||||||
if (readback) {
|
if (readback) {
|
||||||
CP_GetBUC_LNB_settings(this->sid, bucLnb);
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_GetBUC_LNB_settings()", CP_GetBUC_LNB_settings(this->sid, bucLnb));
|
||||||
{
|
{
|
||||||
std::lock_guard lock2{this->settingsMutex};
|
std::lock_guard lock2{this->settingsMutex};
|
||||||
this->bucLnbSettings = bucLnb;
|
this->bucLnbSettings = bucLnb;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setSettingsBucLnb()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
void setQosSettings(bool enabled, const std::string& str, bool readback = true) {
|
void setQosSettings(bool enabled, const std::string& str, bool readback = true) {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_SetDmaDebug()", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetQoSSettings(this->sid, str, enabled);
|
logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_SetQoSSettings()", CP_SetQoSSettings(this->sid, str, enabled));
|
||||||
if (readback) {
|
if (readback) {
|
||||||
bool tmp1; std::string tmp2;
|
bool tmp1; std::string tmp2;
|
||||||
CP_GetQoSSettings(this->sid, tmp2, tmp1);
|
logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_GetQoSSettings()", CP_GetQoSSettings(this->sid, tmp2, tmp1));
|
||||||
{
|
{
|
||||||
std::lock_guard lock2(this->qosSettingsMutex);
|
std::lock_guard lock2(this->qosSettingsMutex);
|
||||||
this->qosEnabled = tmp1;
|
this->qosEnabled = tmp1;
|
||||||
this->qosClassesJson = tmp2.empty() ? DEFAULT_QOS_CLASSES : tmp2;
|
this->qosClassesJson = tmp2.empty() ? DEFAULT_QOS_CLASSES : tmp2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setQosSettings()->CP_SetDmaDebug()", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) {
|
void setNetworkSettings(TerminalNetworkSettings& s, bool readback = true) {
|
||||||
@ -521,13 +541,13 @@ public:
|
|||||||
else { throw std::runtime_error("invalid mode"); }
|
else { throw std::runtime_error("invalid mode"); }
|
||||||
|
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetNetwork(sid, "mode", isL2 ? "tap" : "tun");
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mode)", CP_SetNetwork(sid, "mode", isL2 ? "tap" : "tun"));
|
||||||
CP_SetNetwork(sid, "addr", mang.first.c_str());
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(addr)", CP_SetNetwork(sid, "addr", mang.first.c_str()));
|
||||||
CP_SetNetwork(sid, "mask", mang.second.c_str());
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(mask)", CP_SetNetwork(sid, "mask", mang.second.c_str()));
|
||||||
CP_SetNetwork(sid, "gateway", s.managementGateway.c_str());
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(gateway)", CP_SetNetwork(sid, "gateway", s.managementGateway.c_str()));
|
||||||
if (!isL2) {
|
if (!isL2) {
|
||||||
CP_SetNetwork(sid, "data_addr", data.first.c_str());
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetNetwork(data_addr)", CP_SetNetwork(sid, "data_addr", data.first.c_str()));
|
||||||
// TODO маска не устанавливается, потому что в API этого нет
|
// TODO маска не устанавливается, потому что в API этого нет
|
||||||
}
|
}
|
||||||
// TODO MTU не устанавливается, потому что в API этого нет
|
// TODO MTU не устанавливается, потому что в API этого нет
|
||||||
@ -536,15 +556,15 @@ public:
|
|||||||
std::string tmp;
|
std::string tmp;
|
||||||
s.loadDefaults();
|
s.loadDefaults();
|
||||||
s.managementIp.clear();
|
s.managementIp.clear();
|
||||||
CP_GetNetwork(sid, "addr", &s.managementIp);
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr)", CP_GetNetwork(sid, "addr", &s.managementIp));
|
||||||
CP_GetNetwork(sid, "mask", &tmp);
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mask)", CP_GetNetwork(sid, "mask", &tmp));
|
||||||
s.managementIp += "/";
|
s.managementIp += "/";
|
||||||
s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
s.managementIp += std::to_string(calculateSubnetMask(tmp));
|
||||||
CP_GetNetwork(sid, "gateway", &s.managementGateway);
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(gateway)", CP_GetNetwork(sid, "gateway", &s.managementGateway));
|
||||||
tmp.clear(); CP_GetNetwork(sid, "mode", &tmp);
|
tmp.clear(); logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(mode)", CP_GetNetwork(sid, "mode", &tmp));
|
||||||
if (tmp == "tun") {
|
if (tmp == "tun") {
|
||||||
s.mode = "l3";
|
s.mode = "l3";
|
||||||
CP_GetNetwork(sid, "addr_data", &s.dataIp);
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_GetNetwork(addr_data)", CP_GetNetwork(sid, "addr_data", &s.dataIp));
|
||||||
} else {
|
} else {
|
||||||
s.mode = "l2";
|
s.mode = "l2";
|
||||||
s.dataIp = "0.0.0.0/24";
|
s.dataIp = "0.0.0.0/24";
|
||||||
@ -555,20 +575,20 @@ public:
|
|||||||
this->networkSettings = s;
|
this->networkSettings = s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
CP_SetDmaDebug(sid, "save_config", "");
|
logCpApiError("api_driver::TerminalApiDaemon::setNetworkSettings()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetPacketStatistics() {
|
void resetPacketStatistics() {
|
||||||
std::string tmp;
|
std::string tmp;
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp);
|
logCpApiError("api_driver::TerminalApiDaemon::resetPacketStatistics()->CP_GetDmaDebug(reset_cnt_rx)", CP_GetDmaDebug(sid, "reset_cnt_rx", &tmp));
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetDefaultSettings() {
|
void resetDefaultSettings() {
|
||||||
std::lock_guard lock(this->cpApiMutex);
|
std::lock_guard lock(this->cpApiMutex);
|
||||||
CP_SetDmaDebug(sid, "begin_save_config", " ");
|
logCpApiError("api_driver::TerminalApiDaemon::resetDefaultSettings()->CP_SetDmaDebug(begin_save_config)", CP_SetDmaDebug(sid, "begin_save_config", ""));
|
||||||
CP_SetDmaDebug(sid, "default_params", "");
|
logCpApiError("api_driver::TerminalApiDaemon::resetDefaultSettings()->CP_SetDmaDebug(default_params)", CP_SetDmaDebug(sid, "default_params", ""));
|
||||||
CP_SetDmaDebug(sid, "save_config", " ");
|
logCpApiError("api_driver::TerminalApiDaemon::resetDefaultSettings()->CP_SetDmaDebug(save_config)", CP_SetDmaDebug(sid, "save_config", ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
~TerminalApiDaemon() {
|
~TerminalApiDaemon() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user