7 #ifndef __data_BinaryReader_h__ 8 #define __data_BinaryReader_h__ 15 class FE_DL_EXPORT BinaryReader :
public Reader
17 typedef Array<Record> t_r;
18 typedef std::map<int, sp<RecordGroup> > t_id_rg;
19 typedef std::map<int, sp<RecordArray> > t_id_ra;
21 BinaryReader(sp<Scope> spScope);
22 virtual ~BinaryReader(
void);
23 virtual sp<RecordGroup> input(std::istream &istrm);
29 std::list<String> m_typenames;
31 sp<Attribute> m_spAttribute;
34 typedef Array<AttributeInfo> t_attrinfo;
37 sp<Layout> m_spLayout;
38 Array<AttributeInfo> m_attributeInfos;
40 typedef std::map<int, LayoutInfo> t_id_layoutinfo;
41 struct RecordWiringInfo
44 Accessor<Record> m_aRecord;
47 typedef std::list<RecordWiringInfo> t_wiring;
49 struct WeakRecordWiringInfo
52 Accessor<WeakRecord> m_aRecord;
55 typedef std::list<WeakRecordWiringInfo> t_wk_wiring;
57 U8 getCode(std::istream &istrm);
58 void readLayout(std::istream &istrm);
59 void readAttribute(std::istream &istrm);
60 void readState(std::istream &istrm);
61 void readRecord(std::istream &istrm, LayoutInfo &l_i);
62 void readRecordGroup(std::istream &istrm);
63 void readInfo(std::istream &istrm);
64 void wireRecords(
void);
65 void recordGroupsToArrays(
void);
67 void skip(std::istream &istrm,
int skipsize);
70 t_id_layoutinfo m_layoutInfos;
74 t_attrinfo m_attrInfos;
75 t_wiring m_wiringList;
76 t_wk_wiring m_wkWiringList;
78 sp<BaseType> m_spRecordGroupType;
79 sp<BaseType> m_spRecordArrayType;
80 sp<BaseType> m_spRecordType;
81 sp<BaseType> m_spWeakRecordType;
kernel
Definition: namespace.dox:3