ROOT logo
// $Id$

///**************************************************************************
///* This file is property of and copyright by the ALICE HLT Project        * 
///* ALICE Experiment at CERN, All rights reserved.                         *
///*                                                                        *
///* Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no>        *
///*                  for The ALICE HLT Project.                            *
///*                                                                        *
///* Permission to use, copy, modify and distribute this software and its   *
///* documentation strictly for non-commercial purposes is hereby granted   *
///* without fee, provided that the above copyright notice appears in all   *
///* copies and that both the copyright notice and this permission notice   *
///* appear in the supporting documentation. The authors make no claims     *
///* about the suitability of this software for any purpose. It is          *
///* provided "as is" without express or implied warranty.                  *
///**************************************************************************/

/// @file   AliHLTComponentConfiguration.cxx
/// @author Matthias Richter
/// @date   2010-11-26
/// @brief  HLT configuration description for a single component.
/// @note   The class is used in Offline (AliRoot) context

#include "AliHLTComponentConfiguration.h"

/** ROOT macro for the implementation of ROOT specific class methods */
ClassImp(AliHLTConfiguration)

AliHLTComponentConfiguration::AliHLTComponentConfiguration()
  : AliHLTConfiguration()
  , fLibrary()
  , fNodeNames()
  , fOnlineCommand()
{
  // see header file for class documentation
  // or
  // refer to README to build package
  // or
  // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
}

AliHLTComponentConfiguration::AliHLTComponentConfiguration(const char* id,
							   const char* component,
							   const char* sources,
							   const char* arguments)
  : AliHLTConfiguration(id, component, sources, arguments)
  , fLibrary()
  , fNodeNames()
  , fOnlineCommand()
{
  // constructor
}

AliHLTComponentConfiguration::AliHLTComponentConfiguration(const AliHLTComponentConfiguration& src)
  : AliHLTConfiguration(src)
  , fLibrary(src.fLibrary)
  , fNodeNames(src.fNodeNames)
  , fOnlineCommand(src.fOnlineCommand)
{
  // copy constructor
}

AliHLTComponentConfiguration& AliHLTComponentConfiguration::operator=(const AliHLTComponentConfiguration& src)
{
  // assignment operator
  if (this==&src) return *this;
  AliHLTConfiguration::operator=(src);
  fLibrary=src.fLibrary;
  fNodeNames=src.fNodeNames;
  fOnlineCommand=src.fOnlineCommand;
  return *this;
}

AliHLTComponentConfiguration::~AliHLTComponentConfiguration()
{
  // destructor
}

void AliHLTComponentConfiguration::SetOnlineCommand(const char* cmd)
{
  // set the online command string

  fOnlineCommand=cmd;
}

void AliHLTComponentConfiguration::PrintStatus() const
{
  // see header file for function documentation
  HLTLogKeyword("configuration status");
  if (!fLibrary.IsNull()) HLTMessage("  - component library: \"%s\"",
    fLibrary.Data());
  else HLTMessage("  - component library missing");
  if (!fOnlineCommand.IsNull()) HLTMessage("  - online command: \"%s\"",
    fOnlineCommand.Data());
  else HLTMessage("  - online command missing");
  if (!fNodeNames.IsNull()) HLTMessage("  - online nodes: \"%s\"",
    fNodeNames.Data());
  else HLTMessage("  - no online nodes");
}

