]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/util/AliHLTAgentUtil.h
- singleton functionality added for component and configuration handler
[u/mrichter/AliRoot.git] / HLT / BASE / util / AliHLTAgentUtil.h
CommitLineData
242bb794 1// @(#) $Id$
2
3#ifndef ALIHLTAGENTUTIL_H
4#define ALIHLTAGENTUTIL_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTAgentUtil.h
9 @author Matthias Richter
10 @date
11 @brief Agent of the libAliHLTUtil library
12*/
13
14#include "AliHLTModuleAgent.h"
15
16/**
17 * @class AliHLTAgentUtil
18 * This is the agent for the AliHLTUtil library.
19 *
20 * @ingroup alihlt_system
21 */
22class AliHLTAgentUtil : public AliHLTModuleAgent {
23 public:
24 /**
25 * standard constructor. The agent is automatically registered in the
26 * global agent manager
27 */
28 AliHLTAgentUtil();
29 /** destructor */
30 virtual ~AliHLTAgentUtil();
31
32 /**
33 * Register all configurations belonging to this module with the
34 * AliHLTConfigurationHandler. The agent can adapt the configurations
35 * to be registered to the current AliRoot setup by checking the
36 * runloader.
dee38f1b 37 * @param handler [in] the configuration handler
38 * @param rawReader [in] AliRoot RawReader instance
39 * @param runloader [in] AliRoot runloader
242bb794 40 * @return neg. error code if failed
41 */
42 int CreateConfigurations(AliHLTConfigurationHandler* handler,
dee38f1b 43 AliRawReader* rawReader=NULL,
242bb794 44 AliRunLoader* runloader=NULL) const;
45
46 /**
47 * Get the top configurations belonging to this module.
48 * A top configuration describes a processing chain. It can simply be
49 * described by the last configuration(s) in the chain.
50 * The agent can adapt the configurations to be registered to the current
51 * AliRoot setup by checking the runloader.
dee38f1b 52 * @param rawReader [in] AliRoot RawReader instance
53 * @param runloader [in] AliRoot runloader
54 * @return string containing the top configurations separated by blanks
242bb794 55 */
dee38f1b 56 const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
57 AliRunLoader* runloader=NULL) const;
242bb794 58 /**
59 * Component libraries which the configurations of this agent depend on.
60 * @return list of component libraries as a blank-separated string.
61 */
62 const char* GetRequiredComponentLibraries() const;
63
f3506ea2 64 /**
65 * Register components for the AliHLTUtil library.
66 * @param pHandler [in] instance of the component handler
67 */
68 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
242bb794 69 protected:
70
71 private:
72 ClassDef(AliHLTAgentUtil, 0);
73};
74
75#endif