/*
 * Copyright 1998 by Sun Microsystems, Inc., 901 San Antonio Road,
 * Palo Alto, California, 94303, U.S.A. All rights reserved.
 * 
 * This software is the confidential and proprietary information of Sun
 * Microsystems, Inc. ("Confidential Information").  You shall not
 * disclose such Confidential Information and shall use it only in
 * accordance with the terms of the license agreement you entered
 * into with Sun.
 */

/* define Aux classes */

#include <X11/Xlib.h>
#include <X11/Xatom.h>
#include "iiimpAux.h"
#include "xaux_common.h"
#include "xaux_locale.h"

#define	XAUX_CLASS_MAX		7

#define	XAUX_EXT_DIR 		"/usr/lib/im/locale/ko_KR/"

CARD16	aux_utfname_palette[] = {
	'c','o','m','.','s','u','n','.',
	'i','i','i','m','.',
	'k','o','l','e','.',
	'p','a','l','e','t','t','e'
};

CARD16	aux_utfname_option[] = {
	'c','o','m','.','s','u','n','.',
	'i','i','i','m','.',
	'k','o','l','e','.',
	'o','p','t','i','o','n'
};

CARD16	aux_utfname_select[] = {
	'c','o','m','.','s','u','n','.',
	'i','i','i','m','.',
	'k','o','l','e','.',
	's','e','l','e','c','t'
};

CARD16	aux_utfname_keyboard[] = {
	'c','o','m','.','s','u','n','.',
	'i','i','i','m','.',
	'k','o','l','e','.',
	'k','e','y','b','o','a','r','d'
};

CARD16	aux_utfname_lookup[] = {
	'c','o','m','.','s','u','n','.',
	'i','i','i','m','.',
	'k','o','l','e','.',
	'l','o','o','k','u','p'
};

CARD16	aux_utfname_action[] = {
	'c','o','m','.','s','u','n','.',
	'i','i','i','m','.',
	'k','o','l','e','.',
	'a','c','t','i','o','n'
};

extern aux_method_t xaux_so_methods;

xaux_class_t xaux_classes[XAUX_CLASS_MAX] = {
	{
		XAUX_PALETTE_CLASS_NAME,  1,
		XAUX_EXT_DIR "PaletteAux",
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, ATOM_NUM_PALETTEAUX, 0, 
		{ (Atom)0 }, ATOM_NUM_PALETTEAUX, 0,
		aux_utfname_palette,
	},
	{
		XAUX_OPTION_CLASS_NAME,  1,
		XAUX_EXT_DIR "OptionAux",
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, ATOM_NUM_OPTIONAUX, 0, 
		{ (Atom)0 }, ATOM_NUM_OPTIONAUX, 0, 
		aux_utfname_option,
	},
	{
		XAUX_SELECT_CLASS_NAME,  1,
		XAUX_EXT_DIR "SelectAux",
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, ATOM_NUM_SELECTAUX, 0, 
		{ (Atom)0 }, ATOM_NUM_SELECTAUX, 0,
		aux_utfname_select,
	},
	{
		XAUX_KEYBOARD_CLASS_NAME,  1,
		XAUX_EXT_DIR "KeyboardAux",
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, ATOM_NUM_KEYBOARDAUX, 0, 
		{ (Atom)0 }, ATOM_NUM_KEYBOARDAUX, 0,
		aux_utfname_keyboard,
	},
	{
		XAUX_LOOKUP_CLASS_NAME,  1,
		XAUX_EXT_DIR "LookupAux",
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, ATOM_NUM_LOOKUPAUX, 0, 
		{ (Atom)0 }, ATOM_NUM_LOOKUPAUX, 0,
		aux_utfname_lookup,
	},
	{
		XAUX_ACTION_CLASS_NAME,  1,
		XAUX_EXT_DIR "ActionAux",
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, ATOM_NUM_ACTIONAUX, 0, 
		{ (Atom)0 }, ATOM_NUM_ACTIONAUX, 0,
		aux_utfname_action,
	},
	{
		NULL, -1,
		NULL,
		(Window)0, (Window)0,
		(Atom)0, (Atom)0, (Atom)0, 
		{ (Atom)0 }, 0, 0, 
		{ (Atom)0 }, 0, 0,
		NULL,
	}
};

aux_dir_t aux_dir[XAUX_CLASS_MAX] = {
	{
		{
			sizeof (aux_utfname_palette),
			(CARD16 *)aux_utfname_palette,
		},
		&xaux_so_methods,
	},
	{
		{
			sizeof (aux_utfname_option),
			(CARD16 *)aux_utfname_option,
		},
		&xaux_so_methods,
	},
	{
		{
			sizeof (aux_utfname_select),
			(CARD16 *)aux_utfname_select,
		},
		&xaux_so_methods,
	},
	{
		{
			sizeof (aux_utfname_keyboard),
			(CARD16 *)aux_utfname_keyboard,
		},
		&xaux_so_methods,
	},
	{
		{
			sizeof (aux_utfname_lookup),
			(CARD16 *)aux_utfname_lookup,
		},
		&xaux_so_methods,
	},
	{
		{
			sizeof (aux_utfname_action),
			(CARD16 *)aux_utfname_action,
		},
		&xaux_so_methods,
	},
	{0, NULL, NULL}
};
