blob: f81f656db0e14bde403605b9fee598d02ca7ad53 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file was automatically generated with:
// ../../ui/gfx/x/gen_xproto.py \
// ../../third_party/xcbproto/src \
// gen/ui/gfx/x \
// bigreq \
// composite \
// damage \
// dpms \
// dri2 \
// dri3 \
// ge \
// glx \
// present \
// randr \
// record \
// render \
// res \
// screensaver \
// shape \
// shm \
// sync \
// xc_misc \
// xevie \
// xf86dri \
// xf86vidmode \
// xfixes \
// xinerama \
// xinput \
// xkb \
// xprint \
// xproto \
// xselinux \
// xtest \
// xv \
// xvmc
#ifndef UI_GFX_X_GENERATED_PROTOS_DPMS_H_
#define UI_GFX_X_GENERATED_PROTOS_DPMS_H_
#include <array>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <vector>
#include "base/component_export.h"
#include "base/files/scoped_file.h"
#include "base/memory/ref_counted_memory.h"
#include "base/memory/scoped_refptr.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
#include "ui/gfx/x/error.h"
#include "ui/gfx/x/ref_counted_fd.h"
#include "xproto.h"
namespace x11 {
class Connection;
template <typename Reply>
struct Response;
template <typename Reply>
class Future;
class COMPONENT_EXPORT(X11) Dpms {
public:
static constexpr unsigned major_version = 0;
static constexpr unsigned minor_version = 0;
Dpms(Connection* connection, const x11::QueryExtensionReply& info);
uint8_t present() const { return info_.present; }
uint8_t major_opcode() const { return info_.major_opcode; }
uint8_t first_event() const { return info_.first_event; }
uint8_t first_error() const { return info_.first_error; }
Connection* connection() const { return connection_; }
enum class DPMSMode : int {
On = 0,
Standby = 1,
Suspend = 2,
Off = 3,
};
struct GetVersionRequest {
uint16_t client_major_version{};
uint16_t client_minor_version{};
};
struct GetVersionReply {
uint16_t sequence{};
uint16_t server_major_version{};
uint16_t server_minor_version{};
};
using GetVersionResponse = Response<GetVersionReply>;
Future<GetVersionReply> GetVersion(const GetVersionRequest& request);
Future<GetVersionReply> GetVersion(const uint16_t& client_major_version = {},
const uint16_t& client_minor_version = {});
struct CapableRequest {};
struct CapableReply {
uint16_t sequence{};
uint8_t capable{};
};
using CapableResponse = Response<CapableReply>;
Future<CapableReply> Capable(const CapableRequest& request);
Future<CapableReply> Capable();
struct GetTimeoutsRequest {};
struct GetTimeoutsReply {
uint16_t sequence{};
uint16_t standby_timeout{};
uint16_t suspend_timeout{};
uint16_t off_timeout{};
};
using GetTimeoutsResponse = Response<GetTimeoutsReply>;
Future<GetTimeoutsReply> GetTimeouts(const GetTimeoutsRequest& request);
Future<GetTimeoutsReply> GetTimeouts();
struct SetTimeoutsRequest {
uint16_t standby_timeout{};
uint16_t suspend_timeout{};
uint16_t off_timeout{};
};
using SetTimeoutsResponse = Response<void>;
Future<void> SetTimeouts(const SetTimeoutsRequest& request);
Future<void> SetTimeouts(const uint16_t& standby_timeout = {},
const uint16_t& suspend_timeout = {},
const uint16_t& off_timeout = {});
struct EnableRequest {};
using EnableResponse = Response<void>;
Future<void> Enable(const EnableRequest& request);
Future<void> Enable();
struct DisableRequest {};
using DisableResponse = Response<void>;
Future<void> Disable(const DisableRequest& request);
Future<void> Disable();
struct ForceLevelRequest {
DPMSMode power_level{};
};
using ForceLevelResponse = Response<void>;
Future<void> ForceLevel(const ForceLevelRequest& request);
Future<void> ForceLevel(const DPMSMode& power_level = {});
struct InfoRequest {};
struct InfoReply {
uint16_t sequence{};
DPMSMode power_level{};
uint8_t state{};
};
using InfoResponse = Response<InfoReply>;
Future<InfoReply> Info(const InfoRequest& request);
Future<InfoReply> Info();
private:
Connection* const connection_;
x11::QueryExtensionReply info_{};
};
} // namespace x11
inline constexpr x11::Dpms::DPMSMode operator|(x11::Dpms::DPMSMode l,
x11::Dpms::DPMSMode r) {
using T = std::underlying_type_t<x11::Dpms::DPMSMode>;
return static_cast<x11::Dpms::DPMSMode>(static_cast<T>(l) |
static_cast<T>(r));
}
inline constexpr x11::Dpms::DPMSMode operator&(x11::Dpms::DPMSMode l,
x11::Dpms::DPMSMode r) {
using T = std::underlying_type_t<x11::Dpms::DPMSMode>;
return static_cast<x11::Dpms::DPMSMode>(static_cast<T>(l) &
static_cast<T>(r));
}
#endif // UI_GFX_X_GENERATED_PROTOS_DPMS_H_