XrdCnsLogClient.hh

Go to the documentation of this file.
00001 #ifndef __XRDCNSLogClient_h_
00002 #define __XRDCNSLogClient_h_
00003 /******************************************************************************/
00004 /*                                                                            */
00005 /*                    X r d C n s L o g C l i e n t . h h                     */
00006 /*                                                                            */
00007 /* (c) 2009 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: XrdCnsLogClient.hh 30949 2009-11-02 16:37:58Z ganis $
00014 
00015 #include <sys/param.h>
00016   
00017 #include "XrdSys/XrdSysPthread.hh"
00018 
00019 class XrdClient;
00020 class XrdClientAdmin;
00021 class XrdCnsLogFile;
00022 class XrdCnsLogRec;
00023 class XrdCnsXref;
00024 class XrdOucTList;
00025 
00026 class XrdCnsLogClient
00027 {
00028 public:
00029 
00030 int   Activate(XrdCnsLogFile *basefile);
00031 
00032 int   Init();
00033 
00034 int   Run(int Always=1);
00035 
00036 int   Start();
00037 
00038       XrdCnsLogClient(XrdOucTList *rP, XrdCnsLogClient *pcP);
00039      ~XrdCnsLogClient() {}
00040 
00041 private:
00042 XrdClientAdmin *admConnect(XrdClientAdmin *adminP);
00043 
00044 int  Archive(XrdCnsLogFile *lfP);
00045 int  do_Create(XrdCnsLogRec *lrP, const char *lfn=0);
00046 int  do_Mkdir(XrdCnsLogRec *lrP);
00047 int  do_Mv(XrdCnsLogRec *lrP);
00048 int  do_Rm(XrdCnsLogRec *lrP);
00049 int  do_Rmdir(XrdCnsLogRec *lrP);
00050 int  do_Trunc(XrdCnsLogRec *lrP, const char *lfn=0);
00051 char getMount(char *Lfn, char *Pfn, XrdCnsXref &Mount);
00052 int  Inventory(XrdCnsLogFile *lfp, const char *dPath);
00053 int  Manifest();
00054 int  mapError(int rc);
00055 int  xrdEmsg(const char *Opname, const char *theFN, XrdClientAdmin *aP);
00056 int  xrdEmsg(const char *Opname, const char *theFN);
00057 int  xrdEmsg(const char *Opname, const char *theFN, XrdClient *fP);
00058 
00059 XrdSysMutex      lfMutex;
00060 XrdSysSemaphore  lfSem;
00061 XrdCnsLogClient *Next;
00062 XrdClientAdmin  *Admin;
00063 
00064 XrdCnsLogFile   *logFirst;
00065 XrdCnsLogFile   *logLast;
00066 
00067 int              pfxNF;
00068 int              sfxFN;
00069 int              arkOnly;
00070 
00071 char            *admURL;
00072 char            *urlHost;
00073 
00074 char             arkURL[MAXPATHLEN+512];
00075 char            *arkPath;
00076 char            *arkFN;
00077 char             crtURL[MAXPATHLEN+512];
00078 char            *crtFN;
00079 char             logDir[MAXPATHLEN+1];
00080 char            *logFN;
00081 };
00082 #endif

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