chromium/remoting/host/desktop_and_cursor_composer.h

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

#ifndef REMOTING_HOST_DESKTOP_AND_CURSOR_COMPOSER_H_
#define REMOTING_HOST_DESKTOP_AND_CURSOR_COMPOSER_H_

#include "base/functional/callback.h"
#include "third_party/webrtc/modules/desktop_capture/desktop_and_cursor_composer.h"

namespace remoting {

// Wrapper around webrtc::DesktopAndCursorComposer to execute methods that
// return a value in an async manner on capturer thread.
class DesktopAndCursorComposer : public webrtc::DesktopAndCursorComposer {
 public:
#if defined(WEBRTC_USE_GIO)
  virtual void GetMetadataAsync(
      base::OnceCallback<void(webrtc::DesktopCaptureMetadata)> callback);
#endif
};

}  // namespace remoting

#endif  // REMOTING_HOST_DESKTOP_AND_CURSOR_COMPOSER_H_