blob: 8d07dde3bee9930bc777aa48fdf6e304583316f8 [file] [log] [blame]
// 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_INTERFACE_H__
#define CHROMEOS_PLATFORM_UPDATE_ENGINE_PREFS_INTERFACE_H__
#include <string>
namespace chromeos_update_engine {
extern const char kPrefsDeltaUpdateFailures[];
extern const char kPrefsLastActivePingDay[];
extern const char kPrefsLastRollCallPingDay[];
extern const char kPrefsManifestMetadataSize[];
extern const char kPrefsPreviousVersion[];
extern const char kPrefsResumedUpdateFailures[];
extern const char kPrefsUpdateCheckResponseHash[];
extern const char kPrefsUpdateStateNextDataOffset[];
extern const char kPrefsUpdateStateNextOperation[];
extern const char kPrefsUpdateStateSHA256Context[];
extern const char kPrefsUpdateStateSignedSHA256Context[];
// The prefs interface allows access to a persistent preferences
// store. The two reasons for providing this as an interface are
// testing as well as easier switching to a new implementation in the
// future, if necessary.
class PrefsInterface {
public:
// Gets a string |value| associated with |key|. Returns true on
// success, false on failure (including when the |key| is not
// present in the store).
virtual bool GetString(const std::string& key, std::string* value) = 0;
// Associates |key| with a string |value|. Returns true on success,
// false otherwise.
virtual bool SetString(const std::string& key, const std::string& value) = 0;
// Gets an int64 |value| associated with |key|. Returns true on
// success, false on failure (including when the |key| is not
// present in the store).
virtual bool GetInt64(const std::string& key, int64_t* value) = 0;
// Associates |key| with an int64 |value|. Returns true on success,
// false otherwise.
virtual bool SetInt64(const std::string& key, const int64_t value) = 0;
virtual ~PrefsInterface() {}
};
} // namespace chromeos_update_engine
#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_PREFS_INTERFACE_H__