blob: 59b04f4ef65f661d27cd35c13a820b36e7339580 [file] [log] [blame]
// Copyright 2021 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 RMAD_UTILS_CROSSYSTEM_UTILS_H_
#define RMAD_UTILS_CROSSYSTEM_UTILS_H_
#include <string>
namespace rmad {
class CrosSystemUtils {
public:
CrosSystemUtils() = default;
virtual ~CrosSystemUtils() = default;
// Set a (key, value) pair with int value to crossystem. Return true if
// successfully set the pair, false if fail to set the pair.
virtual bool SetInt(const std::string& key, int value) = 0;
// Get the int value associated with the key `key` in crossystem, and store it
// to `value`. If the key is not found, `value` is not modified by the
// function. Return true if successfully get the value, false if fail to get
// the value.
virtual bool GetInt(const std::string& key, int* value) const = 0;
// Set a (key, value) pair with string value to crossystem. Return true if
// successfully set the pair, false if fail to set the pair.
virtual bool SetString(const std::string& key, const std::string& value) = 0;
// Get the string value associated with the key `key` in crossystem, and store
// it to `value`. If the key is not found, `value` is not modified by the
// function. Return true if successfully get the value, false if fail to get
// the value.
virtual bool GetString(const std::string& key, std::string* value) const = 0;
// Get the HWWP status. Return 0 if HWWP is off, 1 if HWWP is on, -1 if fail
// to get the status.
int GetHwwpStatus() const;
};
} // namespace rmad
#endif // RMAD_UTILS_CROSSYSTEM_UTILS_H_