vdr  2.6.1
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes | List of all members
cCharSetConv Class Reference

#include <tools.h>

Public Member Functions

 cCharSetConv (const char *FromCode=NULL, const char *ToCode=NULL)
 
 ~cCharSetConv ()
 
const char * Convert (const char *From, char *To=NULL, size_t ToLength=0)
 

Static Public Member Functions

static const char * SystemCharacterTable (void)
 
static void SetSystemCharacterTable (const char *CharacterTable)
 

Private Attributes

iconv_t cd
 
char * result
 
size_t length
 

Static Private Attributes

static char * systemCharacterTable = NULL
 

Detailed Description

Definition at line 151 of file tools.h.

Constructor & Destructor Documentation

◆ cCharSetConv()

cCharSetConv::cCharSetConv ( const char *  FromCode = NULL,
const char *  ToCode = NULL 
)

Sets up a character set converter to convert from FromCode to ToCode.

If FromCode is NULL, the previously set systemCharacterTable is used (or "UTF-8" if no systemCharacterTable has been set). If ToCode is NULL, "UTF-8" is used.

Definition at line 968 of file tools.c.

References cd, length, result, and systemCharacterTable.

◆ ~cCharSetConv()

cCharSetConv::~cCharSetConv ( )

Definition at line 979 of file tools.c.

References cd, and result.

Member Function Documentation

◆ Convert()

const char * cCharSetConv::Convert ( const char *  From,
char *  To = NULL,
size_t  ToLength = 0 
)

Converts the given Text from FromCode to ToCode (as set in the constructor).

If To is given, it is used to copy at most ToLength bytes of the result (including the terminating 0) into that buffer. If To is not given, the result is copied into a dynamically allocated buffer and is valid as long as this object lives, or until the next call to Convert(). The return value always points to the result if the conversion was successful (even if a fixed size To buffer was given and the result didn't fit into it). If the string could not be converted, the result points to the original From string.

Definition at line 1009 of file tools.c.

References cd, esyslog, length, max(), and result.

Referenced by cSubtitleObject::DecodeCharacterString(), and SetSystemCharacterTable().

◆ SetSystemCharacterTable()

void cCharSetConv::SetSystemCharacterTable ( const char *  CharacterTable)
static

Definition at line 986 of file tools.c.

References Convert(), systemCharacterTable, SystemToUtf8, Utf8CharGet(), and Utf8CharLen().

Referenced by main().

◆ SystemCharacterTable()

static const char* cCharSetConv::SystemCharacterTable ( void  )
inlinestatic

Member Data Documentation

◆ cd

iconv_t cCharSetConv::cd
private

Definition at line 153 of file tools.h.

Referenced by cCharSetConv(), Convert(), and ~cCharSetConv().

◆ length

size_t cCharSetConv::length
private

Definition at line 155 of file tools.h.

Referenced by cCharSetConv(), and Convert().

◆ result

char* cCharSetConv::result
private

Definition at line 154 of file tools.h.

Referenced by cCharSetConv(), Convert(), and ~cCharSetConv().

◆ systemCharacterTable

char * cCharSetConv::systemCharacterTable = NULL
staticprivate

Definition at line 156 of file tools.h.

Referenced by cCharSetConv(), SetSystemCharacterTable(), and SystemCharacterTable().


The documentation for this class was generated from the following files: