void ApplicationSettings::readObject(const ContainerNode &node) throw(Error) { _Motion_Calibration_Min = node.readInt("_Motion_Calibration_Min"); _Motion_Calibration_Max = node.readInt("_Motion_Calibration_Max"); _Motion_Calibration_Threshold = node.readInt("_Motion_Calibration_Threshold"); _Motion_Calibration_Timeout = node.readInt("_Motion_Calibration_Timeout"); _Motion_Calibration_CalibrationOffset = node.readInt("_Motion_Calibration_CalibrationOffset"); _Motion_Port_CLK = node.readInt("_Motion_Port_CLK"); _Motion_Port_DOut = node.readInt("_Motion_Port_DOut"); _Motion_Port_DIn = node.readInt("_Motion_Port_DIn"); _Motion_Port_CS = node.readInt("_Motion_Port_CS"); _Servo_Port_A = node.readInt("_Servo_Port_A"); _Servo_Port_B = node.readInt("_Servo_Port_B"); node.readObject(_Servo_Calibration_A); node.readObject(_Servo_Calibration_B); _Speak_LogOutput = node.readInt("_Speak_LogOutput"); _Speak_ErrorFilename = node.readString("_Speak_ErrorFilename"); _Speak_LogFilename = node.readString("_Speak_LogFilename"); _Speak_ModelDir = node.readString("_Speak_ModelDir"); _Speak_Language = node.readInt("_Speak_Language"); _Speak_Dictionary = node.readString("_Speak_Dictionary"); _Speak_AudioModel = node.readString("_Speak_AudioModel"); _Speak_SampelRate = node.readInt("_Speak_SampelRate"); _Speak_BestPath = node.readInt("_Speak_BestPath"); try { _SIP_Config_Codec_Type = node.readInt("_SIP_Config_Codec_Type"); } catch (Error &error) { _SIP_Config_Codec_Type = 2; Changes = true; } try { _SIP_Config_Ringtone = node.readInt("_SIP_Config_Ringtone"); } catch (Error &error) { _SIP_Config_Ringtone = 1; Changes = true; } try { _SIP_Config_Ringtone_File = node.readString("_SIP_Config_Ringtone_File"); } catch (Error &error) { _SIP_Config_Ringtone_File = "duckhunt.wav"; Changes = true; } try { _SIP_Config_Receiver = node.readString("_SIP_Config_Receiver"); } catch (Error &error) { _SIP_Config_Receiver = "2000 <sip:[email protected]>"; Changes = true; } node.readObject(_SIP_Config_Endpoint); node.readObject(_SIP_Config_Transport); node.readObject(_SIP_Config_Account); }