// the DoReadXXX() for the other types have implementation in the base class // but can be overridden in the derived ones bool wxConfigBase::DoReadInt(const wxString& key, int *pi) const { wxCHECK_MSG( pi, false, _T("wxConfig::Read(): NULL parameter") ); long l; if ( !DoReadLong(key, &l) ) return false; wxASSERT_MSG( l < INT_MAX, _T("overflow in wxConfig::DoReadInt") ); *pi = (int)l; return true; }
// the DoReadXXX() for the other types have implementation in the base class // but can be overridden in the derived ones bool wxConfigBase::DoReadBool(const wxString& key, bool* val) const { wxCHECK_MSG( val, false, wxT("wxConfig::Read(): NULL parameter") ); long l; if ( !DoReadLong(key, &l) ) return false; wxASSERT_MSG( l == 0 || l == 1, wxT("bad bool value in wxConfig::DoReadInt") ); *val = l != 0; return true; }
// the DoReadXXX() for the other types have implementation in the base class // but can be overridden in the derived ones bool wxConfigBase::DoReadBool(const wxString& key, bool* val) const { wxCHECK_MSG( val, false, wxT("wxConfig::Read(): NULL parameter") ); long l; if ( !DoReadLong(key, &l) ) return false; if ( l != 0 && l != 1 ) { // Don't assert here as this could happen in the result of user editing // the file directly and this not indicate a bug in the program but // still complain that something is wrong. wxLogWarning(_("Invalid value %ld for a boolean key \"%s\" in " "config file."), l, key); } *val = l != 0; return true; }