Класс tlv_base_t

#include <base.hpp>

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

basic_string_tlv_t compound_tlv_t scalar_tlv_t tagged_scalar_wrapper_t Полный список членов класса

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

Базовый класс для TLV.


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

virtual default_tag_type_t tlv_tag () const =0
 Определить значение поля Tag для TLV.
virtual size_t tlv_size () const =0
 Value).
virtual void tlv_unpack (oess_1::io::ibinstream_t &s, default_tag_type_t tag_id)=0
 Прочитать поля Length и Value из входного потока.
virtual void tlv_pack (oess_1::io::obinstream_t &s) const =0
 Записать TLV в выходной поток.


Методы

virtual void tlv_pack ( oess_1::io::obinstream_t s  )  const [pure virtual]

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

Записываются все поля (Tag, Length, Value).

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

Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.

virtual size_t tlv_size (  )  const [pure virtual]

Value).

Данный метод необходим для эффективной реализации записи и чтения TLV в потоки, которые не позволяют осуществлять позиционирование на произвольную позицию.

Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.

virtual default_tag_type_t tlv_tag (  )  const [pure virtual]

Определить значение поля Tag для TLV.

Вполне могут быть объекты TLV, которые имеют несколько значений для поля Tag. Например, объекты, имеющие несколько представлений в виде TLV. В этом случае данный метод должен либо возвращать корректное значение Tag ("предпочтительное" значение Tag из всех доступных значений), либо должен порождать исключение.

Исключения:
std::exception В случае ошибок.

Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.

virtual void tlv_unpack ( oess_1::io::ibinstream_t s,
default_tag_type_t  tag_id 
) [pure virtual]

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

Данный метод вызывается уже после того, как из входного потока будет прочитано поле Tag.

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

Замещается в basic_string_tlv_t, compound_tlv_t, scalar_tlv_t и tagged_scalar_wrapper_t.


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