#ifndef PROTOCOL_H #define PROTOCOL_H #include #include #include class Protocol { public: virtual ~Protocol() = default; virtual void OnIncomingAudio(std::function callback) = 0; virtual void OnIncomingJson(std::function callback) = 0; virtual void SendAudio(const std::string& data) = 0; virtual void SendText(const std::string& text) = 0; virtual bool OpenAudioChannel() = 0; virtual void CloseAudioChannel() = 0; virtual void OnAudioChannelOpened(std::function callback) = 0; virtual void OnAudioChannelClosed(std::function callback) = 0; }; #endif // PROTOCOL_H