// ============================================================================ // $Id$ // $Name$ // ============================================================================ #ifndef __TMODULE_HH #define __TMODULE_HH #include "TGlobals.hh" class TDataSegment; class TDataElement; class TModule { protected: enum { tStatusSuccess = 0 }; protected: Tint theNumberOfChannels; Tint theID; Tint theStatus; public: virtual Tint Clear() = 0; virtual Tint Update() = 0; virtual Tint Initialize() = 0; virtual Tvoid FillData( TDataSegment* seg ) = 0; virtual Tvoid FillData( TDataElement* ele ) = 0; public: inline virtual Tvoid Print( Tostream& tos = Tstd::Tcout ) const; public: TModule( Tint nchannel, Tint id = tIDunknown, Tint status = tStatusSuccess ); protected: virtual ~TModule(); public: inline Tint GetNumberOfChannels() const; inline Tint GetStatus() const; inline Tint GetID() const; inline Tvoid SetNumberOfChannels( Tint nchannel ); inline Tvoid SetStatus( Tint status ); inline Tvoid SetID( Tint id ); inline Tbool IsSuccess() const; }; inline Tint TModule::GetNumberOfChannels() const { return( theNumberOfChannels ); } inline Tvoid TModule::SetNumberOfChannels( Tint nchannel ) { theNumberOfChannels = nchannel; return; } inline Tint TModule::GetID() const { return( theID ); } inline Tvoid TModule::SetID( Tint id ) { theID = id; return; } inline Tint TModule::GetStatus() const { return( theStatus ); } inline Tvoid TModule::SetStatus( Tint status ) { theStatus = status; return; } inline Tbool TModule::IsSuccess() const { return( ( theStatus >= 0 ) ? Ttrue : Tfalse ); } inline Tvoid TModule::Print( Tostream& tos ) const { Tstring head = "* Module, "; tos << head << "Status: " << theStatus << Tendl; return; } #endif