BList.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "Qt.h"
00024 #include "BList.h"
00025 #include "Imports.cpp"
00026
00028
00030 BList::BList()
00031 : list(), errorItem()
00032 {
00033 }
00034
00036
00039 BList::~BList()
00040 {
00041 foreach (const BItem *item, list)
00042 delete item;
00043 }
00044
00046
00049 void BList::append (BItem *item)
00050 {
00051 list.append (item);
00052 }
00053
00055
00059 bool BList::read (BinaryReader &reader)
00060 {
00061 uchar listMarker = reader.readByte();
00062 Q_ASSERT (listMarker == 'l');
00063
00064 while (reader.lookAhead(1) != 'e') {
00065 auto_ptr <BItem> item = readItem (reader);
00066 if (typeid (*item) == typeid (BErrorItem))
00067 return false;
00068 append (item.release());
00069 }
00070 reader.readByte();
00071 return true;
00072 }
00073