chromium/ui/ozone/platform/wayland/host/wayland_zaura_output_manager_v2.h

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

#ifndef UI_OZONE_PLATFORM_WAYLAND_HOST_WAYLAND_ZAURA_OUTPUT_MANAGER_V2_H_
#define UI_OZONE_PLATFORM_WAYLAND_HOST_WAYLAND_ZAURA_OUTPUT_MANAGER_V2_H_

#include <unordered_set>

#include "base/containers/flat_map.h"
#include "base/memory/raw_ptr.h"
#include "ui/ozone/platform/wayland/common/wayland_object.h"
#include "ui/ozone/platform/wayland/host/wayland_output.h"

namespace ui {

class WaylandConnection;

// Wraps the zaura_output_manager_v2 global object. Handles output configuration
// state transactions and various output operations (e.g. activation). This
// subsumes the responsibilities of other output extensions such as xdg_output
// and aura_output.
class WaylandZAuraOutputManagerV2
    : public wl::GlobalObjectRegistrar<WaylandZAuraOutputManagerV2> {};

}  // namespace ui

#endif  // UI_OZONE_PLATFORM_WAYLAND_HOST_WAYLAND_ZAURA_OUTPUT_MANAGER_V2_H_