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
Ran Benita 2012-08-27 19:20:41 +03:00
parent efc2d74141
commit 591df1156d
7 changed files with 53 additions and 53 deletions

View File

@ -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",

View File

@ -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);

View File

@ -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;

View File

@ -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",

View File

@ -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);

View File

@ -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) */

View File

@ -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;
}
}