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