// @(#)root/net:$Id$
// Author: J.F. Grosse-Oetringhaus, G.Ganis

/*************************************************************************
 * Copyright (C) 1995-2007, 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_TSQLMonitoring
#define ROOT_TSQLMonitoring

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TSQLMonitoringWriter                                                 //
//                                                                      //
// SQL implementation of TVirtualMonitoringWriter.                      //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TVirtualMonitoring
#include "TVirtualMonitoring.h"
#endif
#ifndef ROOT_TString
#include "TString.h"
#endif


class TSQLServer;


class TSQLMonitoringWriter : public TVirtualMonitoringWriter {

private:
   TSQLServer  *fDB;              // SQL database where to write
   TString      fTable;           // SQL table name

   Long64_t     fMaxBulkSize;     // Max packet size for insertions

   Bool_t       fVerbose;         // Verbosity toggle

   TSQLMonitoringWriter(const TSQLMonitoringWriter&);            // not implemented
   TSQLMonitoringWriter& operator=(const TSQLMonitoringWriter&); // not implemented

public:
   TSQLMonitoringWriter(const char *serv, const char *user, const char *pass, const char *table);
   virtual ~TSQLMonitoringWriter();

   Bool_t SendParameters(TList *values, const char * /*identifier*/);

   void Verbose(Bool_t onoff) { fVerbose = onoff; }

   ClassDef(TSQLMonitoringWriter, 0)   // Sending monitoring data to a SQL DB
};

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