Класс oextension_t

#include <ent.hpp>

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

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

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

Базовый класс для управления разметкой расширения сущности в выходном потоке.

Начиная с:
v.1.2.0


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

virtual void pack (oess_1::io::ostream_t &to) const =0
 Упаковать расширение в указанный поток.
virtual void pack_opaque (const unknown_extension_t &ext)=0
 Упаковать двоичный образ неизвестного расширения.
Реализация унаследованных методов.
virtual bool obj_start (const void *object, const std::string *type_name, const std::string &scheme)=0
virtual void obj_finish (const void *object, const std::string *type_name)=0
 Помещение в поток маркера окончания объекта.
virtual void obj_complete (const void *object, const std::string *type_name)=0
virtual void pack_type_name (const std::string &type_name, const std::string &type_scheme)=0
 Упаковка имени типа в выходного поток.
virtual oess_1::io::ostream_tquery_stream ()=0
 Получение доступа к выходному потоку.
virtual bool set_optional_attr_existence (const std::string &attr_name, bool existence)=0
 Установить метку наличия сериализованного опционального атрибута.
virtual oextension_textension_start ()=0
 Создать объект, управляющий разметкой расширения сущности.
virtual void extension_finish (oextension_t &extension)=0
 Обработка завершения сериализации расширения объекта.


Методы

virtual void extension_finish ( oextension_t extension  )  [pure virtual]

Обработка завершения сериализации расширения объекта.

Начиная с:
v.1.2.0

Замещает oent_t.

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

virtual oextension_t* extension_start (  )  [pure virtual]

Создать объект, управляющий разметкой расширения сущности.

Начиная с:
v.1.2.0
Должен вызываться при начале сериализации расширения объекта.

Возвращает:
Динамически созданный объект, который должен быть удален посредством delete.

Замещает oent_t.

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

virtual void obj_complete ( const void *  object,
const std::string *  type_name 
) [pure virtual]

Вызывается после полного окончания сериализации объекта. При множественном наследовании между обращениями к obj_finish и obj_complete для одного и того же объекта еще может осуществляться сериализация составляющих, унаследованных из других базовых типов.

Замещает oent_t.

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

virtual bool obj_start ( const void *  object,
const std::string *  type_name,
const std::string &  scheme 
) [pure virtual]

Вызывается перед началом сериализации объекта.

Возвращает:
true, если объект должен быть сериализован. false, если эта составляющая объекта из-за виртуального множественного наследования уже была сериализована и повторную сериализацию осуществлять не нужно.

Замещает oent_t.

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

virtual void pack ( oess_1::io::ostream_t to  )  const [pure virtual]

Упаковать расширение в указанный поток.

Предполагается, что атрибуты, входящие в расширение, сначала упаковываются во временный вспомогательный поток. После того как все атрибуты расширения будут сериализованы, содержимое временного потока должно быть перенесено в общий поток объекта. Для этого у расширения предназначен данный метод.

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

virtual void pack_opaque ( const unknown_extension_t ext  )  [pure virtual]

Упаковать двоичный образ неизвестного расширения.

Предполагается, что атрибуты, входящие в расширение, сначала упаковываются во временный вспомогательный поток. Если же атрибутов в расширении нет, а есть только двоичный образ неизвестного расширения, то в этот временный вспомогательный поток должен быть упакован двоичный образ неизвестного расширения. Именно для этой упаковки предназначен данный метод.

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

virtual void pack_type_name ( const std::string &  type_name,
const std::string &  type_scheme 
) [pure virtual]

Упаковка имени типа в выходного поток.

Имя типа сохраняется в потоке при сохранении объекта по указателю на базовый класс. В различных потоках могут применяться различные способы представления подобных имен (в виде строки, идентификатора типа и т.д.).

v.1.1.0
Добавлен аргумент type_scheme.

Замещает oent_t.

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

virtual bool set_optional_attr_existence ( const std::string &  attr_name,
bool  existence 
) [pure virtual]

Установить метку наличия сериализованного опционального атрибута.

Начиная с:
v.1.2.0
Возвращает:
значение параметра existence.

Замещает oent_t.

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


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