// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_SPEECH_CROSAPI_TTS_ENGINE_DELEGATE_ASH_H_
#define CHROME_BROWSER_SPEECH_CROSAPI_TTS_ENGINE_DELEGATE_ASH_H_
#include "content/public/browser/tts_controller.h"
// RemoteTtsEngineDelegate implementation that handles TTS requests to
// remote TTS engines living in Lacros.
class CrosapiTtsEngineDelegateAsh : public content::RemoteTtsEngineDelegate {
public:
static CrosapiTtsEngineDelegateAsh* GetInstance();
CrosapiTtsEngineDelegateAsh();
CrosapiTtsEngineDelegateAsh(const CrosapiTtsEngineDelegateAsh&) = delete;
CrosapiTtsEngineDelegateAsh& operator=(const CrosapiTtsEngineDelegateAsh&) =
delete;
~CrosapiTtsEngineDelegateAsh() override;
// content::RemoteTtsEngineDelegate:
void GetVoices(content::BrowserContext* browser_context,
std::vector<content::VoiceData>* out_voices) override;
void Speak(content::TtsUtterance* utterance,
const content::VoiceData& voice) override;
void Stop(content::TtsUtterance* utterance) override;
void Pause(content::TtsUtterance* utterance) override;
void Resume(content::TtsUtterance* utterance) override;
};
#endif // CHROME_BROWSER_SPEECH_CROSAPI_TTS_ENGINE_DELEGATE_ASH_H_