libgadu  1.12.2
All Struktury Danych Pliki Funkcje Zmienne Definicje typów Wyliczenia Wartości wyliczeń Definicje Grupay Strony
Funkcje
Dokumentacja pliku message.c

Obsługa wiadomości. Więcej...

Funkcje

static void gg_append (char *dst, size_t *pos, const void *src, size_t len)
 
size_t gg_message_text_to_html (char *dst, const char *src, gg_encoding_t encoding, const unsigned char *format, size_t format_len)
 
static void gg_after_append_formatted_char (uint16_t *pos, unsigned char attr_flag, unsigned char *old_attr_flag, const unsigned char *color, unsigned char *old_color, size_t imgs_size, unsigned char **format, size_t *format_len)
 
size_t gg_message_html_to_text (char *dst, unsigned char *format, size_t *format_len, const char *html, gg_encoding_t encoding)
 
static size_t gg_message_html_to_text_110_buff (char *dst, const char *html)
 
static size_t gg_message_text_to_html_110_buff (char *dst, const char *text, ssize_t text_len)
 
char * gg_message_html_to_text_110 (const char *html)
 
char * gg_message_text_to_html_110 (const char *text, ssize_t text_len)
 

Opis szczegółowy

Obsługa wiadomości.

Plik zawiera funkcje dotyczące obsługi "klasy" gg_message_t, które w przyszłości zostaną dołączone do API. Obecnie używane są funkcje konwersji między tekstem z atrybutami i HTML.

Dokumentacja funkcji

static void gg_append ( char *  dst,
size_t *  pos,
const void *  src,
size_t  len 
)
static

Dodaje tekst na koniec bufora.

Parametry
dstWskaźnik na bufor roboczy
posWskaźnik na aktualne położenie w buforze roboczym
srcDodawany tekst
lenDługość dodawanego tekstu
size_t gg_message_text_to_html ( char *  dst,
const char *  src,
gg_encoding_t  encoding,
const unsigned char *  format,
size_t  format_len 
)

Zamienia tekst z formatowaniem Gadu-Gadu na HTML.

Parametry
dstBufor wynikowy (może być NULL)
srcTekst źródłowy
encodingKodowanie tekstu źródłowego oraz wynikowego
formatAtrybuty tekstu źródłowego
format_lenDługość bloku atrybutów tekstu źródłowego
Nota
Wynikowy tekst nie jest idealnym kodem HTML, ponieważ ma jak dokładniej odzwierciedlać to, co wygenerowałby oryginalny klient.
Dokleja \0 na końcu bufora wynikowego.
Zwraca
Długość tekstu wynikowego bez \0 (nawet jeśli dst to NULL).
static void gg_after_append_formatted_char ( uint16_t *  pos,
unsigned char  attr_flag,
unsigned char *  old_attr_flag,
const unsigned char *  color,
unsigned char *  old_color,
size_t  imgs_size,
unsigned char **  format,
size_t *  format_len 
)
static

Dokleja nowe atrybuty formatowania, jeśli konieczne, oraz inkrementuje pozycję znaku w tekście.

Parametry
posWskaźnik na zmienną przechowującą pozycję znaku w tekście
attr_flagAktualna flaga atrybutu formatowania
old_attr_flagWskaźnik na poprzednią flagę atrybutu formatowania
colorWskaźnik na tablicę z aktualnym kolorem RGB (jeśli attr_flag nie zawiera flagi GG_FONT_COLOR, ignorowane)
old_colorWskaźnik na tablicę z poprzednim kolorem RGB
imgs_sizeRozmiar atrybutów formatowania obrazków znajdujących się obecnie w tablicy atrybutów formatowania, w bajtach
formatWskaźnik na wskaźnik do tablicy atrybutów formatowania
format_lenWskaźnik na zmienną zawierającą długość tablicy atrybutów formatowania, w bajtach (może być NULL)
size_t gg_message_html_to_text ( char *  dst,
unsigned char *  format,
size_t *  format_len,
const char *  html,
gg_encoding_t  encoding 
)

Zamienia tekst w formacie HTML na czysty tekst.

Parametry
dstBufor wynikowy (może być NULL)
formatBufor wynikowy z atrybutami formatowania (może być NULL)
format_lenWskaźnik na zmienną, do której zostanie zapisana potrzebna wielkość bufora wynikowego z atrybutami formatowania, w bajtach (może być NULL)
htmlTekst źródłowy
encodingKodowanie tekstu źródłowego oraz wynikowego
Nota
Dokleja \0 na końcu bufora wynikowego.
Zwraca
Długość bufora wynikowego bez \0 (nawet jeśli dst to NULL).
static size_t gg_message_html_to_text_110_buff ( char *  dst,
const char *  html 
)
static
static size_t gg_message_text_to_html_110_buff ( char *  dst,
const char *  text,
ssize_t  text_len 
)
static
char* gg_message_html_to_text_110 ( const char *  html)
char* gg_message_text_to_html_110 ( const char *  text,
ssize_t  text_len 
)