Blame libxklavier/xkl_config_item.h

Packit Service 93d855
/*
Packit Service 93d855
 * Copyright (C) 2002-2006 Sergey V. Udaltsov <svu@gnome.org>
Packit Service 93d855
 *
Packit Service 93d855
 * This library is free software; you can redistribute it and/or
Packit Service 93d855
 * modify it under the terms of the GNU Lesser General Public
Packit Service 93d855
 * License as published by the Free Software Foundation; either
Packit Service 93d855
 * version 2 of the License, or (at your option) any later version.
Packit Service 93d855
 *
Packit Service 93d855
 * This library is distributed in the hope that it will be useful,
Packit Service 93d855
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 93d855
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 93d855
 * Lesser General Public License for more details.
Packit Service 93d855
 *
Packit Service 93d855
 * You should have received a copy of the GNU Lesser General Public
Packit Service 93d855
 * License along with this library; if not, write to the
Packit Service 93d855
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit Service 93d855
 * Boston, MA 02111-1307, USA.
Packit Service 93d855
 */
Packit Service 93d855
Packit Service 93d855
#ifndef __XKL_CONFIG_ITEM_H__
Packit Service 93d855
#define __XKL_CONFIG_ITEM_H__
Packit Service 93d855
Packit Service 93d855
#include <glib-object.h>
Packit Service 93d855
Packit Service 93d855
/*
Packit Service 93d855
 * Maximum name length, including '\'0' character
Packit Service 93d855
 */
Packit Service 93d855
#define XKL_MAX_CI_NAME_LENGTH 32
Packit Service 93d855
Packit Service 93d855
/*
Packit Service 93d855
 * Maximum short description length, including '\\0' character
Packit Service 93d855
 * (this length is in bytes, so for UTF-8 encoding in 
Packit Service 93d855
 * XML file the actual maximum length can be smaller)
Packit Service 93d855
 */
Packit Service 93d855
#define XKL_MAX_CI_SHORT_DESC_LENGTH 10
Packit Service 93d855
Packit Service 93d855
/*
Packit Service 93d855
 * Maximum description length, including '\\0' character
Packit Service 93d855
 * (this length is in bytes, so for UTF-8 encoding in 
Packit Service 93d855
 * XML file the actual maximum length can be smaller)
Packit Service 93d855
 */
