Hash :
df2322d7
Author :
Date :
2025-02-05T14:41:21
Replace include guards by `#pragma once` We currently have a mix of include headers, pragma once and some missing. pragma once is not standard but is widely supported, and we already use it with no issues, so I'd say it's not a problem. Let's convert all headers to pragma once to avoid the annoying include guards. The public headers are *not* converted. Signed-off-by: Ran Benita <ran@unusedvar.com>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
/*
* Copyright © 2013 Ran Benita
* SPDX-License-Identifier: MIT
*/
#pragma once
#include <xcb/xkb.h>
#include "keymap.h"
#include "xkbcommon/xkbcommon-x11.h"
struct x11_atom_interner {
struct xkb_context *ctx;
xcb_connection_t *conn;
bool had_error;
/* Atoms for which we send a GetAtomName request */
struct {
xcb_atom_t from;
xkb_atom_t *out;
xcb_get_atom_name_cookie_t cookie;
} pending[128];
size_t num_pending;
/* Atoms which were already pending but queried again */
struct {
xcb_atom_t from;
xkb_atom_t *out;
} copies[128];
size_t num_copies;
/* These are not interned, but saved directly (after XkbEscapeMapName) */
struct {
xcb_get_atom_name_cookie_t cookie;
char **out;
} escaped[4];
size_t num_escaped;
};
void
x11_atom_interner_init(struct x11_atom_interner *interner,
struct xkb_context *ctx, xcb_connection_t *conn);
void
x11_atom_interner_round_trip(struct x11_atom_interner *interner);
/*
* Make a xkb_atom_t's from X atoms. The actual write is delayed until the next
* call to x11_atom_interner_round_trip() or when too many atoms are pending.
*/
void
x11_atom_interner_adopt_atom(struct x11_atom_interner *interner,
const xcb_atom_t atom, xkb_atom_t *out);
/*
* Get a strdup'd and XkbEscapeMapName'd name of an X atom. The actual write is
* delayed until the next call to x11_atom_interner_round_trip().
*/
void
x11_atom_interner_get_escaped_atom_name(struct x11_atom_interner *interner,
xcb_atom_t atom, char **out);