#include "QFramework/TQSampleRevisitor.h"
#include "QFramework/TQSample.h"

// #define _DEBUG_
#include "QFramework/TQLibrary.h"

////////////////////////////////////////////////////////////////////////////////////////////////
//
// TQSampleRevisitor:
//
// Repeat what a previos sample visitor did and print its output.
//
////////////////////////////////////////////////////////////////////////////////////////////////

ClassImp(TQSampleRevisitor)


int TQSampleRevisitor::visitSample(TQSample * sample, TString& message){
  // visit a sample, reading its trace
  return this->readTrace(sample,".sv.visit",message);
}

int TQSampleRevisitor::visitFolder(TQSampleFolder * sample, TString& message){
  // visit a folder, reading its trace
  return this->readTrace(sample,".sv.visit",message);
}

int TQSampleRevisitor::revisitSample(TQSample * sample, TString& message){
  // visit a sample, reading its trace
  return this->readTrace(sample,".sv.revisit",message);
}

int TQSampleRevisitor::revisitFolder(TQSampleFolder * sample, TString& message){
  // visit a folder, reading its trace
  return this->readTrace(sample,".sv.revisit",message);
}



TQSampleRevisitor::TQSampleRevisitor() {
  // default constructor
}

TQSampleRevisitor::TQSampleRevisitor(const char* name) {
  // constructor with name argument
  this->setVisitTraceID(name);
}

TQSampleRevisitor::~TQSampleRevisitor(){
  // default destructor
}

int TQSampleRevisitor::readTrace(TQFolder* f, const TString& prefix, TString& message ){
  // extract the trace information
  TString id(this->getVisitTraceIDConst());
  id.Prepend(".");
  id.Append(".");
  id.Prepend(prefix);
  int status;
  f->getTagInteger(id+"statusID",status);
  f->getTagString(id+"message",message);
  return status;
}
 TQSampleRevisitor.cxx:1
 TQSampleRevisitor.cxx:2
 TQSampleRevisitor.cxx:3
 TQSampleRevisitor.cxx:4
 TQSampleRevisitor.cxx:5
 TQSampleRevisitor.cxx:6
 TQSampleRevisitor.cxx:7
 TQSampleRevisitor.cxx:8
 TQSampleRevisitor.cxx:9
 TQSampleRevisitor.cxx:10
 TQSampleRevisitor.cxx:11
 TQSampleRevisitor.cxx:12
 TQSampleRevisitor.cxx:13
 TQSampleRevisitor.cxx:14
 TQSampleRevisitor.cxx:15
 TQSampleRevisitor.cxx:16
 TQSampleRevisitor.cxx:17
 TQSampleRevisitor.cxx:18
 TQSampleRevisitor.cxx:19
 TQSampleRevisitor.cxx:20
 TQSampleRevisitor.cxx:21
 TQSampleRevisitor.cxx:22
 TQSampleRevisitor.cxx:23
 TQSampleRevisitor.cxx:24
 TQSampleRevisitor.cxx:25
 TQSampleRevisitor.cxx:26
 TQSampleRevisitor.cxx:27
 TQSampleRevisitor.cxx:28
 TQSampleRevisitor.cxx:29
 TQSampleRevisitor.cxx:30
 TQSampleRevisitor.cxx:31
 TQSampleRevisitor.cxx:32
 TQSampleRevisitor.cxx:33
 TQSampleRevisitor.cxx:34
 TQSampleRevisitor.cxx:35
 TQSampleRevisitor.cxx:36
 TQSampleRevisitor.cxx:37
 TQSampleRevisitor.cxx:38
 TQSampleRevisitor.cxx:39
 TQSampleRevisitor.cxx:40
 TQSampleRevisitor.cxx:41
 TQSampleRevisitor.cxx:42
 TQSampleRevisitor.cxx:43
 TQSampleRevisitor.cxx:44
 TQSampleRevisitor.cxx:45
 TQSampleRevisitor.cxx:46
 TQSampleRevisitor.cxx:47
 TQSampleRevisitor.cxx:48
 TQSampleRevisitor.cxx:49
 TQSampleRevisitor.cxx:50
 TQSampleRevisitor.cxx:51
 TQSampleRevisitor.cxx:52
 TQSampleRevisitor.cxx:53
 TQSampleRevisitor.cxx:54
 TQSampleRevisitor.cxx:55
 TQSampleRevisitor.cxx:56
 TQSampleRevisitor.cxx:57
 TQSampleRevisitor.cxx:58
 TQSampleRevisitor.cxx:59
 TQSampleRevisitor.cxx:60
 TQSampleRevisitor.cxx:61
 TQSampleRevisitor.cxx:62
 TQSampleRevisitor.cxx:63