rename CreateAudioDevice to GetAudioDevice

This commit is contained in:
Terrence
2024-11-05 21:17:56 +08:00
parent 458ac2c999
commit 82030d003d
10 changed files with 28 additions and 27 deletions

View File

@@ -132,7 +132,7 @@ void Application::Start() {
auto& board = Board::GetInstance();
board.Initialize();
audio_device_ = board.CreateAudioDevice();
audio_device_ = board.GetAudioDevice();
audio_device_->Initialize();
audio_device_->EnableInput(true);
audio_device_->EnableOutput(true);

View File

@@ -11,6 +11,14 @@ void* create_board();
class AudioDevice;
class Board {
private:
Board(const Board&) = delete; // 禁用拷贝构造函数
Board& operator=(const Board&) = delete; // 禁用赋值操作
virtual std::string GetBoardJson() = 0;
protected:
Board() = default;
public:
static Board& GetInstance() {
static Board* instance = nullptr;
@@ -23,20 +31,12 @@ public:
virtual void Initialize() = 0;
virtual void StartNetwork() = 0;
virtual ~Board() = default;
virtual AudioDevice* CreateAudioDevice() = 0;
virtual AudioDevice* GetAudioDevice() = 0;
virtual Http* CreateHttp() = 0;
virtual WebSocket* CreateWebSocket() = 0;
virtual bool GetNetworkState(std::string& network_name, int& signal_quality, std::string& signal_quality_text) = 0;
virtual bool GetBatteryVoltage(int &voltage, bool& charging);
virtual std::string GetJson();
protected:
Board() = default;
private:
Board(const Board&) = delete; // 禁用拷贝构造函数
Board& operator=(const Board&) = delete; // 禁用赋值操作
virtual std::string GetBoardJson() = 0;
};
#define DECLARE_BOARD(BOARD_CLASS_NAME) \

View File

@@ -16,8 +16,9 @@ public:
Ml307Board::Initialize();
}
virtual AudioDevice* CreateAudioDevice() override {
return new AudioDevice();
virtual AudioDevice* GetAudioDevice() override {
static AudioDevice audio_device;
return &audio_device;
}
};

View File

@@ -16,8 +16,9 @@ public:
WifiBoard::Initialize();
}
virtual AudioDevice* CreateAudioDevice() override {
return new AudioDevice();
virtual AudioDevice* GetAudioDevice() override {
static AudioDevice audio_device;
return &audio_device;
}
};

View File

@@ -12,8 +12,9 @@ public:
WifiBoard::Initialize();
}
virtual AudioDevice* CreateAudioDevice() override {
return new BoxAudioDevice();
virtual AudioDevice* GetAudioDevice() override {
static BoxAudioDevice audio_device;
return &audio_device;
}
};

View File

@@ -68,8 +68,9 @@ public:
Ml307Board::Initialize();
}
virtual AudioDevice* CreateAudioDevice() override {
return new BoxAudioDevice();
virtual AudioDevice* GetAudioDevice() override {
static BoxAudioDevice audio_device;
return &audio_device;
}
virtual bool GetBatteryVoltage(int &voltage, bool& charging) override {

View File

@@ -79,8 +79,9 @@ public:
Ml307Board::Initialize();
}
virtual AudioDevice* CreateAudioDevice() override {
return new BoxAudioDevice();
virtual AudioDevice* GetAudioDevice() override {
static BoxAudioDevice audio_device;
return &audio_device;
}
virtual bool GetBatteryVoltage(int &voltage, bool& charging) override {

View File

@@ -12,8 +12,9 @@ public:
WifiBoard::Initialize();
}
virtual AudioDevice* CreateAudioDevice() override {
return new BoxAudioDevice();
virtual AudioDevice* GetAudioDevice() override {
static BoxAudioDevice audio_device;
return &audio_device;
}
};

View File

@@ -74,10 +74,6 @@ void Ml307Board::Initialize() {
StartModem();
}
AudioDevice* Ml307Board::CreateAudioDevice() {
return new AudioDevice();
}
Http* Ml307Board::CreateHttp() {
return new Ml307Http(modem_);
}

View File

@@ -15,7 +15,6 @@ public:
Ml307Board();
virtual void Initialize() override;
virtual void StartNetwork() override;
virtual AudioDevice* CreateAudioDevice() override;
virtual Http* CreateHttp() override;
virtual WebSocket* CreateWebSocket() override;
virtual bool GetNetworkState(std::string& network_name, int& signal_quality, std::string& signal_quality_text) override;