XRootD
Loading...
Searching...
No Matches
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: