Apple AppleShare 3.0 File Server Controls User Manual
Page 33

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