#ifndef WAKE_WORD_H #define WAKE_WORD_H #include #include #include #include "audio_codec.h" class WakeWord { public: virtual ~WakeWord() = default; virtual bool Initialize(AudioCodec* codec) = 0; virtual void Feed(const std::vector& data) = 0; virtual void OnWakeWordDetected(std::function callback) = 0; virtual void Start() = 0; virtual void Stop() = 0; virtual size_t GetFeedSize() = 0; virtual void EncodeWakeWordData() = 0; virtual bool GetWakeWordOpus(std::vector& opus) = 0; virtual const std::string& GetLastDetectedWakeWord() const = 0; }; #endif