// =====================================================================
//  $Id: TModuleTable.cc,v 1.4 2004/03/07 10:30:31 goiwai Exp $
//  $Name: CLDAQ-1-14-03 $
//  $Log: TModuleTable.cc,v $
//  Revision 1.4  2004/03/07 10:30:31  goiwai
//  ROOTに組みこむためのおまじないマクロを埋めこみました。
//  全てにおいて完全に動作するわけではありません。
//
//  Revision 1.3  2003/10/06 17:02:40  goiwai
//  *** empty log message ***
//
//  Revision 1.2  2003/07/30 16:19:10  goiwai
//  ファイルにコミットログをつけることにしました.
//
// =====================================================================
#include "TModuleTable.hh"

TModuleTable::TModuleTable()
  : Tvector<TModuleSpecified>()
{;}

TModuleTable::~TModuleTable()
{;}

TModule* TModuleTable::FindModule( const Tstring& id ) const
{
  for ( Tsize_t i = 0; i < size(); i ++ ) {
    if ( (*this)[ i ].GetModuleID() == id ) {
      return (*this)[ i ].GetModule();
    }
  }
  return 0;
}

Tvoid TModuleTable::AddModule( TModule* module, const Tstring& id, const TstringList& groups )
{
  TModuleSpecified spec( id, groups, module );
  push_back( spec );
  return;
}

Tvoid TModuleTable::RemoveModule( Tint index )
{
  erase( begin() + index );
  return;
}

Tint TModuleTable::GetSize() const
{
  return (Tint)size();
}

Tvoid TModuleTable::Clear()
{
  clear();
  return;
}

#ifdef __CLDAQ_ROOT_DLL
    ClassImp(TModuleTable)
#endif
