Move enum xkb_file_type to xkbcomp/ast.h
This is a more suitable place for this enum, since it's internal to xkbcomp. Signed-off-by: Ran Benita <ran234@gmail.com>master
parent
efc2d74141
commit
591df1156d
17
src/text.c
17
src/text.c
|
@ -226,23 +226,6 @@ ModMaskText(xkb_mod_mask_t mask)
|
|||
return buf;
|
||||
}
|
||||
|
||||
static const char *xkb_file_type_strings[_FILE_TYPE_NUM_ENTRIES] = {
|
||||
[FILE_TYPE_KEYMAP] = "xkb_keymap",
|
||||
[FILE_TYPE_TYPES] = "xkb_types",
|
||||
[FILE_TYPE_COMPAT] = "xkb_compatibility",
|
||||
[FILE_TYPE_SYMBOLS] = "xkb_symbols",
|
||||
[FILE_TYPE_KEYCODES] = "xkb_keycodes",
|
||||
[FILE_TYPE_RULES] = "rules",
|
||||
};
|
||||
|
||||
const char *
|
||||
FileTypeText(enum xkb_file_type type)
|
||||
{
|
||||
if (type > _FILE_TYPE_NUM_ENTRIES)
|
||||
return "unknown";
|
||||
return xkb_file_type_strings[type];
|
||||
}
|
||||
|
||||
static const char *actionTypeNames[XkbSA_NumActions] = {
|
||||
[XkbSA_NoAction] = "NoAction",
|
||||
[XkbSA_SetMods] = "SetMods",
|
||||
|
|
|
@ -44,9 +44,6 @@ ModIndexText(xkb_mod_index_t ndx);
|
|||
const char *
|
||||
ModMaskText(xkb_mod_mask_t mask);
|
||||
|
||||
const char *
|
||||
FileTypeText(enum xkb_file_type type);
|
||||
|
||||
const char *
|
||||
ActionTypeText(unsigned type);
|
||||
|
||||
|
|
|
@ -95,28 +95,6 @@ typedef uint32_t xkb_atom_t;
|
|||
#define XKB_ATOM_NONE 0
|
||||
#define XKB_LEVEL_INVALID 0xffffffff
|
||||
|
||||
enum xkb_file_type {
|
||||
/* Component files, by order of compilation. */
|
||||
FILE_TYPE_KEYCODES = 0,
|
||||
FILE_TYPE_TYPES = 1,
|
||||
FILE_TYPE_COMPAT = 2,
|
||||
FILE_TYPE_SYMBOLS = 3,
|
||||
/* Geometry is not compiled any more. */
|
||||
FILE_TYPE_GEOMETRY = 4,
|
||||
|
||||
/* A top level file which includes the above files. */
|
||||
FILE_TYPE_KEYMAP,
|
||||
|
||||
/* File types which must be found in a keymap file. */
|
||||
#define FIRST_KEYMAP_FILE_TYPE FILE_TYPE_KEYCODES
|
||||
#define LAST_KEYMAP_FILE_TYPE FILE_TYPE_SYMBOLS
|
||||
|
||||
/* This one doesn't mix with the others, but useful here as well. */
|
||||
FILE_TYPE_RULES,
|
||||
|
||||
_FILE_TYPE_NUM_ENTRIES
|
||||
};
|
||||
|
||||
struct xkb_context {
|
||||
int refcnt;
|
||||
|
||||
|
|
|
@ -651,6 +651,23 @@ FreeXkbFile(XkbFile *file)
|
|||
}
|
||||
}
|
||||
|
||||
static const char *xkb_file_type_strings[_FILE_TYPE_NUM_ENTRIES] = {
|
||||
[FILE_TYPE_KEYCODES] = "xkb_keycodes",
|
||||
[FILE_TYPE_TYPES] = "xkb_types",
|
||||
[FILE_TYPE_COMPAT] = "xkb_compatibility",
|
||||
[FILE_TYPE_SYMBOLS] = "xkb_symbols",
|
||||
[FILE_TYPE_KEYMAP] = "xkb_keymap",
|
||||
[FILE_TYPE_RULES] = "rules",
|
||||
};
|
||||
|
||||
const char *
|
||||
xkb_file_type_to_string(enum xkb_file_type type)
|
||||
{
|
||||
if (type > _FILE_TYPE_NUM_ENTRIES)
|
||||
return "unknown";
|
||||
return xkb_file_type_strings[type];
|
||||
}
|
||||
|
||||
static const char *stmt_type_strings[_STMT_NUM_VALUES] = {
|
||||
[STMT_UNKNOWN] = "unknown statement",
|
||||
[STMT_INCLUDE] = "include statement",
|
||||
|
|
|
@ -27,6 +27,28 @@
|
|||
#ifndef XKBCOMP_AST_H
|
||||
#define XKBCOMP_AST_H
|
||||
|
||||
enum xkb_file_type {
|
||||
/* Component files, by order of compilation. */
|
||||
FILE_TYPE_KEYCODES = 0,
|
||||
FILE_TYPE_TYPES = 1,
|
||||
FILE_TYPE_COMPAT = 2,
|
||||
FILE_TYPE_SYMBOLS = 3,
|
||||
/* Geometry is not compiled any more. */
|
||||
FILE_TYPE_GEOMETRY = 4,
|
||||
|
||||
/* A top level file which includes the above files. */
|
||||
FILE_TYPE_KEYMAP,
|
||||
|
||||
/* File types which must be found in a keymap file. */
|
||||
#define FIRST_KEYMAP_FILE_TYPE FILE_TYPE_KEYCODES
|
||||
#define LAST_KEYMAP_FILE_TYPE FILE_TYPE_SYMBOLS
|
||||
|
||||
/* This one doesn't mix with the others, but useful here as well. */
|
||||
FILE_TYPE_RULES,
|
||||
|
||||
_FILE_TYPE_NUM_ENTRIES
|
||||
};
|
||||
|
||||
enum stmt_type {
|
||||
STMT_UNKNOWN = 0,
|
||||
STMT_INCLUDE,
|
||||
|
@ -86,6 +108,9 @@ enum merge_mode {
|
|||
MERGE_REPLACE,
|
||||
};
|
||||
|
||||
const char *
|
||||
xkb_file_type_to_string(enum xkb_file_type type);
|
||||
|
||||
const char *
|
||||
stmt_type_to_string(enum stmt_type type);
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include "xkbcomp-priv.h"
|
||||
#include "text.h"
|
||||
#include "include.h"
|
||||
|
||||
/**
|
||||
|
@ -245,7 +244,8 @@ ProcessIncludeFile(struct xkb_context *ctx,
|
|||
}
|
||||
if (!mapToUse) {
|
||||
log_err(ctx, "No %s named \"%s\" in the include file \"%s\"\n",
|
||||
FileTypeText(file_type), stmt->map, stmt->file);
|
||||
xkb_file_type_to_string(file_type), stmt->map,
|
||||
stmt->file);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -259,8 +259,8 @@ ProcessIncludeFile(struct xkb_context *ctx,
|
|||
log_err(ctx,
|
||||
"Include file wrong type (expected %s, got %s); "
|
||||
"Include file \"%s\" ignored\n",
|
||||
FileTypeText(file_type), FileTypeText(mapToUse->file_type),
|
||||
stmt->file);
|
||||
xkb_file_type_to_string(file_type),
|
||||
xkb_file_type_to_string(mapToUse->file_type), stmt->file);
|
||||
return false;
|
||||
}
|
||||
/* FIXME: we have to check recursive includes here (or somewhere) */
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
*/
|
||||
|
||||
#include "xkbcomp-priv.h"
|
||||
#include "text.h"
|
||||
#include "rules.h"
|
||||
|
||||
typedef bool (*compile_file_fn)(XkbFile *file,
|
||||
|
@ -56,7 +55,7 @@ compile_keymap_file(struct xkb_context *ctx, XkbFile *file)
|
|||
|
||||
if (file->file_type != FILE_TYPE_KEYMAP) {
|
||||
log_err(ctx, "Cannot compile a %s file alone into a keymap\n",
|
||||
FileTypeText(file->file_type));
|
||||
xkb_file_type_to_string(file->file_type));
|
||||
goto err;
|
||||
}
|
||||
|
||||
|
@ -66,7 +65,7 @@ compile_keymap_file(struct xkb_context *ctx, XkbFile *file)
|
|||
if (file->file_type < FIRST_KEYMAP_FILE_TYPE ||
|
||||
file->file_type > LAST_KEYMAP_FILE_TYPE) {
|
||||
log_err(ctx, "Cannot define %s in a keymap file\n",
|
||||
FileTypeText(file->file_type));
|
||||
xkb_file_type_to_string(file->file_type));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -74,7 +73,7 @@ compile_keymap_file(struct xkb_context *ctx, XkbFile *file)
|
|||
log_err(ctx,
|
||||
"More than one %s section in keymap file; "
|
||||
"All sections after the first ignored\n",
|
||||
FileTypeText(file->file_type));
|
||||
xkb_file_type_to_string(file->file_type));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -96,7 +95,7 @@ compile_keymap_file(struct xkb_context *ctx, XkbFile *file)
|
|||
type++) {
|
||||
if (files[type] == NULL) {
|
||||
log_err(ctx, "Required section %s missing from keymap\n",
|
||||
FileTypeText(type));
|
||||
xkb_file_type_to_string(type));
|
||||
ok = false;
|
||||
}
|
||||
}
|
||||
|
@ -108,10 +107,11 @@ compile_keymap_file(struct xkb_context *ctx, XkbFile *file)
|
|||
type <= LAST_KEYMAP_FILE_TYPE;
|
||||
type++) {
|
||||
log_dbg(ctx, "Compiling %s \"%s\"\n",
|
||||
FileTypeText(type), files[type]->topName);
|
||||
xkb_file_type_to_string(type), files[type]->topName);
|
||||
ok = compile_file_fns[type](files[type], keymap, MERGE_OVERRIDE);
|
||||
if (!ok) {
|
||||
log_err(ctx, "Failed to compile %s\n", FileTypeText(type));
|
||||
log_err(ctx, "Failed to compile %s\n",
|
||||
xkb_file_type_to_string(type));
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue