rcc_class_t Struct Reference

`#include <librcc.h>`

## Public Attributes

const char * | name
const rcc_class_type | class_type
const char * | defvalue
rcc_class_default_charset * | defcharset
const char * | fullname
const unsigned long | flags

## Detailed Description

Encoding class description. Encoding classes are main concept of LibRCC library. The strings are recoded between different classes (for example in RusXMMS2 project ID3 titles are recoded between ID3 and Output classes). The current encoding of each class can be set using configuration file or API call, otherwise it will be detected automatically using current locale or default encoding.

If the defvalue is not NULL, it provides information about detection of the default encoding. The are following possibilities for that value:

- Detect default encoding using specified locale variable (LC_CTYPE for example). . - The current encoding of the another class will be used instead of default encodings. Short name of considered class should be specified.
- Just use specified multibyte encoding for all languages. In case of detection failure using all these methods, the defcharset will be examined if default encoding for current language is available. If not, the first encoding in the list will be used as current.

Additionaly it is possible to set special flags to prevent user from modifying class value. It is possible to protect class from changing ether using API, or configuration files.

See also
  rcc_class_default_charset_t
  RCC_CLASS_FLAG_CONST
  RCC_CLASS_FLAG_SKIP_SAVELOAD

The class type provides information for recoding functions about automatic detection of the class chrset. The encodings of the RCC_CLASS_STANDARD classes will be detected using autoengine (if available for current language. The RCC_CLASS_FS classes are associated with files and encoding will be guessed using find_file.

See also
  rcc_class_type_t

## Member Data Documentation

## class_type

const rcc_class_type rcc_class_t::class_type

specifies type of class (Standard, File System, Known)

## defcharset

rcc_class_default_charset* rcc_class_t::defcharset

default class encodings. Should be specified on per-language basys

## defvalue

const char* rcc_class_t::defvalue

locale variable name or parent name or multibyte encoding name

## flags

const unsigned long rcc_class_t::flags

Class flags. (CONST, SKIP_SAVELOAD)

## fullname

const char* rcc_class_t::fullname

Full name of the class

## name

const char* rcc_class_t::name

Short class name

The documentation for this struct was generated from the following file:

- librcc.h