started the new framework module supporting PubSub and AliRoot
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTComponent.cxx
CommitLineData
f23a6e1a 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 components //
23// //
24///////////////////////////////////////////////////////////////////////////////
25
26#if __GNUC__== 3
27using namespace std;
28#endif
29
30#include "AliHLTComponent.h"
31#include "AliHLTComponentHandler.h"
32#include <string.h>
33#include "AliHLTSystem.h"
34
35ClassImp(AliHLTComponent)
36
37AliHLTComponentHandler* AliHLTComponent::fpComponentHandler=NULL;
38
39AliHLTComponent::AliHLTComponent()
40{
41 memset(&fEnvironment, 0, sizeof(AliHLTComponentEnvironment));
42 if (fpComponentHandler)
43 fpComponentHandler->ScheduleRegister(this);
44}
45
46AliHLTComponent::~AliHLTComponent()
47{
48}
49
50int AliHLTComponent::Init( AliHLTComponentEnvironment* environ, void* environ_param, int argc, const char** argv )
51{
52 int iResult=0;
53 if (environ) {
54 memcpy(&fEnvironment, environ, sizeof(AliHLTComponentEnvironment));
55 fEnvironment.fParam=environ_param;
56 }
57 iResult=DoInit(argc, argv);
58 return iResult;
59}
60
61int AliHLTComponent::Deinit()
62{
63 int iResult=0;
64 iResult=DoDeinit();
65 return iResult;
66}
67
68int AliHLTComponent::Logging( AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* format, ... ) {
69 if (fEnvironment.fLoggingFunc) {
70 va_list args;
71 va_start(args, format);
72 return (*fEnvironment.fLoggingFunc)(fEnvironment.fParam, severity, origin, keyword, AliHLTSystem::BuildLogString(format, args ));
73 }
74 return -ENOSYS;
75}