ROOT logo
// $Id: XrdFileCloseReporterAmq.h 2815 2012-07-12 23:04:12Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef XrdMon_XrdFileCloseReporterAmq_H
#define XrdMon_XrdFileCloseReporterAmq_H

#include <Glasses/XrdFileCloseReporter.h>

namespace cms
{
  class ConnectionFactory;
  class Connection;
  class Session;
  class Destination;
  class MessageProducer;
}


class XrdFileCloseReporterAmq : public XrdFileCloseReporter
{
  MAC_RNR_FRIENDS(XrdFileCloseReporterAmq);

private:
  void _init();

protected:
  TString       mAmqHost;   // X{GS} 7 Textor()
  UShort_t      mAmqPort;   // X{GS} 7 Value()
  TString       mAmqUser;   // X{GS} 7 Textor()
  TString       mAmqPswd;   // X{GS} 7 Textor()
  TString       mAmqTopic;  // X{GS} 7 Textor()

  cms::ConnectionFactory *mConnFac; //!
  cms::Connection        *mConn;    //!
  cms::Session           *mSess;    //!
  cms::Destination       *mDest;    //!
  cms::MessageProducer   *mProd;    //!

  virtual void ReportLoopInit();
  virtual void ReportFileClosed(FileUserServer& fus);
  virtual void ReportLoopFinalize();

public:
  XrdFileCloseReporterAmq(const Text_t* n="XrdFileCloseReporterAmq", const Text_t* t=0);
  virtual ~XrdFileCloseReporterAmq();

#include "XrdFileCloseReporterAmq.h7"
  ClassDef(XrdFileCloseReporterAmq, 1);
}; // endclass XrdFileCloseReporterAmq

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