XrdFrmProxy.hh

Go to the documentation of this file.
00001 #ifndef __XRDFRMPROXY__
00002 #define __XRDFRMPROXY__
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                        X r d F r m P r o x y . h h                         */
00006 /*                                                                            */
00007 /* (c) 2010 by the Board of Trustees of the Leland Stanford, Jr., University  */
00008 /*                            All Rights Reserved                             */
00009 /*   Produced by Andrew Hanushevsky for Stanford University under contract    */
00010 /*              DE-AC02-76-SFO0515 with the Department of Energy              */
00011 /******************************************************************************/
00012 
00013 //          $Id: XrdFrmProxy.hh 35287 2010-09-14 21:19:35Z ganis $
00014 
00015 #include "XrdFrm/XrdFrmRequest.hh"
00016 
00017 class XrdFrmReqAgent;
00018 class XrdOucStream;
00019 class XrdSysLogger;
00020   
00021 class XrdFrmProxy
00022 {
00023 public:
00024 
00025 int   Add(char Opc, const char *Lfn, const char *Opq, const char *Usr,
00026                     const char *Rid, const char *Nop, const char *Pop,
00027           int Prty=1);
00028 
00029 int   Del(char Opc, const char *Rid);
00030 
00031 static const int opGet =  1;
00032 static const int opPut =  2;
00033 static const int opMig =  4;
00034 static const int opStg =  8;
00035 static const int opAll = 15;
00036 
00037 class Queues
00038       {friend class XrdFrmProxy;
00039        int   Offset;
00040        char  Prty;
00041        char  QList;
00042        char  QNow;
00043        char  Active;
00044        public:
00045        Queues(int opX) : Offset(0), Prty(0), QList(opX), QNow(0), Active(0) {}
00046       ~Queues() {}
00047       };
00048 
00049 int   List(Queues &State, char *Buff, int Bsz);
00050 
00051 int   List(int qType, int qPrty, XrdFrmRequest::Item *Items, int Num);
00052 
00053 int   Init(int opX, const char *aPath, int aMode, const char *qPath=0);
00054 
00055       XrdFrmProxy(XrdSysLogger *lP, const char *iName, int Debug=0);
00056      ~XrdFrmProxy() {}
00057 
00058 private:
00059 
00060 int Init2(const char *cfgFN);
00061 int qChk(XrdOucStream &cFile);
00062 
00063 struct o2qMap {const char *qName; int qType; int oType;};
00064 
00065 static o2qMap   oqMap[];
00066 static int      oqNum;
00067 
00068 XrdFrmReqAgent *Agent[XrdFrmRequest::numQ];
00069 const char     *insName;
00070 char           *intName;
00071 char           *QPath;
00072 };
00073 #endif

Generated on Tue Jul 5 14:46:36 2011 for ROOT_528-00b_version by  doxygen 1.5.1