ROOT  6.06/09
Reference Guide
TProofMonSender.h
Go to the documentation of this file.
1 // @(#)root/proofplayer:$Id$
2 // Author: G.Ganis July 2011
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT_TProofMonSender
13 #define ROOT_TProofMonSender
14 
15 //////////////////////////////////////////////////////////////////////////
16 // //
17 // TProofMonSender //
18 // //
19 // Provides the interface for PROOF monitoring to different writers. //
20 // Allows to decouple the information sent from the backend. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #ifndef ROOT_TNamed
25 #include "TNamed.h"
26 #endif
27 
28 class TDSet;
29 class TList;
30 class TPerfStat;
31 
32 class TProofMonSender : public TNamed {
33 
34 protected:
35  Int_t fSummaryVrs; // Version of the summary 'table'
36  Int_t fDataSetInfoVrs; // Version of the dataset info 'table'
37  Int_t fFileInfoVrs; // Version of the file info 'table'
38  enum EConfigBits { // TProofMonSender status/config bits
39  kSendSummary = BIT(15), // Toggle sending of summary
40  kSendDataSetInfo = BIT(16), // Toggle sending of dataset info
41  kSendFileInfo = BIT(17) // Toggle sending of files info
42  };
43 
44  // Auxilliary class describing dataset multiplets
45  class TDSetPlet : public TNamed {
46  public:
50  TDSetPlet(const char *name, TDSet *ds = 0) :
51  TNamed(name, ""), fFiles(0), fMissing(0), fDSet(ds) { }
52  virtual ~TDSetPlet() { }
53  };
54 
55 public:
56 
57  TProofMonSender(const char *n = "Abstract",
58  const char *t = "ProofMonSender") : TNamed(n,t),
59  fSummaryVrs(2), fDataSetInfoVrs(1), fFileInfoVrs(1)
64  virtual ~TProofMonSender() { }
65 
66  // This changes the send control options
67  Int_t SetSendOptions(const char *);
68 
69  // Object validity
71 
72  // Summary record
73  virtual Int_t SendSummary(TList *, const char *) = 0;
74 
75  // Information about the dataset(s) processed
76  virtual Int_t SendDataSetInfo(TDSet *, TList *, const char *, const char *) = 0;
77 
78  // Detailed information about files
79  virtual Int_t SendFileInfo(TDSet *, TList *, const char *, const char *) = 0;
80 
81  ClassDef(TProofMonSender,0); // Interface for PROOF monitoring
82 };
83 
84 #endif
Int_t SetSendOptions(const char *)
Parse send options from string 'sendopts'.
TDSetPlet(const char *name, TDSet *ds=0)
Definition: TDSet.h:153
#define BIT(n)
Definition: Rtypes.h:120
int Int_t
Definition: RtypesCore.h:41
bool Bool_t
Definition: RtypesCore.h:59
const Bool_t kFALSE
Definition: Rtypes.h:92
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
Definition: TObject.cxx:732
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:33
virtual Int_t SendSummary(TList *, const char *)=0
A doubly linked list.
Definition: TList.h:47
Bool_t IsValid() const
virtual Int_t SendDataSetInfo(TDSet *, TList *, const char *, const char *)=0
Bool_t TestBit(UInt_t f) const
Definition: TObject.h:173
virtual Int_t SendFileInfo(TDSet *, TList *, const char *, const char *)=0
#define name(a, b)
Definition: linkTestLib0.cpp:5
TProofMonSender(const char *n="Abstract", const char *t="ProofMonSender")
virtual ~TProofMonSender()
void ResetBit(UInt_t f)
Definition: TObject.h:172
const Bool_t kTRUE
Definition: Rtypes.h:91
ClassDef(TProofMonSender, 0)
const Int_t n
Definition: legend1.C:16