Класс length_processor_t

#include <base.hpp>

Граф наследования:length_processor_t:

default_length_processor_t Полный список членов класса

Подробное описание

Интерфейс обработчика поля Length в двоичном потоке.

Отвечает за чтение и запись поля Length.

В некоторых случаях Length может требовать нескольких значений в потоке. Например, на поле Length отводится один байт, если Length находится в диапазоне от 0 до 127. Два байта, если Length находится в диапазоне от 128 до 255. Тогда первый байт (b0) содержит 0x81, a второй дополнительное значение (0x80-0xFF). См. GSM 11.14 v.8.3.0 1999 Annex D: Structure of SIM Application Toolkit communications (http://www.etsi.org).

Для того чтобы TLV-классы не зависели от способа представления Length, каждый из TLV-классов будет связываться с конкретной реализацией length_processor_t.


Открытые члены

virtual size_t tlv_length_size (size_t value_length) const =0
 для представления поля Length.
virtual void tlv_unpack_length (oess_1::io::ibinstream_t &s, size_t &value_length)=0
 Прочитать Length из входного потока.
virtual void tlv_pack_length (oess_1::io::obinstream_t &s, size_t value_length) const =0
 Записать Length в выходной поток.


Методы

virtual size_t tlv_length_size ( size_t  value_length  )  const [pure virtual]

для представления поля Length.

Аргументы:
value_length  Длина тела TLV.

Замещается в default_length_processor_t.

virtual void tlv_pack_length ( oess_1::io::obinstream_t s,
size_t  value_length 
) const [pure virtual]

Записать Length в выходной поток.

Аргументы:
s  Поток, с текущей позиции которого будет осуществляться запись поля Length.
value_length  Значение поля Length.

Замещается в default_length_processor_t.

virtual void tlv_unpack_length ( oess_1::io::ibinstream_t s,
size_t &  value_length 
) [pure virtual]

Прочитать Length из входного потока.

Аргументы:
s  Поток, с текущей позиции которого будет осуществляться чтение поля Length.
value_length  Приемник значения поля Length

Замещается в default_length_processor_t.


Объявления и описания членов классов находятся в файлах:
Документация по ObjESSty. Последние изменения: Fri Oct 13 18:35:40 2006. Создано системой  doxygen 1.4.7
Hosted by uCoz