CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ELfwkJobReport.h
Go to the documentation of this file.
1 #ifndef FWCore_MessageService_ELfwkJobReport_h
2 #define FWCore_MessageService_ELfwkJobReport_h
3 
4 
5 // ----------------------------------------------------------------------
6 //
7 // ELfwkJobReport is a subclass of ELdestination formating in a way
8 // that is good for automated scanning.
9 //
10 // 1/10/06 mf, de Created file.
11 //
12 // ----------------------------------------------------------------------
13 
15 
18 
19 #include "boost/shared_ptr.hpp"
20 
21 namespace edm {
22 
23 
24 // ----------------------------------------------------------------------
25 // prerequisite classes:
26 // ----------------------------------------------------------------------
27 
28 class ErrorObj;
29 namespace service {
30 class ELdestControl;
31 
32 
33 // ----------------------------------------------------------------------
34 // ELfwkJobReport:
35 // ----------------------------------------------------------------------
36 
37 class ELfwkJobReport : public ELdestination {
38 
39  friend class ELdestControl;
40 
41 public:
42 
43  // --- Birth/death:
44  //
46  ELfwkJobReport( std::ostream & os, bool emitAtStart = true );
47  ELfwkJobReport( const ELstring & fileName, bool emitAtStart = true );
48  ELfwkJobReport( const ELfwkJobReport & orig );
49  virtual ~ELfwkJobReport();
50 
51  // --- Methods invoked by the ELadministrator:
52  //
53 public:
54  virtual
56  clone() const;
57  // Used by attach() to put the destination on the ELadministrators list
58  //-| There is a note in Design Notes about semantics
59  //-| of copying a destination onto the list: ofstream
60  //-| ownership is passed to the new copy.
61 
62  virtual bool log( const ErrorObj & msg );
63 
64  // --- Methods invoked through the ELdestControl handle:
65  //
66 protected:
67  // trivial clearSummary(), wipe(), zero() from base class
68  // trivial three summary(..) from base class
69 
70  // --- Data affected by methods of specific ELdestControl handle:
71  //
72 protected:
73  // ELfwkJobReport uses the generic ELdestControl handle
74 
75  // --- Internal Methods -- Users should not invoke these:
76  //
77 protected:
78  virtual void emitToken( const ELstring & s, bool nl=false );
79 
80  virtual void suppressTime(); virtual void includeTime();
81  virtual void suppressModule(); virtual void includeModule();
82  virtual void suppressSubroutine(); virtual void includeSubroutine();
83  virtual void suppressText(); virtual void includeText();
84  virtual void suppressContext(); virtual void includeContext();
85  virtual void suppressSerial(); virtual void includeSerial();
86  virtual void useFullContext(); virtual void useContext();
87  virtual void separateTime(); virtual void attachTime();
88  virtual void separateEpilogue(); virtual void attachEpilogue();
89 
90  virtual void summarization ( const ELstring & fullTitle
91  , const ELstring & sumLines );
92 
93  virtual void changeFile (std::ostream & os);
94  virtual void changeFile (const ELstring & filename);
95  virtual void flush();
96  virtual void finish();
97 
98 
99 protected:
100  // --- member data:
101  //
102  boost::shared_ptr<std::ostream> os;
105 
106  bool wantTimestamp
109  , wantText
111  , wantSerial
115  ;
116 
117  // --- Verboten method:
118  //
119  ELfwkJobReport & operator=( const ELfwkJobReport & orig );
120 
121 }; // ELfwkJobReport
122 
123 
124 // ----------------------------------------------------------------------
125 
126 
127 } // end of namespace service
128 } // end of namespace edm
129 
130 
131 #endif // FWCore_MessageService_ELfwkJobReport_h
virtual bool log(const ErrorObj &msg)
boost::shared_ptr< std::ostream > os
virtual ELfwkJobReport * clone() const
ELfwkJobReport & operator=(const ELfwkJobReport &orig)
virtual void emitToken(const ELstring &s, bool nl=false)
virtual void changeFile(std::ostream &os)
virtual void summarization(const ELstring &fullTitle, const ELstring &sumLines)
tuple filename
Definition: lut2db_cfg.py:20
std::string ELstring
Definition: ELstring.h:26