WebSpeechRecognitionHandle.h [plain text]
#ifndef WebSpeechRecognitionHandle_h
#define WebSpeechRecognitionHandle_h
#include "platform/WebCommon.h"
#include "platform/WebPrivatePtr.h"
namespace WebCore {
class SpeechRecognition;
}
namespace WebKit {
class WebSpeechRecognitionResult;
class WebString;
class WebSpeechRecognitionHandle {
public:
~WebSpeechRecognitionHandle() { reset(); }
WebSpeechRecognitionHandle() { }
WebSpeechRecognitionHandle(const WebSpeechRecognitionHandle& other) { assign(other); }
WebSpeechRecognitionHandle& operator=(const WebSpeechRecognitionHandle& other)
{
assign(other);
return *this;
}
WEBKIT_EXPORT void reset();
WEBKIT_EXPORT void assign(const WebSpeechRecognitionHandle&);
WEBKIT_EXPORT bool equals(const WebSpeechRecognitionHandle&) const;
WEBKIT_EXPORT bool lessThan(const WebSpeechRecognitionHandle&) const;
#if WEBKIT_IMPLEMENTATION
WebSpeechRecognitionHandle(const WTF::PassRefPtr<WebCore::SpeechRecognition>&);
WebSpeechRecognitionHandle& operator=(const WTF::PassRefPtr<WebCore::SpeechRecognition>&);
operator WTF::PassRefPtr<WebCore::SpeechRecognition>() const;
#endif
private:
WebPrivatePtr<WebCore::SpeechRecognition> m_private;
};
inline bool operator==(const WebSpeechRecognitionHandle& a, const WebSpeechRecognitionHandle& b)
{
return a.equals(b);
}
inline bool operator!=(const WebSpeechRecognitionHandle& a, const WebSpeechRecognitionHandle& b)
{
return !(a == b);
}
inline bool operator<(const WebSpeechRecognitionHandle& a, const WebSpeechRecognitionHandle& b)
{
return a.lessThan(b);
}
}
#endif // WebSpeechRecognitionHandle_h