XRootD
XrdAccCapName Class Reference

#include <XrdAccCapability.hh>

+ Collaboration diagram for XrdAccCapName:

Public Member Functions

 XrdAccCapName (char *name, XrdAccCapability *cap)
 
 ~XrdAccCapName ()
 
void Add (XrdAccCapName *cnp)
 
XrdAccCapabilityFind (const char *name)
 

Detailed Description

Definition at line 105 of file XrdAccCapability.hh.

Constructor & Destructor Documentation

◆ XrdAccCapName()

XrdAccCapName::XrdAccCapName ( char *  name,
XrdAccCapability cap 
)
inline

Definition at line 112 of file XrdAccCapability.hh.

113  {next = 0; CapName = strdup(name); CNlen = strlen(name);
114  C_List = cap;
115  }

◆ ~XrdAccCapName()

XrdAccCapName::~XrdAccCapName ( )

Definition at line 141 of file XrdAccCapability.cc.

142 {
143  XrdAccCapName *cp, *np = next;
144 
145 // Free regular storage
146 //
147  next = 0;
148  if (CapName) free(CapName);
149  if (C_List) delete C_List;
150 
151 // Delete list in a non-recursive way
152 //
153  while(np) {cp = np; np = np->next; cp->next = 0; delete cp;}
154 }

Member Function Documentation

◆ Add()

void XrdAccCapName::Add ( XrdAccCapName cnp)
inline

Definition at line 108 of file XrdAccCapability.hh.

108 {next = cnp;}

◆ Find()

XrdAccCapability * XrdAccCapName::Find ( const char *  name)

Definition at line 160 of file XrdAccCapability.cc.

161 {
162  int nlen = strlen(name);
163  XrdAccCapName *ncp = this;
164 
165  do {if (ncp->CNlen <= nlen && !strcmp(ncp->CapName,name+(nlen - ncp->CNlen)))
166  return ncp->C_List;
167  ncp = ncp->next;
168  } while(ncp);
169  return (XrdAccCapability *)0;
170 }

Referenced by XrdAccAccess::Access().

+ Here is the caller graph for this function:

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