#ifndef WebSpeechSynthesizerClientImpl_h
#define WebSpeechSynthesizerClientImpl_h
#include "platform/speech/PlatformSpeechSynthesizer.h"
#include "public/platform/WebSpeechSynthesisUtterance.h"
#include "public/platform/WebSpeechSynthesisVoice.h"
#include "public/platform/WebSpeechSynthesizerClient.h"
#include "wtf/HashMap.h"
#include "wtf/Vector.h"
namespace WebCore {
class PlatformSpeechSynthesizer;
class PlatformSpeechSynthesizerClient;
class WebSpeechSynthesizerClientImpl : public blink::WebSpeechSynthesizerClient {
public:
explicit WebSpeechSynthesizerClientImpl(PlatformSpeechSynthesizer*, PlatformSpeechSynthesizerClient*);
virtual ~WebSpeechSynthesizerClientImpl();
virtual void setVoiceList(const blink::WebVector<blink::WebSpeechSynthesisVoice>& voices);
virtual void didStartSpeaking(const blink::WebSpeechSynthesisUtterance&);
virtual void didFinishSpeaking(const blink::WebSpeechSynthesisUtterance&);
virtual void didPauseSpeaking(const blink::WebSpeechSynthesisUtterance&);
virtual void didResumeSpeaking(const blink::WebSpeechSynthesisUtterance&);
virtual void speakingErrorOccurred(const blink::WebSpeechSynthesisUtterance&);
virtual void wordBoundaryEventOccurred(const blink::WebSpeechSynthesisUtterance&, unsigned charIndex);
virtual void sentenceBoundaryEventOccurred(const blink::WebSpeechSynthesisUtterance&, unsigned charIndex);
private:
PlatformSpeechSynthesizer* m_synthesizer;
PlatformSpeechSynthesizerClient* m_client;
};
}
#endif