Пример #1
0
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);
}