Persist modem settings on new instances

This commit is contained in:
Charles J. Cliffe
2015-11-26 01:54:54 -05:00
parent 1fb5dc4236
commit 4fa0cb7c67
13 changed files with 185 additions and 48 deletions
+19 -4
View File
@@ -28,6 +28,14 @@ ModemArgInfo::ModemArgInfo(void) {
}
Modem::Modem() {
}
Modem::~Modem() {
}
void Modem::addModemFactory(Modem *factorySingle) {
modemFactories[factorySingle->getName()] = factorySingle;
}
@@ -58,12 +66,19 @@ std::string Modem::readSetting(std::string setting) {
return "";
}
Modem::Modem() {
void Modem::writeSettings(ModemSettings settings) {
for (ModemSettings::const_iterator i = settings.begin(); i != settings.end(); i++) {
writeSetting(i->first, i->second);
}
}
Modem::~Modem() {
ModemSettings Modem::readSettings() {
ModemArgInfoList args = getSettings();
ModemSettings rs;
for (ModemArgInfoList::const_iterator i = args.begin(); i != args.end(); i++) {
rs[i->key] = readSetting(i->key);
}
return rs;
}
bool Modem::shouldRebuildKit() {
+4
View File
@@ -105,6 +105,8 @@ typedef std::vector<ModemArgInfo> ModemArgInfoList;
class Modem;
typedef std::map<std::string,Modem *> ModemFactoryList;
typedef std::map<std::string, std::string> ModemSettings;
class Modem {
public:
static void addModemFactory(Modem *factorySingle);
@@ -122,7 +124,9 @@ public:
virtual ModemArgInfoList getSettings();
virtual void writeSetting(std::string setting, std::string value);
virtual void writeSettings(ModemSettings settings);
virtual std::string readSetting(std::string setting);
virtual ModemSettings readSettings();
virtual int checkSampleRate(long long sampleRate, int audioSampleRate) = 0;