chromium/components/live_caption/live_caption_ui_remote_driver.h

// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_LIVE_CAPTION_LIVE_CAPTION_UI_REMOTE_DRIVER_H_
#define COMPONENTS_LIVE_CAPTION_LIVE_CAPTION_UI_REMOTE_DRIVER_H_

#include <memory>

#include "base/memory/raw_ptr.h"
#include "components/live_caption/caption_bubble_context_remote.h"
#include "media/mojo/mojom/speech_recognition.mojom.h"
#include "mojo/public/cpp/bindings/receiver.h"

namespace captions {

class CaptionBubbleContextRemote;
class LiveCaptionController;

// Receives both speech recognition events and speech surface events (e.g.
// fullscreen-ing) from remote lacros processes, passing them to the live
// caption UI.
//
// One driver exists in the Ash browser process for each caption-producing
// stream of media in a lacros renderer.
class LiveCaptionUiRemoteDriver
    : public media::mojom::SpeechRecognitionSurfaceClient,
      public media::mojom::SpeechRecognitionRecognizerClient {};

}  // namespace captions

#endif  // COMPONENTS_LIVE_CAPTION_LIVE_CAPTION_UI_REMOTE_DRIVER_H_