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 314 of file XrdSciTokensAccess.cc.

Constructor & Destructor Documentation

◆ OverrideINIReader() [1/3]

OverrideINIReader::OverrideINIReader ( )
inline

Definition at line 316 of file XrdSciTokensAccess.cc.

316 {};

◆ OverrideINIReader() [2/3]

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

Definition at line 317 of file XrdSciTokensAccess.cc.

317  {
318  _error = ini_parse(filename.c_str(), ValueHandler, this);
319  }
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 320 of file XrdSciTokensAccess.cc.

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

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 337 of file XrdSciTokensAccess.cc.

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

Referenced by OverrideINIReader().

+ Here is the caller graph for this function:

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