bool Settings::RestoreValues(const BMessage& message) { AutoLocker<BLocker> locker(fLock); for (int32 i = 0; i < fDescription->CountSettings(); i++) { Setting* setting = fDescription->SettingAt(i); BVariant value; if (value.SetFromMessage(message, setting->ID()) == B_OK) { if (!SetValue(setting, value)) return false; } } return true; }