#include "AliHLTDataSource.h"
ClassImp(AliHLTDataSource)
AliHLTDataSource::AliHLTDataSource()
{
}
AliHLTDataSource::~AliHLTDataSource()
{
}
void AliHLTDataSource::GetInputDataTypes( AliHLTComponentDataTypeList& list)
{
list.clear();
}
int AliHLTDataSource::DoProcessing( const AliHLTComponentEventData& evtData,
const AliHLTComponentBlockData* blocks,
AliHLTComponentTriggerData& trigData,
AliHLTUInt8_t* outputPtr,
AliHLTUInt32_t& size,
AliHLTComponentBlockDataList& outputBlocks,
AliHLTComponentEventDoneData*& edd )
{
int iResult=0;
if (evtData.fBlockCnt > 0) {
int unknown=-1;
for (unsigned int block=0; block<evtData.fBlockCnt; block++) {
if (blocks[block].fDataType==kAliHLTDataTypeSOR ||
blocks[block].fDataType==kAliHLTDataTypeEOR ||
blocks[block].fDataType==kAliHLTDataTypeEvent ||
blocks[block].fDataType==kAliHLTDataTypeRunType ||
blocks[block].fDataType==kAliHLTDataTypeComponentStatistics ||
blocks[block].fDataType==kAliHLTDataTypeComponentTable ||
blocks[block].fDataType==kAliHLTDataTypeECSParam) {
continue;
}
unknown=block;
break;
}
static int warningCount=0;
if (unknown>=0 && warningCount++<5) {
HLTWarning("Data source component skips input data blocks: first unknown block %s",
DataType2Text(blocks[unknown].fDataType).c_str());
}
}
iResult=GetEvent(evtData, trigData, outputPtr, size, outputBlocks);
HLTDebug("component %s (%p) GetEvent finished (%d)", GetComponentID(), this, iResult);
edd = NULL;
return iResult;
}
int AliHLTDataSource::GetEvent( const AliHLTComponentEventData& evtData,
AliHLTComponentTriggerData& trigData,
AliHLTUInt8_t* ,
AliHLTUInt32_t& size,
AliHLTComponentBlockDataList& )
{
size=0;
return GetEvent(evtData, trigData);
}
int AliHLTDataSource::GetEvent( const AliHLTComponentEventData& , AliHLTComponentTriggerData& )
{
HLTFatal("no processing method implemented");
return -ENOSYS;
}