#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#ifndef UI_GFX_X_XPROTO_TYPES_H_
#define UI_GFX_X_XPROTO_TYPES_H_
#include <cstdint>
#include <memory>
#include "base/component_export.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/free_deleter.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted_memory.h"
#include "base/memory/scoped_refptr.h"
namespace x11 {
class Error;
class COMPONENT_EXPORT(X11) UnsizedRefCountedMemory
: public base::RefCountedThreadSafe<UnsizedRefCountedMemory> { … };
class COMPONENT_EXPORT(X11) ThrowAwaySizeRefCountedMemory final
: public UnsizedRefCountedMemory { … };
class COMPONENT_EXPORT(X11) SizedRefCountedMemory final
: public base::RefCountedMemory { … };
RawReply;
RawError;
ResponseCallback;
SequenceType;
constexpr uint8_t kSendEventMask = …;
inline constexpr size_t kMinimumErrorSize = …;
inline constexpr size_t kMinimumEventSize = …;
namespace detail {
template <typename T>
void VerifyAlignment(T* t, size_t offset) { … }
}
struct COMPONENT_EXPORT(X11) ReadBuffer { … };
class COMPONENT_EXPORT(X11) WriteBuffer { … };
namespace detail {
template <typename Reply>
std::unique_ptr<Reply> ReadReply(ReadBuffer* buffer);
}
template <class Reply>
class Future;
template <typename T>
T Read(ReadBuffer* buf);
template <typename T>
WriteBuffer Write(const T& t);
template <typename T>
void ReadEvent(T* event, ReadBuffer* buf);
template <typename Reply>
struct Response { … };
template <>
struct Response<void> { … };
}
#endif