XRootD
XrdFrmFiles Class Reference

#include <XrdFrmFiles.hh>

+ Collaboration diagram for XrdFrmFiles:

Public Member Functions

 XrdFrmFiles (const char *dname, int opts=Recursive, XrdOucTList *XList=0, XrdOucNSWalk::CallBack *cbP=0)
 
 ~XrdFrmFiles ()
 
XrdFrmFilesetGet (int &rc, int noBase=0)
 

Static Public Attributes

static const int CompressD = 0x0002
 
static const int GetCpyTim = 0x0008
 
static const int NoAutoDel = 0x0004
 
static const int Recursive = 0x0001
 

Detailed Description

Definition at line 115 of file XrdFrmFiles.hh.

Constructor & Destructor Documentation

◆ XrdFrmFiles()

XrdFrmFiles::XrdFrmFiles ( const char *  dname,
int  opts = Recursive,
XrdOucTList XList = 0,
XrdOucNSWalk::CallBack cbP = 0 
)

Definition at line 304 of file XrdFrmFiles.cc.

306  : nsObj(&Say, dname, 0,
311  | (opts & Recursive ? XrdOucNSWalk::Recurse : 0), XList),
312  fsList(0), manMem(opts & NoAutoDel ? Hash_keep : Hash_default),
313  shareD(opts & CompressD), getCPT(opts & GetCpyTim)
314 {
315 
316 // Set Call Back method
317 //
318  nsObj.setCallBack(cbP);
319 }
@ Hash_default
Definition: XrdOucHash.hh:51
@ Hash_keep
Definition: XrdOucHash.hh:55
struct myOpts opts
static const int CompressD
Definition: XrdFrmFiles.hh:122
static const int NoAutoDel
Definition: XrdFrmFiles.hh:123
static const int GetCpyTim
Definition: XrdFrmFiles.hh:124
static const int Recursive
Definition: XrdFrmFiles.hh:121
static const int retFile
static const int retLink
static const int skpErrs
static const int noPath
static const int retStat
void setCallBack(CallBack *cbP=0)
Definition: XrdOucNSWalk.hh:96
static const int Recurse
static const int retIILO
XrdSysError Say

References XrdOucNSWalk::setCallBack().

+ Here is the call graph for this function:

◆ ~XrdFrmFiles()

XrdFrmFiles::~XrdFrmFiles ( )

Definition at line 325 of file XrdFrmFiles.cc.

326 {
327  XrdFrmFileset *fsetP;
328 
329 // If manual memory is wante then we must delete any unreturned objects
330 //
331  if (manMem)
332  while((fsetP = fsList))
333  {fsList = fsetP->Next; fsetP->Next = 0; delete fsetP;}
334 }
XrdFrmFileset * Next
Definition: XrdFrmFiles.hh:90

References XrdFrmFileset::Next.

Member Function Documentation

◆ Get()

XrdFrmFileset * XrdFrmFiles::Get ( int &  rc,
int  noBase = 0 
)

Definition at line 340 of file XrdFrmFiles.cc.

341 {
343  XrdFrmFileset *fsetP;
344  const char *dPath;
345 
346 // Check if we have something to return
347 //
348 do{while ((fsetP = fsList))
349  {fsList = fsetP->Next; fsetP->Next = 0;
350  if (fsetP->File[XrdOssPath::isBase])
351  {if (getCPT) fsetP->setCpyTime();
352  rc = 0; return fsetP;
353  }
354  else if (noBase) {rc = 0; return fsetP;}
355  else if (manMem) delete fsetP;
356  }
357 
358 // Start with next directory (we return when no directories left).
359 //
360  do {if (!(nP = nsObj.Index(rc, &dPath))) return 0;
361  fsTab.Purge(); fsList = 0;
362  } while(!Process(nP, dPath));
363 
364  } while(1);
365 
366 // To keep the compiler happy
367 //
368  return 0;
369 }
int setCpyTime(int Refresh=0)
Definition: XrdFrmFiles.cc:207
void Purge()
Definition: XrdOucHash.icc:193
NSEnt * Index(int &rc, const char **dPath=0)
Definition: XrdOucNSWalk.cc:93

References XrdOucNSWalk::Index(), XrdOssPath::isBase, XrdFrmFileset::Next, XrdOucHash< T >::Purge(), and XrdFrmFileset::setCpyTime().

+ Here is the call graph for this function:

Member Data Documentation

◆ CompressD

const int XrdFrmFiles::CompressD = 0x0002
static

Definition at line 122 of file XrdFrmFiles.hh.

◆ GetCpyTim

const int XrdFrmFiles::GetCpyTim = 0x0008
static

Definition at line 124 of file XrdFrmFiles.hh.

◆ NoAutoDel

const int XrdFrmFiles::NoAutoDel = 0x0004
static

Definition at line 123 of file XrdFrmFiles.hh.

◆ Recursive

const int XrdFrmFiles::Recursive = 0x0001
static

Definition at line 121 of file XrdFrmFiles.hh.


The documentation for this class was generated from the following files: