| Index: prefs.h | 
| diff --git a/prefs.h b/prefs.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..5926d9758ca21bcd122b5060fc408b0ed5ea5a3d | 
| --- /dev/null | 
| +++ b/prefs.h | 
| @@ -0,0 +1,46 @@ | 
| +// Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 
| +// Use of this source code is governed by a BSD-style license that can be | 
| +// found in the LICENSE file. | 
| + | 
| +#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_PREFS_H__ | 
| +#define CHROMEOS_PLATFORM_UPDATE_ENGINE_PREFS_H__ | 
| + | 
| +#include "base/file_path.h" | 
| +#include "gtest/gtest_prod.h"  // for FRIEND_TEST | 
| +#include "update_engine/prefs_interface.h" | 
| + | 
| +namespace chromeos_update_engine { | 
| + | 
| +// Implements a preference store by storing the value associated with | 
| +// a key in a separate file named after the key under a preference | 
| +// store directory. | 
| + | 
| +class Prefs : public PrefsInterface { | 
| + public: | 
| +  // Initializes the store by associating this object with |prefs_dir| | 
| +  // as the preference store directory. Returns true on success, false | 
| +  // otherwise. | 
| +  bool Init(const FilePath& prefs_dir); | 
| + | 
| +  // PrefsInterface methods. | 
| +  bool GetString(const std::string& key, std::string* value); | 
| +  bool SetString(const std::string& key, const std::string& value); | 
| +  bool GetInt64(const std::string& key, int64_t* value); | 
| +  bool SetInt64(const std::string& key, const int64_t value); | 
| + | 
| + private: | 
| +  FRIEND_TEST(PrefsTest, GetFileNameForKey); | 
| +  FRIEND_TEST(PrefsTest, GetFileNameForKeyBadCharacter); | 
| +  FRIEND_TEST(PrefsTest, GetFileNameForKeyEmpty); | 
| + | 
| +  // Sets |filename| to the full path to the file containing the data | 
| +  // associated with |key|. Returns true on success, false otherwise. | 
| +  bool GetFileNameForKey(const std::string& key, FilePath* filename); | 
| + | 
| +  // Preference store directory. | 
| +  FilePath prefs_dir_; | 
| +}; | 
| + | 
| +}  // namespace chromeos_update_engine | 
| + | 
| +#endif  // CHROMEOS_PLATFORM_UPDATE_ENGINE_PREFS_H__ | 
|  |