blob: 0cc9d87ece4fdb5febccb6928032a5d64d5b3219 [file] [log] [blame]
// Copyright 2017 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 MODEMFWD_MODEM_HELPER_H_
#define MODEMFWD_MODEM_HELPER_H_
#include <memory>
#include <string>
#include <vector>
#include <base/files/file_path.h>
namespace modemfwd {
struct CarrierFirmwareInfo {
CarrierFirmwareInfo() = default;
CarrierFirmwareInfo(const std::string& carrier_name,
const std::string& version)
: carrier_name(carrier_name), version(version) {}
std::string carrier_name;
std::string version;
};
class ModemHelper {
public:
virtual ~ModemHelper() = default;
virtual bool FlashMainFirmware(const base::FilePath& path_to_fw) = 0;
virtual bool GetCarrierFirmwareInfo(CarrierFirmwareInfo* out_info) = 0;
virtual bool FlashCarrierFirmware(const base::FilePath& path_to_fw) = 0;
};
std::unique_ptr<ModemHelper> CreateModemHelper(
const base::FilePath& helper_path);
} // namespace modemfwd
#endif // MODEMFWD_MODEM_HELPER_H_