Rudolf's Radius Klassenbibliothek
Left Up Right Klassenbibliothek

Radius-Attribut-Ascii-Repräsentations Scanner und Unterklassen

Zweck

Die Klasse RaarScanner und ihre Unterklassen interpretieren Ascii-Dateien, deren Zeilen hauptsächlich die Form
   Attribut = value
haben, wobei die Attribute im Dictionary verzeichnet sein m¨ssen

Die Grundklasse RaarScanner

char *p;
aktueller Iterator in der Zeile
char eatwhite();
überliest die Leerzeichen
Attreintrag *getattr();
liest ein Attributnamen und löt ihn mit Hilfe dersDictionaries auf. Liefert einen Zeiger auf die Attributstruktur oder NULLfalls unbekannt
int getstring(char *buf);
liefert einen Wertstring in buf. Die Interpretation macht die Funktion addattrtolist bzw. die konkrete Eintragungsfunktion in die Nachricht oder den userrecord.
int scanpaar(Attreintrag *&at,char *valuebuf);
liest ein Attribut/Value Paar aus dem internen Puffer
void error(char *errmsg);
macht eine Fehlerausgabe mit Datei zund Zeilennummer. Diese Funktion wird intern aufgerufen.
char *getline();
liest eine Zeile und initialisiert den internen Puffer.
RaarScanner(Attrdict &dict);
ist der Konstruktor.
int init(char *datname);
liest Datei ein.
Unterklassen dieser machen die Interpretation des Restes und die Steuerung des Parsings.

Unterklasse Userscanner

Klasse Userscanner liest speziell die Userbeschreibung ein. Deren Unterklasse Userprofscanner liest users Datei ein. Daneben gibt es noch eine Klasse Userstemplate, die das Template einliest und die Checkattribute dazuschreibt. (Wurde mal von meinem Vorläufer von radadmin gebraucht.)

Radius accounting-Attribut-Scanner RacctaScanner

liest Accounting-attribute ein.
Rudolf Weber Informatik- und Netzwerkverein Ravensburg e.V