Hi Leo,

> > Nachdem der Preprozessor die Sinnhaftigkeit der S:-Tags gepr�ft hat,
> > interessieren mich die globalen Service-Namen beim Einlesen der
> > rate-CC.dat ja eigentlich nicht mehr, oder? Ich w�rde das gerne aus
> dem
> > Parser ausklammern.
> 
> Doch:
> e.g.
> 
> $ isdnrate -s Auskunft
> 
> Was ist die billigste Nummer zum Service "Auskunft"

Schon, aber es existiert ja ein S:Auskunft, damit baue ich ja meine
Service-Tabelle auf.

> > * Der Preprozesser entfernt die globalen Servicenamen
> No
> 
> > * Die globalen Servicenamen stehen in einer eigenen Datei, die nur
> f�r
> > den Preprozessor interessant ist
> No, in der struct SERVICE in rate.c
Ja, da stehen Sie nachher, nach dem Einlesen. Vorher interessieren sie
mich eigentlich nicht, weil ich strucht Service selbst aus den S:-Tags
beim Provider zusammenbauen kann. Auf Konsistenz hat bereits der
Preprozessor gepr�ft.

> > * Der Preprozessor sucht sich selbst alle Services zusammen und
> > vergleicht untereinander, ob zwei fast �hnlich geschrieben sind.
> 
> Ja,
> 
> > Alles l�uft darauf hinaus, da� am Anfang der rate-cc.dat keine
> > Servicenamen merh aufgef�hrt werden. Damit kann ich mit dem Codieren
> > beginnen.
> 
> Das ist die Design-Frage.
> Service sind providerunabhaengige Nummern. Wenn die Servicenamen am
> Anfang der rate-CC.dat einmal zusammengefasst sind, hat der
> Raten-Pfleger schon einen Hinweise, was er unten dann beim Provider
> eintragen soll.
> Wenn die Servicenamen nur bei den Provider definiert sind, gibt's
> wieder den Namenswildwuchs, den wir schon bei den Laendern hatten.
Guter Punkt.

> Wie gesagt, "Online", "Internt", "Internet C.b.C", "Onlinetarif" ...
> sind alles Bezeichnungen, die du auf den Tarifseiten der Provider
> findest. Das dann genau so eingetragen schafft der flexibelste wld()
> nicht.
Verstanden.

Gehen wir die Design-Frage mal von hinten her an: Die rate.cc.dat
entsteht aus verschiedenen Dateien, f�r jeden Provider eine (zumindest
f�r Deutschland). In welcher Datei stehen dann die Services?

Ich sage: in der services.dat, diese Datei wird aber _nur_ vom
Preprozessor gelesen, und dann alle S:-Tags bei den providern auf
�bereinstimmung mit den Eintr�gen aus services.dat gepr�ft. Mich (also
rate.c) interessiert dann die globale S:-Tabelle nicht mehr, weil ich
mir diese aus den provider-Eintr�gen selbst zusammenbauen kann.

Implementierung: es gibt kein struct SERVICE, sondern nur das bestehende
struct ZONE, mit einem zus�tzlichen Flag "ich bin ein Service". Die
Service-Tabelle selbst (so ich sie brauche) ist eine Liste von Zeigern
auf struct ZONE's.

bye, Michi

-- 
netWorks                                          Vox: +43 316  692396
Michael Reinelt                                   Fax: +43 316  692343
Geisslergasse 4                                   GSM: +43 676 3079941
A-8045 Graz, Austria                          e-mail: [EMAIL PROTECTED]

_______________________________________________
Rates4linux-devel mailing list
[EMAIL PROTECTED]
http://lists.SourceForge.net/mailman/listinfo/rates4linux-devel

Antwort per Email an