server.extend 1.86 KB
Newer Older
1
ATT LÄGGA TILL EN NY FUNKTION
Per Cederqvist's avatar
.  
Per Cederqvist committed
2

Per Cederqvist's avatar
Per Cederqvist committed
3 4
Alla filnamn i denna fil anges relativt $TOPDIR/src.

5 6
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)
Per Cederqvist's avatar
.  
Per Cederqvist committed
7

Per Cederqvist's avatar
Per Cederqvist committed
8
  1) Deklarera funktionen i include/services.h.
Per Cederqvist's avatar
.  
Per Cederqvist committed
9

10 11
  2) Deklarera funktionen i server/fncdef.txt. Lägg alltid nya funktioner
     sist så att gamla klienter fortfarande fungerar.
Per Cederqvist's avatar
.  
Per Cederqvist committed
12 13

	2a) Om funktionen tar en inparameter av en typ som inte finns
14
	    nämnd i fncdef.txt så måste ändringar ske i
Per Cederqvist's avatar
.  
Per Cederqvist committed
15 16

		server/call-switch.awk
17
		server/prot-a-parse-arg-c.awk
18 19 20 21 22 23 24
		server/connections.h	Definitionen av Connection ska
					utökas med ett fält där man kan
					lagra det parseade fältet.
		server/connections.c	Gör free på fältet i free_parsed().
		server/internal-connections.c
					Initiera fältet i init_connection().
		server/isc-parse.c	Skriv en funktion för att parsea.
Per Cederqvist's avatar
.  
Per Cederqvist committed
25 26
		server/isc-parse.h

27 28
	2b) Om funktionen tar för många inparametrar av typen num, 
	    string eller c_string så måste man ändra
Per Cederqvist's avatar
.  
Per Cederqvist committed
29

30
		server/connections.h	Definitionen av Connection
Per Cederqvist's avatar
.  
Per Cederqvist committed
31

32
	2c) Om funktionen har en utparameter av en annan typ än de som redan
Per Cederqvist's avatar
.  
Per Cederqvist committed
33 34
	    finns:

35 36
	    	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 
Per Cederqvist's avatar
.  
Per Cederqvist committed
37
				      Result_holder.
38
		server/prot-a-output.c: skriv en funktion för att skriva 
Per Cederqvist's avatar
.  
Per Cederqvist committed
39 40 41
					ut ett objekt.
		server/prot-a-output.h
		
42 43
   3) Skriv funktionen i lämplig fil i server-direktoryt. De som finns att 
      välja på när detta skrivs är
Per Cederqvist's avatar
.  
Per Cederqvist committed
44

45 46
        admin.c, conference.c, membership.c, person.c, session.c, text.c,
	regex-match.c
Per Cederqvist's avatar
.  
Per Cederqvist committed
47

48
   4) Lägg till funktionsnamnet i prot_a_is_legal_fnc() i server/prot-a.c.
Per Cederqvist's avatar
.  
Per Cederqvist committed
49 50 51

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

Per Cederqvist's avatar
Per Cederqvist committed
52
   6) [utgår]
Per Cederqvist's avatar
.  
Per Cederqvist committed
53

Per Cederqvist's avatar
Per Cederqvist committed
54
   7) [utgår]
Per Cederqvist's avatar
.  
Per Cederqvist committed
55

Per Cederqvist's avatar
Per Cederqvist committed
56
  8) [utgår]
Per Cederqvist's avatar
.  
Per Cederqvist committed
57 58

  9) Implementera de nya kommandona i klienterna.
59
I protokoll B kommer det (om lacgen någonsin blir klart) att bli
Per Cederqvist's avatar
.  
Per Cederqvist committed
60
mycket enklare.