server.extend 2.05 KB
Newer Older
Per Cederqvist's avatar
.  
Per Cederqvist committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
ATT L[GGA TILL EN NY FUNKTION

F|r att l{gga till en ny funktion beh|ver f|ljande {ndringar g|ras:
(Det ser kanske mycket ut, men i praktiken s} {r det inte s} jobbigt)

  1) Deklarera funktionen i services.h.

  2) Deklarera funktionen i server/fncdef.txt. L{gg alltid nya funktioner
     sist s} att gamla klienter fortfarande fungerar.

	2a) Om funktionen tar en inparameter av en typ som inte finns
	    n{mnd i fncdef.txt s} m}ste {ndringar ske i

		server/call-switch.awk
		server/parse-arg-c.awk
		server/isc-server.h	Definitionen av Isc_clientinfo ska
					ut|kas med ett f{lt d{r man kan
					lagra det parseade f{ltet.
		server/isc-parse.c	Skriv en funktion f|r att parsea.
		server/isc-parse.h

	2b) Om funktionen tar f|r m}nga inparametrar av typen num, 
	    string eller c_string s} m}ste man {ndra

		server/isc-server.h	Definitionen av Isc_clientinfo

	2c) Om funktionen har en utparameter av en annan typ {n de som redan
	    finns:

	    	server/prot-a.c: L{gg till en rad i switchen i prot_a_reply.
		server/connections.h: L{gg till typen i Res_type och 
				      Result_holder.
		server/prot-a-output.c: skriv en funktion f|r att skriva 
					ut ett objekt.
		server/prot-a-output.h
		
   3) Skriv funktionen i l{mplig fil i server-direktoryt. De som finns att 
      v{lja p} n{r detta skrivs {r

        admin.c, conference.c, membership.c, person.c, session.c, text.c

   4) L{gg till funktionsnamnet i prot_a_is_legal_fnc() i server/prot-a.c.

   5) Kompilera om servern med 'make' i server/.

   6) Skapa funktionsstubbar i kommunikationsdelen i filerna

		isc-client/services.c
		isc-client/input.c	Om nya komplicerade datatyper.
		isc-client/input.h
		isc-client/output.c
		isc-client/output.h

   7) Om du har nya datatyper skall funktioner f|r att parsea/skriva
      dom definieras i
		isc-client/isc-parse.c
		isc-client/isc-parse.h
		isc-client/isc-output.c
		isc-client/isc-output.h

  8) Skapa libyskom.a med 'make ar' i isc-client/.

  9) Implementera de nya kommandona i klienterna.
I protokoll B kommer det (om lacgen n}gonsin blir klart) att bli
mycket enklare.