// @(#)root/proofplayer:$Id$
// Author: G.Ganis July 2011

/*************************************************************************
 * Copyright (C) 1995-2004, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TProofMonSenderSQL
#define ROOT_TProofMonSenderSQL

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TProofMonSenderSQL                                                   //
//                                                                      //
// TProofMonSender implementation for SQL writers.                      //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TProofMonSender
#include "TProofMonSender.h"
#endif

class TDSet;
class TList;
class TPerfStat;
class TVirtualMonitoringWriter;

class TProofMonSenderSQL : public TProofMonSender {

private:
   TVirtualMonitoringWriter *fWriter; // Writer instance connect to backend
   TString                   fDSetSendOpts; // Opts for posting dataset table
   TString                   fFilesSendOpts; // Opts for posting files table

public:

   TProofMonSenderSQL(const char *serv, const char *user, const char *pass,
                      const char *table = "proof.proofquerylog",
                      const char *dstab = 0, const char *filestab = 0);
   virtual ~TProofMonSenderSQL();

   // Summary record
   Int_t SendSummary(TList *, const char *);

   // Information about the dataset(s) processed
   Int_t SendDataSetInfo(TDSet *, TList *, const char *, const char *);

   // Detailed information about files
   Int_t SendFileInfo(TDSet *, TList *, const char *, const char *);

   ClassDef(TProofMonSenderSQL, 0); // Interface for PROOF monitoring
};

#endif
 TProofMonSenderSQL.h:1
 TProofMonSenderSQL.h:2
 TProofMonSenderSQL.h:3
 TProofMonSenderSQL.h:4
 TProofMonSenderSQL.h:5
 TProofMonSenderSQL.h:6
 TProofMonSenderSQL.h:7
 TProofMonSenderSQL.h:8
 TProofMonSenderSQL.h:9
 TProofMonSenderSQL.h:10
 TProofMonSenderSQL.h:11
 TProofMonSenderSQL.h:12
 TProofMonSenderSQL.h:13
 TProofMonSenderSQL.h:14
 TProofMonSenderSQL.h:15
 TProofMonSenderSQL.h:16
 TProofMonSenderSQL.h:17
 TProofMonSenderSQL.h:18
 TProofMonSenderSQL.h:19
 TProofMonSenderSQL.h:20
 TProofMonSenderSQL.h:21
 TProofMonSenderSQL.h:22
 TProofMonSenderSQL.h:23
 TProofMonSenderSQL.h:24
 TProofMonSenderSQL.h:25
 TProofMonSenderSQL.h:26
 TProofMonSenderSQL.h:27
 TProofMonSenderSQL.h:28
 TProofMonSenderSQL.h:29
 TProofMonSenderSQL.h:30
 TProofMonSenderSQL.h:31
 TProofMonSenderSQL.h:32
 TProofMonSenderSQL.h:33
 TProofMonSenderSQL.h:34
 TProofMonSenderSQL.h:35
 TProofMonSenderSQL.h:36
 TProofMonSenderSQL.h:37
 TProofMonSenderSQL.h:38
 TProofMonSenderSQL.h:39
 TProofMonSenderSQL.h:40
 TProofMonSenderSQL.h:41
 TProofMonSenderSQL.h:42
 TProofMonSenderSQL.h:43
 TProofMonSenderSQL.h:44
 TProofMonSenderSQL.h:45
 TProofMonSenderSQL.h:46
 TProofMonSenderSQL.h:47
 TProofMonSenderSQL.h:48
 TProofMonSenderSQL.h:49
 TProofMonSenderSQL.h:50
 TProofMonSenderSQL.h:51
 TProofMonSenderSQL.h:52
 TProofMonSenderSQL.h:53
 TProofMonSenderSQL.h:54
 TProofMonSenderSQL.h:55
 TProofMonSenderSQL.h:56
 TProofMonSenderSQL.h:57
 TProofMonSenderSQL.h:58