Gaudi Framework, version v23r4

Home   Generated: Mon Sep 17 2012

ServiceHistory.cpp

Go to the documentation of this file.
00001 
00002 //
00003 // $Id: ServiceHistory.cpp,v 1.2 2008/06/04 12:35:15 marcocle Exp $
00004 //
00005 // GaudiHistory/ServiceHistory.cpp
00006 //
00007 // Contains history information for a Service
00008 //
00009 //
00010 // @author: Charles Leggett
00011 //
00013 
00014 #include "GaudiKernel/ServiceHistory.h"
00015 #include "GaudiKernel/JobHistory.h"
00016 #include "GaudiKernel/IService.h"
00017 #include "GaudiKernel/Service.h"
00018 #include <iostream>
00019 
00020 using namespace std;
00021 
00022 
00023 //
00025 //
00026 
00027 ServiceHistory::ServiceHistory():
00028   //  HistoryObj(),
00029   m_pService(0),
00030   m_name("none"),
00031   m_type("none"),
00032   m_version("none")
00033 {
00034 
00035 }
00036 
00037 
00038 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00039 ServiceHistory::ServiceHistory(const IService* isv, const JobHistory* job):
00040   //  HistoryObj(),
00041   m_pService(isv),
00042   m_jobHistory(job),
00043   m_name(isv->name()),
00044   m_version("none")
00045 {
00046 
00047   const Service *svc = dynamic_cast<const Service*>(isv);
00048   m_type = System::typeinfoName(typeid(*svc));
00049   m_properties = svc->getProperties();
00050 
00051 }
00052 
00053 
00054 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00055 
00056 ServiceHistory::ServiceHistory(const IService& isv, const JobHistory* job):
00057   //  HistoryObj(),
00058   m_pService(&isv),
00059   m_jobHistory(job),
00060   m_name(isv.name()),
00061   m_version("none")
00062 {
00063   
00064   const Service *svc = dynamic_cast<const Service*>(&isv);
00065   m_type = System::typeinfoName(typeid(*svc));
00066   m_properties = svc->getProperties();
00067 
00068 }
00069 
00070 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00071 
00072 ServiceHistory::~ServiceHistory() {
00073 
00074 }
00075 
00076 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00077 
00078 const CLID& 
00079 ServiceHistory::classID() {
00080 
00081   static CLID CLID_ServiceHistory = 187225489;   // from `clid ServiceHistory`
00082   return CLID_ServiceHistory;
00083 
00084 }
00085 
00086 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
00087 
00088 void
00089 ServiceHistory::dump(std::ostream& ost, const bool isXML, int ind) const {
00090 
00091   if (!isXML) {
00092 
00093     ost << "Name: " << name() << endl;
00094     ost << "Type: " << type() << endl;
00095     ost << "Version: " << version() << endl;
00096     
00097     //Properties
00098     ost << "Properties: [" << endl;
00099     
00100     for ( ServiceHistory::PropertyList::const_iterator
00101             ipprop=properties().begin();
00102           ipprop!=properties().end(); ++ipprop ) {
00103       const Property& prop = **ipprop;
00104       prop.fillStream(ost);
00105       ost << endl;
00106     }
00107     ost << "]" << endl;
00108 
00109   } else {
00110 
00111     ind += 2;
00112     indent(ost,ind);
00113     ost << "<COMPONENT name=\"" << name()
00114         << "\" class=\"" << convert_string(type()) 
00115         << "\" version=\"" << convert_string(version())
00116         << "\">" << endl;
00117       
00118     for ( ServiceHistory::PropertyList::const_iterator
00119             ipprop=properties().begin();
00120           ipprop!=properties().end(); ++ipprop ) {
00121       const Property& prop = **ipprop;
00122 
00123       indent(ost,ind+2);
00124       ost << "<PROPERTY name=\"" << prop.name() 
00125           << "\" value=\"" << convert_string(prop.toString()) 
00126           << "\" documentation=\"" << convert_string(prop.documentation())
00127           << "\">" << endl;
00128     }
00129 
00130     indent(ost,ind);
00131     ost << "</COMPONENT>" << endl;
00132 
00133   }
00134 
00135 }
00136 
00137 
00138 //**********************************************************************
00139 // Free functions.
00140 //**********************************************************************
00141 
00142 // Output stream.
00143 
00144 ostream& operator<<(ostream& lhs, const ServiceHistory& rhs) {
00145 
00146   rhs.dump(lhs,false);
00147 
00148   return lhs;
00149 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Sep 17 2012 13:49:34 for Gaudi Framework, version v23r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004