blob: 172395a9fb0501b0f2d06b85d7ab3a5468af1082 [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_XSELINUX_H_
#define UI_GFX_X_GENERATED_PROTOS_XSELINUX_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) SELinux {
public:
static constexpr unsigned major_version = 1;
static constexpr unsigned minor_version = 0;
SELinux(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_; }
struct ListItem {
Atom name{};
std::string object_context{};
std::string data_context{};
};
struct QueryVersionRequest {
uint8_t client_major{};
uint8_t client_minor{};
};
struct QueryVersionReply {
uint16_t sequence{};
uint16_t server_major{};
uint16_t server_minor{};
};
using QueryVersionResponse = Response<QueryVersionReply>;
Future<QueryVersionReply> QueryVersion(const QueryVersionRequest& request);
Future<QueryVersionReply> QueryVersion(const uint8_t& client_major = {},
const uint8_t& client_minor = {});
struct SetDeviceCreateContextRequest {
std::string context{};
};
using SetDeviceCreateContextResponse = Response<void>;
Future<void> SetDeviceCreateContext(
const SetDeviceCreateContextRequest& request);
Future<void> SetDeviceCreateContext(const std::string& context = {});
struct GetDeviceCreateContextRequest {};
struct GetDeviceCreateContextReply {
uint16_t sequence{};
std::string context{};
};
using GetDeviceCreateContextResponse = Response<GetDeviceCreateContextReply>;
Future<GetDeviceCreateContextReply> GetDeviceCreateContext(
const GetDeviceCreateContextRequest& request);
Future<GetDeviceCreateContextReply> GetDeviceCreateContext();
struct SetDeviceContextRequest {
uint32_t device{};
std::string context{};
};
using SetDeviceContextResponse = Response<void>;
Future<void> SetDeviceContext(const SetDeviceContextRequest& request);
Future<void> SetDeviceContext(const uint32_t& device = {},
const std::string& context = {});
struct GetDeviceContextRequest {
uint32_t device{};
};
struct GetDeviceContextReply {
uint16_t sequence{};
std::string context{};
};
using GetDeviceContextResponse = Response<GetDeviceContextReply>;
Future<GetDeviceContextReply> GetDeviceContext(
const GetDeviceContextRequest& request);
Future<GetDeviceContextReply> GetDeviceContext(const uint32_t& device = {});
struct SetWindowCreateContextRequest {
std::string context{};
};
using SetWindowCreateContextResponse = Response<void>;
Future<void> SetWindowCreateContext(
const SetWindowCreateContextRequest& request);
Future<void> SetWindowCreateContext(const std::string& context = {});
struct GetWindowCreateContextRequest {};
struct GetWindowCreateContextReply {
uint16_t sequence{};
std::string context{};
};
using GetWindowCreateContextResponse = Response<GetWindowCreateContextReply>;
Future<GetWindowCreateContextReply> GetWindowCreateContext(
const GetWindowCreateContextRequest& request);
Future<GetWindowCreateContextReply> GetWindowCreateContext();
struct GetWindowContextRequest {
Window window{};
};
struct GetWindowContextReply {
uint16_t sequence{};
std::string context{};
};
using GetWindowContextResponse = Response<GetWindowContextReply>;
Future<GetWindowContextReply> GetWindowContext(
const GetWindowContextRequest& request);
Future<GetWindowContextReply> GetWindowContext(const Window& window = {});
struct SetPropertyCreateContextRequest {
std::string context{};
};
using SetPropertyCreateContextResponse = Response<void>;
Future<void> SetPropertyCreateContext(
const SetPropertyCreateContextRequest& request);
Future<void> SetPropertyCreateContext(const std::string& context = {});
struct GetPropertyCreateContextRequest {};
struct GetPropertyCreateContextReply {
uint16_t sequence{};
std::string context{};
};
using GetPropertyCreateContextResponse =
Response<GetPropertyCreateContextReply>;
Future<GetPropertyCreateContextReply> GetPropertyCreateContext(
const GetPropertyCreateContextRequest& request);
Future<GetPropertyCreateContextReply> GetPropertyCreateContext();
struct SetPropertyUseContextRequest {
std::string context{};
};
using SetPropertyUseContextResponse = Response<void>;
Future<void> SetPropertyUseContext(
const SetPropertyUseContextRequest& request);
Future<void> SetPropertyUseContext(const std::string& context = {});
struct GetPropertyUseContextRequest {};
struct GetPropertyUseContextReply {
uint16_t sequence{};
std::string context{};
};
using GetPropertyUseContextResponse = Response<GetPropertyUseContextReply>;
Future<GetPropertyUseContextReply> GetPropertyUseContext(
const GetPropertyUseContextRequest& request);
Future<GetPropertyUseContextReply> GetPropertyUseContext();
struct GetPropertyContextRequest {
Window window{};
Atom property{};
};
struct GetPropertyContextReply {
uint16_t sequence{};
std::string context{};
};
using GetPropertyContextResponse = Response<GetPropertyContextReply>;
Future<GetPropertyContextReply> GetPropertyContext(
const GetPropertyContextRequest& request);
Future<GetPropertyContextReply> GetPropertyContext(const Window& window = {},
const Atom& property = {});
struct GetPropertyDataContextRequest {
Window window{};
Atom property{};
};
struct GetPropertyDataContextReply {
uint16_t sequence{};
std::string context{};
};
using GetPropertyDataContextResponse = Response<GetPropertyDataContextReply>;
Future<GetPropertyDataContextReply> GetPropertyDataContext(
const GetPropertyDataContextRequest& request);
Future<GetPropertyDataContextReply> GetPropertyDataContext(
const Window& window = {},
const Atom& property = {});
struct ListPropertiesRequest {
Window window{};
};
struct ListPropertiesReply {
uint16_t sequence{};
std::vector<ListItem> properties{};
};
using ListPropertiesResponse = Response<ListPropertiesReply>;
Future<ListPropertiesReply> ListProperties(
const ListPropertiesRequest& request);
Future<ListPropertiesReply> ListProperties(const Window& window = {});
struct SetSelectionCreateContextRequest {
std::string context{};
};
using SetSelectionCreateContextResponse = Response<void>;
Future<void> SetSelectionCreateContext(
const SetSelectionCreateContextRequest& request);
Future<void> SetSelectionCreateContext(const std::string& context = {});
struct GetSelectionCreateContextRequest {};
struct GetSelectionCreateContextReply {
uint16_t sequence{};
std::string context{};
};
using GetSelectionCreateContextResponse =
Response<GetSelectionCreateContextReply>;
Future<GetSelectionCreateContextReply> GetSelectionCreateContext(
const GetSelectionCreateContextRequest& request);
Future<GetSelectionCreateContextReply> GetSelectionCreateContext();
struct SetSelectionUseContextRequest {
std::string context{};
};
using SetSelectionUseContextResponse = Response<void>;
Future<void> SetSelectionUseContext(
const SetSelectionUseContextRequest& request);
Future<void> SetSelectionUseContext(const std::string& context = {});
struct GetSelectionUseContextRequest {};
struct GetSelectionUseContextReply {
uint16_t sequence{};
std::string context{};
};
using GetSelectionUseContextResponse = Response<GetSelectionUseContextReply>;
Future<GetSelectionUseContextReply> GetSelectionUseContext(
const GetSelectionUseContextRequest& request);
Future<GetSelectionUseContextReply> GetSelectionUseContext();
struct GetSelectionContextRequest {
Atom selection{};
};
struct GetSelectionContextReply {
uint16_t sequence{};
std::string context{};
};
using GetSelectionContextResponse = Response<GetSelectionContextReply>;
Future<GetSelectionContextReply> GetSelectionContext(
const GetSelectionContextRequest& request);
Future<GetSelectionContextReply> GetSelectionContext(
const Atom& selection = {});
struct GetSelectionDataContextRequest {
Atom selection{};
};
struct GetSelectionDataContextReply {
uint16_t sequence{};
std::string context{};
};
using GetSelectionDataContextResponse =
Response<GetSelectionDataContextReply>;
Future<GetSelectionDataContextReply> GetSelectionDataContext(
const GetSelectionDataContextRequest& request);
Future<GetSelectionDataContextReply> GetSelectionDataContext(
const Atom& selection = {});
struct ListSelectionsRequest {};
struct ListSelectionsReply {
uint16_t sequence{};
std::vector<ListItem> selections{};
};
using ListSelectionsResponse = Response<ListSelectionsReply>;
Future<ListSelectionsReply> ListSelections(
const ListSelectionsRequest& request);
Future<ListSelectionsReply> ListSelections();
struct GetClientContextRequest {
uint32_t resource{};
};
struct GetClientContextReply {
uint16_t sequence{};
std::string context{};
};
using GetClientContextResponse = Response<GetClientContextReply>;
Future<GetClientContextReply> GetClientContext(
const GetClientContextRequest& request);
Future<GetClientContextReply> GetClientContext(const uint32_t& resource = {});
private:
Connection* const connection_;
x11::QueryExtensionReply info_{};
};
} // namespace x11
#endif // UI_GFX_X_GENERATED_PROTOS_XSELINUX_H_