started the new framework module supporting PubSub and AliRoot
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTProcessor.cxx
1 // $Id$
2
3 /**************************************************************************
4  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  *                                                                        *
6  * Authors: Matthias Richter <Matthias.Richter@ift.uib.no>                *
7  *          Timm Steinbeck <timm@kip.uni-heidelberg.de>                   *
8  *          Artur Szostak <artursz@iafrica.com>                           *
9  *          for The ALICE Off-line Project.                               *
10  *                                                                        *
11  * Permission to use, copy, modify and distribute this software and its   *
12  * documentation strictly for non-commercial purposes is hereby granted   *
13  * without fee, provided that the above copyright notice appears in all   *
14  * copies and that both the copyright notice and this permission notice   *
15  * appear in the supporting documentation. The authors make no claims     *
16  * about the suitability of this software for any purpose. It is          *
17  * provided "as is" without express or implied warranty.                  *
18  **************************************************************************/
19
20 ///////////////////////////////////////////////////////////////////////////////
21 //                                                                           //
22 // base class for HLT analysis components                                             //
23 //                                                                           //
24 ///////////////////////////////////////////////////////////////////////////////
25
26 #if __GNUC__== 3
27 using namespace std;
28 #endif
29
30 #include "AliHLTProcessor.h"
31 #include <string.h>
32
33 ClassImp(AliHLTProcessor)
34
35 AliHLTProcessor::AliHLTProcessor()
36
37 }
38
39 AliHLTProcessor::~AliHLTProcessor()
40
41 }
42
43 int AliHLTProcessor::Init( AliHLTComponentEnvironment* environ, void* environ_param, int argc, const char** argv )
44 {
45   int iResult=0;
46   iResult=AliHLTComponent::Init(environ, environ_param, argc, argv);
47   return iResult;
48 }
49
50 int AliHLTProcessor::Deinit()
51 {
52   int iResult=0;
53   iResult=AliHLTComponent::Deinit();
54   return iResult;
55 }
56
57 int AliHLTProcessor::ProcessEvent( AliHLTComponent_EventData evtData, AliHLTComponent_BlockData* blocks, 
58                             AliHLTComponent_TriggerData trigData, AliHLTUInt8_t* outputPtr, 
59                             AliHLTUInt32_t* size, AliHLTUInt32_t* outputBlockCnt, 
60                             AliHLTComponent_BlockData** outputBlocks,
61                             AliHLTComponent_EventDoneData** edd )
62 {
63   int iResult=0;
64   vector<AliHLTComponent_BlockData> blockData;
65   iResult=DoEvent(evtData, blocks, trigData, outputPtr, size, blockData);
66   if (iResult>=0) {
67     iResult=MakeOutputDataBlockList(blockData, outputBlockCnt, outputBlocks);
68   }
69   return iResult;
70 }
71