radio_tool 0.2.1
Loading...
Searching...
No Matches
yaesu_fw.hpp
1
18#pragma once
19
20#include <radio_tool/fw/fw.hpp>
21
22#include <fstream>
23#include <cstring>
24#include <sstream>
25#include <memory>
26#include <iomanip>
27
28namespace radio_tool::fw
29{
34 {
35 public:
36 YaesuRadioConfig(const std::string& model)
37 : radio_model(model)
38 {
39 }
40
44 const std::string radio_model;
45 };
46
47 class YaesuFW : public FirmwareSupport
48 {
49 public:
50 YaesuFW() {}
51
52 auto Read(const std::string& file) -> void override;
53 auto Write(const std::string& file) -> void override;
54 auto ToString() const->std::string override;
55 auto Decrypt() -> void override;
56 auto Encrypt() -> void override;
57 auto SetRadioModel(const std::string&) -> void override;
58 auto IsCompatible(const FirmwareSupport* Other) const -> bool override;
59
63 auto GetRadioModel() const -> const std::string override;
64
65
69 static auto SupportsFirmwareFile(const std::string& file) -> bool;
70
74 static auto SupportsRadioModel(const std::string& model) -> bool;
75
79 static auto Create() -> std::unique_ptr<FirmwareSupport>
80 {
81 return std::make_unique<YaesuFW>();
82 }
83
84 private:
85 std::string radio_model;
86 };
87
88} // namespace radio_tool::fw
auto GetRadioModel() const -> const std::string override
Definition: yaesu_fw.cpp:66
auto ToString() const -> std::string override
Definition: yaesu_fw.cpp:55
static auto SupportsRadioModel(const std::string &model) -> bool
Definition: yaesu_fw.cpp:85
auto Encrypt() -> void override
Definition: yaesu_fw.cpp:64
auto SetRadioModel(const std::string &) -> void override
Definition: yaesu_fw.cpp:65
auto Write(const std::string &file) -> void override
Definition: yaesu_fw.cpp:44
static auto Create() -> std::unique_ptr< FirmwareSupport >
Definition: yaesu_fw.hpp:79
auto IsCompatible(const FirmwareSupport *Other) const -> bool override
Definition: yaesu_fw.cpp:90
auto Read(const std::string &file) -> void override
Definition: yaesu_fw.cpp:24
auto Decrypt() -> void override
Definition: yaesu_fw.cpp:63
static auto SupportsFirmwareFile(const std::string &file) -> bool
Definition: yaesu_fw.cpp:71
const std::string radio_model
Definition: yaesu_fw.hpp:44