## cr-enc-handler cr-enc-handler |

## Functions

CREncHandler * | cr_enc_handler_get_instance ()
enum CRStatus | cr_enc_handler_resolve_enc_alias ()
enum CRStatus | cr_enc_handler_convert_input ()

## Types and Values

| CREncHandler

## Description

## Functions

### cr_enc_handler_get_instance ()

    CREncHandler *
    cr_enc_handler_get_instance (enum CREncoding a_enc);

Gets the instance of encoding handler. This function implements a singleton pattern.

Returns the instance of CREncHandler.

#### Parameters

a_enc | the encoding of the Handler. |

### cr_enc_handler_resolve_enc_alias ()

    enum CRStatus
    cr_enc_handler_resolve_enc_alias (const guchar *a_alias_name,
                                      enum CREncoding *a_enc);

Given an encoding name (called an alias name) the function returns the matching encoding type.

Returns CR_OK upon successfull completion, an error code otherwise.

#### Parameters

a_alias_name | the encoding name. |
a_enc | output param. The returned encoding type or 0 if the alias is not supported. |

### cr_enc_handler_convert_input ()

    enum CRStatus
    cr_enc_handler_convert_input (CREncHandler *a_this,
                                  const guchar *a_in,
                                  gulong *a_in_len,
                                  guchar **a_out,
                                  gulong *a_out_len);

Converts a raw input buffer into an utf8 buffer.

Returns CR_OK upon successfull completion, an error code otherwise.

#### Parameters

a_this | the current instance of CREncHandler. |
a_in | the input buffer to convert. |
a_in_len | in/out parameter. The len of the input buffer to convert. After return, contains the number of bytes actually consumed. |
a_out | output parameter. The converted output buffer. Must be freed by the buffer. |
a_out_len | output parameter. The length of the output buffer. |

## Types and Values

### CREncHandler

    typedef struct _CREncHandler CREncHandler;