void AliHLTComponentConfiguration::Print(const char* option) const
{
  // print information
  AliHLTConfiguration::Print(option);
  if (option && strcmp(option, "status")==0) {
    PrintStatus();
  }
  else {
  HLTLogKeyword("configuration");
  HLTMessage("component library %s, online command %s, online nodes %s",
	     GetComponentLibrary(),
	     GetOnlineCommand(),
	     GetNodeSettings()
	     );
   }
}
 AliHLTComponentConfiguration.cxx:1
 AliHLTComponentConfiguration.cxx:2
 AliHLTComponentConfiguration.cxx:3
 AliHLTComponentConfiguration.cxx:4
 AliHLTComponentConfiguration.cxx:5
 AliHLTComponentConfiguration.cxx:6
 AliHLTComponentConfiguration.cxx:7
 AliHLTComponentConfiguration.cxx:8
 AliHLTComponentConfiguration.cxx:9
 AliHLTComponentConfiguration.cxx:10
 AliHLTComponentConfiguration.cxx:11
 AliHLTComponentConfiguration.cxx:12
 AliHLTComponentConfiguration.cxx:13
 AliHLTComponentConfiguration.cxx:14
 AliHLTComponentConfiguration.cxx:15
 AliHLTComponentConfiguration.cxx:16
 AliHLTComponentConfiguration.cxx:17
 AliHLTComponentConfiguration.cxx:18
 AliHLTComponentConfiguration.cxx:19
 AliHLTComponentConfiguration.cxx:20
 AliHLTComponentConfiguration.cxx:21
 AliHLTComponentConfiguration.cxx:22
 AliHLTComponentConfiguration.cxx:23
 AliHLTComponentConfiguration.cxx:24
 AliHLTComponentConfiguration.cxx:25
 AliHLTComponentConfiguration.cxx:26
 AliHLTComponentConfiguration.cxx:27
 AliHLTComponentConfiguration.cxx:28
 AliHLTComponentConfiguration.cxx:29
 AliHLTComponentConfiguration.cxx:30
 AliHLTComponentConfiguration.cxx:31
 AliHLTComponentConfiguration.cxx:32
 AliHLTComponentConfiguration.cxx:33
 AliHLTComponentConfiguration.cxx:34
 AliHLTComponentConfiguration.cxx:35
 AliHLTComponentConfiguration.cxx:36
 AliHLTComponentConfiguration.cxx:37
 AliHLTComponentConfiguration.cxx:38
 AliHLTComponentConfiguration.cxx:39
 AliHLTComponentConfiguration.cxx:40
 AliHLTComponentConfiguration.cxx:41
 AliHLTComponentConfiguration.cxx:42
 AliHLTComponentConfiguration.cxx:43
 AliHLTComponentConfiguration.cxx:44
 AliHLTComponentConfiguration.cxx:45
 AliHLTComponentConfiguration.cxx:46
 AliHLTComponentConfiguration.cxx:47
 AliHLTComponentConfiguration.cxx:48
 AliHLTComponentConfiguration.cxx:49
 AliHLTComponentConfiguration.cxx:50
 AliHLTComponentConfiguration.cxx:51
 AliHLTComponentConfiguration.cxx:52
 AliHLTComponentConfiguration.cxx:53
 AliHLTComponentConfiguration.cxx:54
 AliHLTComponentConfiguration.cxx:55
 AliHLTComponentConfiguration.cxx:56
 AliHLTComponentConfiguration.cxx:57
 AliHLTComponentConfiguration.cxx:58
 AliHLTComponentConfiguration.cxx:59
 AliHLTComponentConfiguration.cxx:60
 AliHLTComponentConfiguration.cxx:61
 AliHLTComponentConfiguration.cxx:62
 AliHLTComponentConfiguration.cxx:63
 AliHLTComponentConfiguration.cxx:64
 AliHLTComponentConfiguration.cxx:65
 AliHLTComponentConfiguration.cxx:66
 AliHLTComponentConfiguration.cxx:67
 AliHLTComponentConfiguration.cxx:68
 AliHLTComponentConfiguration.cxx:69
 AliHLTComponentConfiguration.cxx:70
 AliHLTComponentConfiguration.cxx:71
 AliHLTComponentConfiguration.cxx:72
 AliHLTComponentConfiguration.cxx:73
 AliHLTComponentConfiguration.cxx:74
 AliHLTComponentConfiguration.cxx:75
 AliHLTComponentConfiguration.cxx:76
 AliHLTComponentConfiguration.cxx:77
 AliHLTComponentConfiguration.cxx:78
 AliHLTComponentConfiguration.cxx:79
 AliHLTComponentConfiguration.cxx:80
 AliHLTComponentConfiguration.cxx:81
 AliHLTComponentConfiguration.cxx:82
 AliHLTComponentConfiguration.cxx:83
 AliHLTComponentConfiguration.cxx:84
 AliHLTComponentConfiguration.cxx:85
 AliHLTComponentConfiguration.cxx:86
 AliHLTComponentConfiguration.cxx:87
 AliHLTComponentConfiguration.cxx:88
 AliHLTComponentConfiguration.cxx:89
 AliHLTComponentConfiguration.cxx:90
 AliHLTComponentConfiguration.cxx:91
 AliHLTComponentConfiguration.cxx:92
 AliHLTComponentConfiguration.cxx:93
 AliHLTComponentConfiguration.cxx:94
 AliHLTComponentConfiguration.cxx:95
 AliHLTComponentConfiguration.cxx:96
 AliHLTComponentConfiguration.cxx:97
 AliHLTComponentConfiguration.cxx:98
 AliHLTComponentConfiguration.cxx:99
 AliHLTComponentConfiguration.cxx:100
 AliHLTComponentConfiguration.cxx:101
 AliHLTComponentConfiguration.cxx:102
 AliHLTComponentConfiguration.cxx:103
 AliHLTComponentConfiguration.cxx:104
 AliHLTComponentConfiguration.cxx:105
 AliHLTComponentConfiguration.cxx:106
 AliHLTComponentConfiguration.cxx:107
 AliHLTComponentConfiguration.cxx:108
 AliHLTComponentConfiguration.cxx:109
 AliHLTComponentConfiguration.cxx:110
 AliHLTComponentConfiguration.cxx:111
 AliHLTComponentConfiguration.cxx:112
 AliHLTComponentConfiguration.cxx:113
 AliHLTComponentConfiguration.cxx:114
 AliHLTComponentConfiguration.cxx:115
 AliHLTComponentConfiguration.cxx:116
 AliHLTComponentConfiguration.cxx:117