1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-05 15:34:57 -04:00

RigCrl Server feature: Make settings assignments atomic. Part of #1329

This commit is contained in:
f4exb
2022-11-27 13:36:48 +01:00
parent ecdc464869
commit 541b8449fd
8 changed files with 163 additions and 82 deletions
@@ -39,20 +39,23 @@ public:
public:
const RigCtlServerSettings& getSettings() const { return m_settings; }
const QList<QString>& getSettingsKeys() const { return m_settingsKeys; }
bool getForce() const { return m_force; }
static MsgConfigureRigCtlServerWorker* create(const RigCtlServerSettings& settings, bool force)
static MsgConfigureRigCtlServerWorker* create(const RigCtlServerSettings& settings, const QList<QString>& settingsKeys, bool force)
{
return new MsgConfigureRigCtlServerWorker(settings, force);
return new MsgConfigureRigCtlServerWorker(settings, settingsKeys, force);
}
private:
RigCtlServerSettings m_settings;
QList<QString> m_settingsKeys;
bool m_force;
MsgConfigureRigCtlServerWorker(const RigCtlServerSettings& settings, bool force) :
MsgConfigureRigCtlServerWorker(const RigCtlServerSettings& settings, const QList<QString>& settingsKeys, bool force) :
Message(),
m_settings(settings),
m_settingsKeys(settingsKeys),
m_force(force)
{ }
};
@@ -125,7 +128,7 @@ private:
static const ModeDemod m_modeMap[];
bool handleMessage(const Message& cmd);
void applySettings(const RigCtlServerSettings& settings, bool force = false);
void applySettings(const RigCtlServerSettings& settings, const QList<QString>& settingsKeys, bool force = false);
void restartServer(bool enabled, uint32_t port);
bool setFrequency(double frequency, rig_errcode_e& rigCtlRC);
bool getFrequency(double& frequency, rig_errcode_e& rigCtlRC);