a string representation.
Moved the MakeOutputDataBlockList out of the environment structure
so that the vector class will not be needed inside 'extern "C"'
sections.
iResult=DoDeinit();
return iResult;
}
+
+void AliHLTComponent::DataType2Text( const AliHLTComponent_DataType& type, char output[14] ) {
+memset( output, 0, 14 );
+strncat( output, type.fOrigin, 4 );
+strcat( output, ":" );
+strncat( output, type.fID, 8 );
+}
+
+int AliHLTComponent::MakeOutputDataBlockList( const vector<AliHLTComponent_BlockData>& blocks, AliHLTUInt32_t* blockCount,
+ AliHLTComponent_BlockData** outputBlocks ) {
+ if ( !blockCount || !outputBlocks )
+ return EFAULT;
+ AliHLTUInt32_t count = blocks.size();
+ if ( !count )
+ {
+ *blockCount = 0;
+ *outputBlocks = NULL;
+ return 0;
+ }
+ *outputBlocks = reinterpret_cast<AliHLTComponent_BlockData*>( AllocMemory( sizeof(AliHLTComponent_BlockData)*count ) );
+ if ( !*outputBlocks )
+ return ENOMEM;
+ for ( unsigned long i = 0; i < count; i++ )
+ (*outputBlocks)[i] = blocks[i];
+ *blockCount = count;
+ return 0;
+
+}
}
int MakeOutputDataBlockList( const vector<AliHLTComponent_BlockData>& blocks, AliHLTUInt32_t* blockCount,
- AliHLTComponent_BlockData** outputBlocks ) {
- if (fEnvironment.fMakeOutputDataBlockListFunc)
- return (*fEnvironment.fMakeOutputDataBlockListFunc)(fEnvironment.fParam, blocks, blockCount, outputBlocks );
- return -ENOSYS;
- }
+ AliHLTComponent_BlockData** outputBlocks );
+/* { */
+/* if (fEnvironment.fMakeOutputDataBlockListFunc) */
+/* return (*fEnvironment.fMakeOutputDataBlockListFunc)(fEnvironment.fParam, blocks, blockCount, outputBlocks ); */
+/* return -ENOSYS; */
+/* } */
int GetEventDoneData( unsigned long size, AliHLTComponent_EventDoneData** edd ) {
if (fEnvironment.fGetEventDoneDataFunc)
}
+ void DataType2Text( const AliHLTComponent_DataType& type, char output[14] );
+
private:
static AliHLTComponentHandler* fpComponentHandler;
AliHLTComponentEnvironment fEnvironment;
AliHLTComponentEnvironment fEnvironment;
ClassDef(AliHLTComponentHandler, 0)
+
};
#endif
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-#include <vector>
-using namespace std;
+/* #include <vector> */
+/* using namespace std; */
extern "C" {
#if 0
int (*fAllocShmMemoryFunc)( void* param, unsigned long size, AliHLTComponent_BlockData* blockLocation ); // future addition already foreseen/envisioned
#endif
- int (*fMakeOutputDataBlockListFunc)( void* param, const vector<AliHLTComponent_BlockData>& blocks, AliHLTUInt32_t* blockCount, AliHLTComponent_BlockData** outputBlocks );
+/* int (*fMakeOutputDataBlockListFunc)( void* param, const vector<AliHLTComponent_BlockData>& blocks, AliHLTUInt32_t* blockCount, AliHLTComponent_BlockData** outputBlocks ); */
int (*fGetEventDoneDataFunc)( void* param, AliHLTEventID_t eventID, unsigned long size, AliHLTComponent_EventDoneData** edd );
AliHLTfctLogging fLoggingFunc;
};