beautypg.com

Apple AppleShare 3.0 File Server Controls User Manual

Page 33

background image

BEGIN

scPB.serverEventPB.scSEQEntryPtr := theSEHandler;

scPB.serverEventPB.scCode := SCInstallServerEventProc;

mySCInstallServerEventProc := SyncServerDispatch(@scPB);

END;

{ This function calls SCRemoveServerEventProc to remove a }

{ server event handler. }

FUNCTION mySCRemoveServerEventProc (theSEHandler: ProcPtr):

OSErr;

VAR

scPB: SCParamBlockRec;

BEGIN

scPB.serverEventPB.scSEQEntryPtr := theSEHandler;

scPB.serverEventPB.scCode := SCRemoveServerEventProc;

mySCRemoveServerEventProc := SyncServerDispatch(@scPB);

END;

{ TheSrvrEventHandler shows what should be done in a }

{ server event handler and no more: It gets a server }

{ event record from the free queue of application supplied }

{ server event records (or if the freeQ is empty, it gets }

{ the oldest server event record from the usedQ ); it }

{ copies AppleShare's server event record (pointed to by }

{ theSERecPtr) into the application's server event record; }

{ it puts the application's server event record into the }

{ used queue where it can be serviced from the }

{ application's event loop; and then calls WakeUpProcess }

{ so the event loop can handle the server event record }

{ in the queue as soon as possible. }

PROCEDURE TheSrvrEventHandler