haiku/headers/private/textencoding/CharacterSet.h
shatty 4243ebaafb MOVED:
=============================================================================
RCS file: /cvsroot/open-beos/current/headers/private/support/CharacterSet.h,v
Working file: CharacterSet.h
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2;     selected revisions: 2
description:
----------------------------
revision 1.2
date: 2003/07/27 01:35:41;  author: shatty;  state: Exp;  lines: +5 -1
added default constructor
----------------------------
revision 1.1
date: 2003/07/26 21:24:40;  author: shatty;  state: Exp;
yummy character set support
=============================================================================


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2003-12-30 03:04:16 +00:00

90 lines
2.9 KiB
C++

#ifndef CHARACTER_SET_H
#define CHARACTER_SET_H
#include <SupportDefs.h>
namespace BPrivate {
/**
* @file CharacterSet.h
* @author Andrew Bachmann
* @brief Defines BCharacterSet
*
* @see http://www.iana.org/assignments/character-sets
**/
class BCharacterSet {
/**
* @class BCharacterSet
* @brief An object holding a variety of useful information about a character set.
*
* This information has been derived from the IANA standards organization.
* Since IANA provides several names for some encodings, this object also
* provides for aliases.
**/
public:
/**
* @brief default constructor, for stack allocated character set objects
**/
BCharacterSet();
/**
* @brief constructor, for internal use only
**/
BCharacterSet(uint32 id, uint32 MIBenum, const char * print_name,
const char * iana_name, const char * mime_name,
const char ** aliases);
/**
* @brief returns an id for use in BFont::SetEncoding
* @return an id for use in BFont::SetEncoding
**/
uint32 GetFontID(void) const;
/**
* @brief returns an id for use in convert_to/from_utf8
* @return an id for use in convert_to/from_utf8
**/
uint32 GetConversionID(void) const;
/**
* @brief returns an id for use in MIBs to identify coded character sets
* @return an id for use in MIBs to identify coded character sets
**/
uint32 GetMIBenum(void) const;
/**
* @brief returns the IANA standard name for this character set
* @return the IANA standard name for this character set
**/
const char * GetName(void) const;
/**
* @brief returns a user interface friendly name for this character set
* @return a user interface friendly name for this character set
**/
const char * GetPrintName(void) const;
/**
* @brief returns the MIME preferred name for this character set, or null if none exists
* @return the MIME preferred name for this character set, or null if none exists
**/
const char * GetMIMEName(void) const;
/**
* @brief returns the number of aliases for this character set
* @return the number of aliases for this character set
**/
int32 CountAliases(void) const;
/**
* @brief returns the index'th alias, or NULL if out of range
* @return the index'th alias, or NULL if out of range
**/
const char * AliasAt(uint32 index) const;
private:
uint32 id; //! id from convert_to_utf8/convert_from_utf8
uint32 MIBenum; //! for use in MIBs to identify coded character sets
const char * print_name; //! user interface friendly name
const char * iana_name; //! standard IANA name
const char * mime_name; //! the preferred mime name
const char ** aliases; //! aliases for this character set
uint32 aliases_count; //! how many aliases are available
};
}
#endif CHARACTER_SET_H