Rudolf's Radius Klassenbibliothek
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