Adding custom linkdef file so that dictionaries are correctly generated for AliHLTTri...
[u/mrichter/AliRoot.git] / HLT / trigger / AliHLTTriggerAgent.cxx
CommitLineData
89858ccc 1// $Id$
2
3//**************************************************************************
4//* This file is property of and copyright by the ALICE HLT Project *
5//* ALICE Experiment at CERN, All rights reserved. *
6//* *
7//* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8//* for The ALICE HLT Project. *
9//* *
10//* Permission to use, copy, modify and distribute this software and its *
11//* documentation strictly for non-commercial purposes is hereby granted *
12//* without fee, provided that the above copyright notice appears in all *
13//* copies and that both the copyright notice and this permission notice *
14//* appear in the supporting documentation. The authors make no claims *
15//* about the suitability of this software for any purpose. It is *
16//* provided "as is" without express or implied warranty. *
17//**************************************************************************
18
19/** @file AliHLTTriggerAgent.cxx
20 @author Matthias Richter
21 @date
22 @brief Agent of the libAliHLTTrigger library
23*/
24
25#include <cassert>
26#include "AliHLTTriggerAgent.h"
27
28// header files of library components
29#include "AliHLTEventSummaryProducerComponent.h"
30#include "AliHLTRunSummaryProducerComponent.h"
5d79eb88 31#include "AliHLTGlobalTriggerComponent.h"
89858ccc 32
33/** global instance for agent registration */
34AliHLTTriggerAgent gAliHLTTriggerAgent;
35
36/** ROOT macro for the implementation of ROOT specific class methods */
37ClassImp(AliHLTTriggerAgent)
38
39AliHLTTriggerAgent::AliHLTTriggerAgent()
40 :
41 AliHLTModuleAgent("Trigger")
42{
43 // see header file for class documentation
44 // or
45 // refer to README to build package
46 // or
47 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
48}
49
50AliHLTTriggerAgent::~AliHLTTriggerAgent()
51{
52 // see header file for class documentation
53}
54
55int AliHLTTriggerAgent::RegisterComponents(AliHLTComponentHandler* pHandler) const
56{
57 // see header file for class documentation
58 assert(pHandler);
59 if (!pHandler) return -EINVAL;
5d79eb88 60 pHandler->AddComponent(new AliHLTGlobalTriggerComponent);
89858ccc 61 return 0;
62}
63
64int AliHLTTriggerAgent::GetHandlerDescription(AliHLTComponentDataType dt,
65 AliHLTUInt32_t /*spec*/,
66 AliHLTOUTHandlerDesc& desc) const
67{
68 // see header file for class documentation
69
70 // handler for the HLT readou list and trigger data data blocks {'HLTRDLST':'HLT '}
71 if (dt==AliHLTComponentDataTypeInitializer("HLTRDLST", kAliHLTDataOriginOut) ||
72 dt==AliHLTComponentDataTypeInitializer("HLTTRGDT", kAliHLTDataOriginOut)) {
73 desc=AliHLTOUTHandlerDesc(kProprietary, dt, GetModuleId());
74 return 1;
75 }
76
77 return 0;
78}
79
80AliHLTOUTHandler* AliHLTTriggerAgent::GetOutputHandler(AliHLTComponentDataType dt,
81 AliHLTUInt32_t /*spec*/)
82{
83 // see header file for class documentation
84
85 // handler for the HLT readou list and trigger data data blocks {'HLTRDLST':'HLT '}
86 if (dt==AliHLTComponentDataTypeInitializer("HLTRDLST", kAliHLTDataOriginOut) ||
87 dt==AliHLTComponentDataTypeInitializer("HLTTRGDT", kAliHLTDataOriginOut)) {
88 return NULL;
89 }
90
91 return NULL;
92}
93
94int AliHLTTriggerAgent::DeleteOutputHandler(AliHLTOUTHandler* pInstance)
95{
96 // see header file for class documentation
97 if (pInstance==NULL) return -EINVAL;
98
99 return 0;
100}