71 in.ReadClassMember(member);
113 for (; item; ++item) {
119 for (++item; item; ++item) {
170 in.ReadClassMember(member);
194 out.BeginChoice(choiceType);
198 out.BeginChoiceVariant(choiceType, variantInfo->
GetId());
201 out.BeginClass(classType);
208 for (; item; ++item) {
214 for (++item; item; ++item) {
220 out.EndChoiceVariant();
222 out.EndContainerElement();
237 in.ReadClassMember(member);
247 if (item.GetItemInfo()->GetId().GetName() ==
"class")
User-defined methods of the data storage class.
User-defined methods of the data storage class.
Interface for handling Seq-entry objects.
virtual bool HandleSeqEntry(CRef< CSeq_entry > &entry)=0
user code for handling a Seq-entry goes here.
Reading (iterating through) elements of containers (SET OF, SEQUENCE OF).
CReadBioseqsetClassHook(CReadEntryHook &entryHook, CObjectOStream &out)
void ReadClassMember(CObjectIStream &in, const CObjectInfoMI &member) override
This method will be called at approriate time when the object of requested type is to be read.
CReadEntryHook & m_entryHook
Read hook for data member of a containing object (eg, SEQUENCE)
CReadEntryHook(CGBReleaseFile::ISeqEntryHandler &handler, CObjectOStream &out)
CGBReleaseFile::ISeqEntryHandler & m_handler
friend class CReadBioseqsetClassHook
void x_SetBioseqsetHook(CObjectIStream &in, bool isSet)
void ReadObject(CObjectIStream &in, const CObjectInfo &obj) override
This method will be called at approriate time when the object of requested type is to be read.
void ReadClassMember(CObjectIStream &in, const CObjectInfoMI &member) override
This method will be called at approriate time when the object of requested type is to be read.
CReadSetHook(CGBReleaseFile::ISeqEntryHandler &handler, CObjectOStream &out)
CGBReleaseFile::ISeqEntryHandler & m_handler
void ReadClassMember(CObjectIStream &in, const CObjectInfoMI &member) override
This method will be called at approriate time when the object of requested type is to be read.
ISubmitBlockHandler & m_handler
CReadSubmitBlockHook(ISubmitBlockHandler &handler, CObjectOStream &out)
virtual bool HandleSubmitBlock(CSubmit_block &block)=0
user code for handling a Submit-block goes here.
void(*)(CSeq_entry_Handle seh, IWorkbench *wb, const CSerialObject &obj) handler
std::ofstream out("events_result.xml")
main entry point for tests
const CMemberId & GetId(void) const
const string & GetName(void) const
TTypeInfo GetTypeInfo(void) const
const CTypeInfo * TTypeInfo
virtual const CTypeInfo * GetThisTypeInfo(void) const =0
static const TObjectType * SafeCast(TTypeInfo type)
static TTypeInfo GetTypeInfo(void)
virtual void EndClassMember(void)
virtual void BeginClass(const CClassTypeInfo *classInfo)=0
virtual void WriteFileHeader(TTypeInfo type)
virtual void BeginChoice(const CChoiceTypeInfo *choiceType)
TFrame & PushFrame(EFrameType type, TTypeInfo typeInfo, TConstObjectPtr objectPtr=0)
void ResetLocalReadHook(CObjectIStream &stream) const
virtual void EndContainerElement(void)
const CMemberInfo * GetMemberInfo(void) const
CMemberIterator BeginMembers(void) const
Create class member iterator.
const CItemInfo * GetItemInfo(void) const
TObjectPtr GetObjectPtr(void) const
Get pointer to object.
CMemberIterator FindMember(const string &memberName) const
Find class member by its name.
CObjectInfo GetMember(void) const
Get class member data.
const CObjectInfo & GetClassObject(void) const
Get containing class data.
virtual void BeginContainer(const CContainerTypeInfo *containerType)=0
void WriteObject(const CConstObjectInfo &object)
TTypeInfo GetTypeInfo(void) const
int GetPrimitiveValueInt(void) const
Get data as int.
const CChoiceTypeInfo * GetChoiceTypeInfo(void) const
virtual void BeginChoiceVariant(const CChoiceTypeInfo *choiceType, const CMemberId &id)=0
void SetLocalReadHook(CObjectIStream &stream, CReadClassMemberHook *hook) const
virtual void BeginContainerElement(TTypeInfo elementType)
virtual void BeginClassMember(const CMemberId &id)=0
virtual void EndContainer(void)
bool IsSet(void) const
Is member assigned a value.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
TTypeInfo GetPointedType(void) const
const CMemberInfo * GetMemberInfo(TMemberIndex index) const
const CVariantInfo * GetVariantInfo(TMemberIndex index) const
TSet & SetSet(void)
Select the variant.
@ eClass_genbank
converted genbank
void SetSub(TSub &value)
Assign a value to Sub data member.
bool IsSetSub(void) const
Check if a value has been assigned to Sub data member.
std::istream & in(std::istream &in_, double &x_)
static CObjectTypeInfoMI GetBioseqsetClassTypeInfo()
static void EndWritingSet(CObjectOStream &out, const CObjectInfo &obj)
static void StartWritingSet(CObjectOStream &out)
static void WriteClassMember(CObjectOStream &out, const CObjectInfoMI &member)
static void MidWritingSet(CObjectOStream &out, const CObjectInfo &obj)