libgadu  1.12.2
Definicje typów | Funkcje
Dokumentacja pliku tvbuilder.h
Wykres zależności załączania dla tvbuilder.h:
Ten wykres pokazuje, które pliki bezpośrednio lub pośrednio załączają ten plik:

Definicje typów

typedef struct gg_tvbuilder gg_tvbuilder_t
 

Funkcje

gg_tvbuilder_tgg_tvbuilder_new (struct gg_session *gs, struct gg_event *ge)
 
void gg_tvbuilder_free (gg_tvbuilder_t *tvb)
 
void gg_tvbuilder_fail (gg_tvbuilder_t *tvb, enum gg_failure_t failure)
 
int gg_tvbuilder_send (gg_tvbuilder_t *tvb, int type)
 
int gg_tvbuilder_is_valid (const gg_tvbuilder_t *tvb)
 
size_t gg_tvbuilder_get_size (const gg_tvbuilder_t *tvb)
 
void gg_tvbuilder_expected_size (gg_tvbuilder_t *tvb, size_t length)
 
void gg_tvbuilder_strip (gg_tvbuilder_t *tvb, size_t length)
 
void gg_tvbuilder_write_uint8 (gg_tvbuilder_t *tvb, uint8_t value)
 
void gg_tvbuilder_write_uint32 (gg_tvbuilder_t *tvb, uint32_t value)
 
void gg_tvbuilder_write_uint64 (gg_tvbuilder_t *tvb, uint64_t value)
 
void gg_tvbuilder_write_packed_uint (gg_tvbuilder_t *tvb, uint64_t value)
 
void gg_tvbuilder_write_buff (gg_tvbuilder_t *tvb, const char *buffer, size_t length)
 
void gg_tvbuilder_write_str (gg_tvbuilder_t *tvb, const char *buffer, ssize_t length)
 
void gg_tvbuilder_write_uin (gg_tvbuilder_t *tvb, uin_t uin)
 

Dokumentacja definicji typów

◆ gg_tvbuilder_t

typedef struct gg_tvbuilder gg_tvbuilder_t

Dokumentacja funkcji

◆ gg_tvbuilder_new()

gg_tvbuilder_t* gg_tvbuilder_new ( struct gg_session gs,
struct gg_event ge 
)

Tworzy nową instancję bufora.

Parametry
gsStruktura sesji
geStruktura zdarzenia
Zwraca
Zaalokowany bufor - musi być zwolniony przez gg_tvbuilder_free, gg_tvbuilder_fail lub gg_tvbuilder_send.

◆ gg_tvbuilder_free()

void gg_tvbuilder_free ( gg_tvbuilder_t tvb)

Zwalnia bufor.

Parametry
tvbBufor

◆ gg_tvbuilder_fail()

void gg_tvbuilder_fail ( gg_tvbuilder_t tvb,
enum gg_failure_t  failure 
)

Zwalnia bufor i generuje błąd połączenia.

Parametry
tvbBufor
failurePowód błędu

◆ gg_tvbuilder_send()

int gg_tvbuilder_send ( gg_tvbuilder_t tvb,
int  type 
)

Próbuje wysłać zawartość bufora i go zwalnia.

Parametry
tvbBufor
typeTyp pakietu
Zwraca
1 jeśli się powiodło, 0 w p.p.

◆ gg_tvbuilder_is_valid()

int gg_tvbuilder_is_valid ( const gg_tvbuilder_t tvb)

Sprawdza, czy wszystkie zapisy do bufora były prawidłowe.

Parametry
tvbBuilder.
Zwraca
Wartość różna od 0, jeżeli wszystkie zapisy były prawidłowe.

◆ gg_tvbuilder_get_size()

size_t gg_tvbuilder_get_size ( const gg_tvbuilder_t tvb)

Sprawdza rozmiar bufora.

Parametry
tvbBufor
Zwraca
Rozmiar bufora

◆ gg_tvbuilder_expected_size()

void gg_tvbuilder_expected_size ( gg_tvbuilder_t tvb,
size_t  length 
)

Określa oczekiwaną liczbę bajtów, o którą zostanie rozszerzony bufor.

Funkcja powoduje jedynie wzrost wydajności poprzez zmniejszenie ilości realokacji.

Parametry
tvbBuilder.
lengthOczekiwana liczba bajtów.

◆ gg_tvbuilder_strip()

void gg_tvbuilder_strip ( gg_tvbuilder_t tvb,
size_t  length 
)

Skraca bufor o podaną liczbę bajtów

Parametry
tvbBufor
lengthIlość bajtów do skrócenia

◆ gg_tvbuilder_write_uint8()

void gg_tvbuilder_write_uint8 ( gg_tvbuilder_t tvb,
uint8_t  value 
)

Zapisuje do bufora liczbę 8-bitową.

Parametry
tvbBufor
valueWartość do zapisania

◆ gg_tvbuilder_write_uint32()

void gg_tvbuilder_write_uint32 ( gg_tvbuilder_t tvb,
uint32_t  value 
)

Zapisuje do bufora liczbę 32-bitową.

Parametry
tvbBufor
valueWartość do zapisania

◆ gg_tvbuilder_write_uint64()

void gg_tvbuilder_write_uint64 ( gg_tvbuilder_t tvb,
uint64_t  value 
)

Zapisuje do bufora liczbę 64-bitową.

Parametry
tvbBufor
valueWartość do zapisania

◆ gg_tvbuilder_write_packed_uint()

void gg_tvbuilder_write_packed_uint ( gg_tvbuilder_t tvb,
uint64_t  value 
)

Zapisuje do bufora liczbę 1-9 bajtową.

Parametry
tvbBufor
valueWartość do zapisania
Zobacz również
gg_tvbuff_read_packed_uint

◆ gg_tvbuilder_write_buff()

void gg_tvbuilder_write_buff ( gg_tvbuilder_t tvb,
const char *  buffer,
size_t  length 
)

Zapisuje do bufora zawartość innego bufora.

Parametry
tvbBufor docelowy
bufferBufor źródłowy
lengthIlość danych do skopiowania

◆ gg_tvbuilder_write_str()

void gg_tvbuilder_write_str ( gg_tvbuilder_t tvb,
const char *  buffer,
ssize_t  length 
)

Zapisuje do bufora ciąg tekstowy (mogący zawierać znaki \0).

Parametry
tvbBufor docelowy
bufferBufor źródłowy
lengthDługość tekstu, lub -1, jeżeli ma zostać wyliczona automatycznie (do pierwszego znaku \0)

◆ gg_tvbuilder_write_uin()

void gg_tvbuilder_write_uin ( gg_tvbuilder_t tvb,
uin_t  uin 
)

Zapisuje do bufora identyfikator użytkownika.

Parametry
tvbBufor
uinIdentyfikator użytkownika