#ifndef WebSpeechSynthesisUtterance_h
#define WebSpeechSynthesisUtterance_h
#include "WebCommon.h"
#include "WebPrivatePtr.h"
#include "WebString.h"
namespace WebCore { class PlatformSpeechSynthesisUtterance; }
namespace blink {
class WebSpeechSynthesisUtterance {
public:
WebSpeechSynthesisUtterance() { }
WebSpeechSynthesisUtterance(const WebSpeechSynthesisUtterance& other) { assign(other); }
~WebSpeechSynthesisUtterance() { reset(); }
WebSpeechSynthesisUtterance& operator=(const WebSpeechSynthesisUtterance& other)
{
assign(other);
return *this;
}
BLINK_PLATFORM_EXPORT void assign(const WebSpeechSynthesisUtterance&);
BLINK_PLATFORM_EXPORT void reset();
bool isNull() const { return m_private.isNull(); }
BLINK_PLATFORM_EXPORT WebString text() const;
BLINK_PLATFORM_EXPORT WebString lang() const;
BLINK_PLATFORM_EXPORT WebString voice() const;
BLINK_PLATFORM_EXPORT float volume() const;
BLINK_PLATFORM_EXPORT float rate() const;
BLINK_PLATFORM_EXPORT float pitch() const;
BLINK_PLATFORM_EXPORT double startTime() const;
#if INSIDE_BLINK
BLINK_PLATFORM_EXPORT WebSpeechSynthesisUtterance(const PassRefPtr<WebCore::PlatformSpeechSynthesisUtterance>&);
BLINK_PLATFORM_EXPORT WebSpeechSynthesisUtterance& operator=(WebCore::PlatformSpeechSynthesisUtterance*);
BLINK_PLATFORM_EXPORT operator PassRefPtr<WebCore::PlatformSpeechSynthesisUtterance>() const;
BLINK_PLATFORM_EXPORT operator WebCore::PlatformSpeechSynthesisUtterance*() const;
#endif
private:
WebPrivatePtr<WebCore::PlatformSpeechSynthesisUtterance> m_private;
};
}
#endif