XRootD
OverrideINIReader Class Reference
+ Inheritance diagram for OverrideINIReader:
+ Collaboration diagram for OverrideINIReader:

Public Member Functions

 OverrideINIReader ()
 
 OverrideINIReader (FILE *file)
 
 OverrideINIReader (std::string filename)
 

Static Protected Member Functions

static int ValueHandler (void *user, const char *section, const char *name, const char *value)
 

Detailed Description

Definition at line 313 of file XrdSciTokensAccess.cc.

Constructor & Destructor Documentation

◆ OverrideINIReader() [1/3]

OverrideINIReader::OverrideINIReader ( )
inline

Definition at line 315 of file XrdSciTokensAccess.cc.

315 {};

◆ OverrideINIReader() [2/3]

OverrideINIReader::OverrideINIReader ( std::string  filename)
inline

Definition at line 316 of file XrdSciTokensAccess.cc.

316  {
317  _error = ini_parse(filename.c_str(), ValueHandler, this);
318  }
static int ValueHandler(void *user, const char *section, const char *name, const char *value)

References ValueHandler().

+ Here is the call graph for this function:

◆ OverrideINIReader() [3/3]

OverrideINIReader::OverrideINIReader ( FILE *  file)
inline

Definition at line 319 of file XrdSciTokensAccess.cc.

319  {
320  _error = ini_parse_file(file, ValueHandler, this);
321  }

References ValueHandler().

+ Here is the call graph for this function:

Member Function Documentation

◆ ValueHandler()

static int OverrideINIReader::ValueHandler ( void *  user,
const char *  section,
const char *  name,
const char *  value 
)
inlinestaticprotected

Override the ValueHandler function in order override previous values For example: [Issuer https://chtc.cs.wisc.edu/icecube] issuer = https://chtc.cs.wisc.edu/icecube base_path = /icecube/path1

[Issuer https://chtc.cs.wisc.edu/icecube] issuer = https://chtc.cs.wisc.edu/icecube base_path = /icecube/path2

Will result in a configuration with base_path set to /icecube/path2

Definition at line 336 of file XrdSciTokensAccess.cc.

337  {
338  OverrideINIReader* reader = (OverrideINIReader*)user;
339  std::string key = MakeKey(section, name);
340 
341  // Overwrite existing values, if they exist
342  reader->_values[key] = value;
343  reader->_sections.insert(section);
344  return 1;
345  }

Referenced by OverrideINIReader().

+ Here is the caller graph for this function:

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