addService(java.lang.String name,
java.lang.String localclass,
MMObjectNode mmserver)
adds a service to this builder, name is allways valid and correct
the Service builder _must_ update all the mmbase admins to reflect
new state.

nodeLocalChanged(java.lang.String machine,
java.lang.String number,
java.lang.String builder,
java.lang.String ctype)
Called when an operation is done on a service node eg insert, commit, it calls method
to send the node change to the remote side.

boolean

nodeRemoteChanged(java.lang.String machine,
java.lang.String number,
java.lang.String builder,
java.lang.String ctype)
Called when another mmbse changed the service, if so then we print
service state and info contents..

doClaim

Claims (state=claimed) the service node and fills its info field with
owner and selected tracknr that has to be ripped.
The tracknr is retrieved from the session var -> name='serviceobj#TRACKNR'
This is done through a reference variable(either alias or objnumber) stored in tok parameter.

Parameters:

sp - the scanpage object.

tok - a StringTokenizer with a servicebuilder type objectnumber (eg. cdplayers)
and a username of who used the service.

addService

adds a service to this builder, name is allways valid and correct
the Service builder _must_ update all the mmbase admins to reflect
new state. Next version will support name with authentication.
Currently always a service of type cdplayers is expected for insertion.

addService

adds a service to this builder. name is allways valid and correct
the Service builder _must_ update all the mmbase admins to reflect
new state. Next version will support name with authentication.
adds a init hashtable for use for authentication and other startup
params.

nodeLocalChanged

Called when an operation is done on a service node eg insert, commit, it calls method
to send the node change to the remote side.
However, if change was done by the remote side (change to busy, or change to waiting
with exitvalue), we don't send this change to the remote side.
Also node change of type new 'n' or delete 'd' aren't sent to remote side.

sendToRemoteBuilder

Sends a signal to the remote side to indicate that service has been changed.
The information sent is a service reference name, buildertype and change type.
Signalling is done using the protocoldriver attached to the first mmserver
that in turn is attached to the current service(builder) in progress.