src/gui/objects/GBProjectHandle.cpp File Reference

#include <ncbi_pch.hpp>
#include <serial/objistr.hpp>
#include <serial/serial.hpp>
#include <connect/ncbi_conn_stream.hpp>
#include <gui/objutils/label.hpp>
#include <gui/objutils/registry.hpp>
#include <gui/utils/id_generator.hpp>
#include <corelib/rwstream.hpp>
#include <serial/pack_string.hpp>
#include <serial/objostr.hpp>
#include <serial/iterator.hpp>
#include <objects/general/Dbtag.hpp>
#include <objects/general/Object_id.hpp>
#include <objects/seqfeat/Imp_feat.hpp>
#include <objects/seqfeat/Gb_qual.hpp>
#include <corelib/ncbifile.hpp>
#include <gui/objects/GBProjectHandle.hpp>
#include <gui/objects/PluginMessage.hpp>

Include dependency graph for GBProjectHandle.cpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  STempFileLocker
class  CReadHook_SkipError
 This class is intended to skip over plugin messages in gbench projects that do not meet the current spec for a plugin message. More...
class  CGBDocumentLabelHandler

Functions

template<class ProjectType>
CRef< ProjectType > ReadProject (CNcbiIstream &istr)


Function Documentation

template<class ProjectType>
CRef<ProjectType> ReadProject CNcbiIstream istr  ) 
 

do we use memory pooling on deserialization? we have a compile-time constant as well as a config file override

should we pack strings?

we try, in order, ASN.1 binary, ASN.1 text, and XML this is a different order from workspaces, and this is intentional. For the release mode builds, binary ASN.1 projects will be written, so we try these first. Debug mode will write ASN.1 text.

memory profile optimization: we should use pooled strings to reduce the memory burden (from Eugene Vasilchenko)

add a read hook to track the reading of a plugin message we will permit a plugin message to be ill-formed in the case of an ill-formed object, we will ignore it

CObjectTypeInfo item_hook = CType<CProjectItem>(); CRef<CReadHook_SkipError> item_hook_monitor (new CReadHook_SkipError("ProjectItem")); item_hook.SetLocalReadHook(*obj_istr, item_hook_monitor);

Definition at line 131 of file GBProjectHandle.cpp.

References eSerial_AsnBinary, eSerial_AsnText, eSerial_Xml, CObjectTypeInfo::FindMember(), CObjectTypeInfo::FindVariant(), CGuiRegistry::GetBool(), CGuiRegistry::GetInstance(), LOG_POST, CObjectIStream::Open(), CRef< C, Locker >::Reset(), CObjectTypeInfo::SetLocalReadHook(), and CException::what().


Generated on Mon Dec 7 07:48:40 2009 for NCBI C++ ToolKit by  doxygen 1.4.6
Modified on Mon Dec 07 16:21:47 2009 by modify_doxy.py rev. 173732