void DataStream_SequenceBase::PerformActionL(DataStream::DatastreamAction action, uint32 arg1, uint32 arg2) { switch(action) { case DataStream::KResetRead: case DataStream::KResetRecord: { step = 0; current_item = NULL; DataStream *item = First(); while(item) { item->PerformActionL(action,arg1, arg2); item = item->Suc(); } } break; case DataStream::KFinishedAdding: { DataStream *item = First(); while(item) { if(item->GetEnabledRecord() && !item->Finished()) item->PerformActionL(DataStream::KFinishedAdding); item = item->Suc(); } } break; case DataStream::KWriteAction: if(arg2 == (uint32) DataStream_SequenceBase::STRUCTURE_START) { DataStream *item = First(); while(item) { item->PerformActionL(DataStream::KWriteAction, 0, (uint32) DataStream_SequenceBase::STRUCTURE_START); item = item->Suc(); } } break; } DataStream::PerformActionL(action, arg1, arg2); }