Packit Service 93d855
#define XKL_MAX_CI_DESC_LENGTH 192
Packit Service 93d855
Packit Service 93d855
#ifdef __cplusplus
Packit Service 93d855
extern "C" {
Packit Service 93d855
#endif				/* __cplusplus */
Packit Service 93d855
Packit Service 93d855
	typedef struct _XklConfigItem XklConfigItem;
Packit Service 93d855
	typedef struct _XklConfigItemClass XklConfigItemClass;
Packit Service 93d855
Packit Service 93d855
#define XKL_TYPE_CONFIG_ITEM             (xkl_config_item_get_type ())
Packit Service 93d855
#define XKL_CONFIG_ITEM(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), XKL_TYPE_CONFIG_ITEM, XklConfigItem))
Packit Service 93d855
#define XKL_CONFIG_ITEM_CLASS(obj)       (G_TYPE_CHECK_CLASS_CAST ((obj), XKL_CONFIG_ITEM,  XklConfigItemClass))
Packit Service 93d855
#define XKL_IS_CONFIG_ITEM(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XKL_TYPE_CONFIG_ITEM))
Packit Service 93d855
#define XKL_IS_CONFIG_ITEM_CLASS(obj)    (G_TYPE_CHECK_CLASS_TYPE ((obj), XKL_TYPE_CONFIG_ITEM))
Packit Service 93d855
#define XKL_CONFIG_ITEM_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), XKL_TYPE_CONFIG_ITEM, XklConfigItemClass))
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * _XklConfigItem:
Packit Service 93d855
 * @parent: The superclass object
Packit Service 93d855
 * @name: The configuration item name. Corresponds to XML element "name".
Packit Service 93d855
 * @short_description: The configuration item short description. Corresponds to XML element "shortDescription".
Packit Service 93d855
 * @description: The configuration item description. Corresponds to XML element "description".
Packit Service 93d855
 *
Packit Service 93d855
 * The configuration item. Corresponds to XML element "configItem".
Packit Service 93d855
 */
Packit Service 93d855
	struct _XklConfigItem {
Packit Service 93d855
		GObject parent;
Packit Service 93d855
Packit Service 93d855
		gchar name[XKL_MAX_CI_NAME_LENGTH];
Packit Service 93d855
Packit Service 93d855
		gchar short_description[XKL_MAX_CI_DESC_LENGTH];
Packit Service 93d855
Packit Service 93d855
		gchar description[XKL_MAX_CI_DESC_LENGTH];
Packit Service 93d855
	};
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * XCI_PROP_ALLOW_MULTIPLE_SELECTION:
Packit Service 93d855
 * Extra property for the XklConfigItem, defining whether the group allows multiple selection
Packit Service 93d855
 */
Packit Service 93d855
#define XCI_PROP_ALLOW_MULTIPLE_SELECTION "allowMultipleSelection"
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * XCI_PROP_VENDOR:
Packit Service 93d855
 * Extra property for the XklConfigItem, defining the vendor (used for models)
Packit Service 93d855
 */
Packit Service 93d855
#define XCI_PROP_VENDOR "vendor"
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * XCI_PROP_COUNTRY_LIST:
Packit Service 93d855
 * Extra property for the XklConfigItem, defining the list of countries (used for layouts/variants)
Packit Service 93d855
 */
Packit Service 93d855
#define XCI_PROP_COUNTRY_LIST "countryList"
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * XCI_PROP_LANGUAGE_LIST:
Packit Service 93d855
 * Extra property for the XklConfigItem, defining the list of languages (used for layouts/variants)
Packit Service 93d855
 */
Packit Service 93d855
#define XCI_PROP_LANGUAGE_LIST "languageList"
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * XCI_PROP_EXTRA_ITEM:
Packit Service 93d855
 * Extra property for the XklConfigItem, defining whether that item is exotic(extra)
Packit Service 93d855
 */
Packit Service 93d855
#define XCI_PROP_EXTRA_ITEM "extraItem"
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * _XklConfigItemClass:
Packit Service 93d855
 * @parent_class: The superclass
Packit Service 93d855
 * The XklConfigItem class, derived from GObject
Packit Service 93d855
 */
Packit Service 93d855
	struct _XklConfigItemClass {
Packit Service 93d855
		GObjectClass parent_class;
Packit Service 93d855
	};
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_get_type:
Packit Service 93d855
 *
Packit Service 93d855
 * Get type info for XklConfigItem
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: GType for XklConfigItem
Packit Service 93d855
 */
Packit Service 93d855
	extern GType xkl_config_item_get_type(void);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_new:
Packit Service 93d855
 *
Packit Service 93d855
 * Create new XklConfigItem
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: new instance
Packit Service 93d855
 */
Packit Service 93d855
	extern XklConfigItem *xkl_config_item_new(void);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_get_name:
Packit Service 93d855
 * @item: the XklConfigItem object
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: The @name field of a XklConfigItem. This is mostly useful for
Packit Service 93d855
 * language bindings, in C you can manipulate the member directly.
Packit Service 93d855
 */
Packit Service 93d855
extern const gchar * xkl_config_item_get_name(XklConfigItem * item);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_set_name:
Packit Service 93d855
 * @item: the XklConfigItem object to be changed
Packit Service 93d855
 * @name: (transfer none) (allow-none): Name (max. 32 characters); can be NULL.
Packit Service 93d855
 *
Packit Service 93d855
 * Change the @name field of a XklConfigItem. This is mostly useful for
Packit Service 93d855
 * language bindings, in C you can manipulate the member directly.
Packit Service 93d855
 */
Packit Service 93d855
	extern void xkl_config_item_set_name(XklConfigItem * item,
Packit Service 93d855
					     const gchar * name);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_get_short_description:
Packit Service 93d855
 * @item: the XklConfigItem object
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: The @short_description field of a XklConfigItem. This is mostly useful for
Packit Service 93d855
 * language bindings, in C you can manipulate the member directly.
Packit Service 93d855
 */
Packit Service 93d855
extern const gchar * xkl_config_item_get_short_description(XklConfigItem * item);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_set_short_description:
Packit Service 93d855
 * @item: the XklConfigItem object to be changed
Packit Service 93d855
 * @short_description: (transfer none) (allow-none): Short Description (max. 10
Packit Service 93d855
 *        characters); can be NULL.
Packit Service 93d855
 *
Packit Service 93d855
 * Change the @short_description field of a XklConfigItem. This is mostly useful for
Packit Service 93d855
 * language bindings, in C you can manipulate the member directly.
Packit Service 93d855
 */
Packit Service 93d855
	extern void xkl_config_item_set_short_description(XklConfigItem * item,
Packit Service 93d855
							  const gchar * short_description);
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_get_description:
Packit Service 93d855
 * @item: the XklConfigItem object
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: The @description field of a XklConfigItem. This is mostly useful for
Packit Service 93d855
 * language bindings, in C you can manipulate the member directly.
Packit Service 93d855
 */
Packit Service 93d855
extern const gchar * xkl_config_item_get_description(XklConfigItem * item);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_config_item_set_description:
Packit Service 93d855
 * @item: the XklConfigItem object to be changed
Packit Service 93d855
 * @description: (transfer none) (allow-none): Description (max. 192
Packit Service 93d855
 *        characters); can be NULL.
Packit Service 93d855
 *
Packit Service 93d855
 * Change the @description field of a XklConfigItem. This is mostly useful for
Packit Service 93d855
 * language bindings, in C you can manipulate the member directly.
Packit Service 93d855
 */
Packit Service 93d855
	extern void xkl_config_item_set_description(XklConfigItem * item,
Packit Service 93d855
						    const gchar * description);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_get_country_name:
Packit Service 93d855
 * @code: ISO 3166 Alpha 2 code: 2 chars, uppercase (US, RU, FR, ...)
Packit Service 93d855
 *
Packit Service 93d855
 * Get localized country name, from ISO code
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: localized country name (USA, Russia, France, ... translated)
Packit Service 93d855
 */
Packit Service 93d855
	extern const gchar * xkl_get_country_name(const gchar * code);
Packit Service 93d855
Packit Service 93d855
/**
Packit Service 93d855
 * xkl_get_language_name:
Packit Service 93d855
 * @code: ISO 639 2B or 2T code: 3 chars, lowercase (eng, rus, fra, ...)
Packit Service 93d855
 *
Packit Service 93d855
 * Get localized language name, from ISO code
Packit Service 93d855
 *
Packit Service 93d855
 * Returns: localized country name (English, Russiam, French, ... translated)
Packit Service 93d855
 */
Packit Service 93d855
	extern const gchar * xkl_get_language_name(const gchar * code);
Packit Service 93d855
Packit Service 93d855
#ifdef __cplusplus
Packit Service 93d855
}
Packit Service 93d855
#endif				/* __cplusplus */
Packit Service 93d855
#endif