#pragma once

#include <softbus_registry/PointTableEntry.h>

#include <optional>
#include <string>
#include <unordered_map>

namespace softbus::edge {

class ShadowChannelStore {
public:
    bool write(const softbus::registry::PointTableEntry& entry, double engineeringValue);
    std::optional<double> read(const std::string& physicalChannel) const;
    int rawRegisterValue(const softbus::registry::PointTableEntry& entry, double engineeringValue) const;

private:
    std::unordered_map<std::string, double> channels_;
};

} // namespace softbus::edge
