|
JSR-043: JTAPI-1.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The MPI definition of a GroupProvider. These methods are invoked in Base_MediaService.
The methods are of the form:
Base.Event methodName(Base.Event, arglist);
The semantics of these methods are defined by the corresponding methods in MediaService and Async.MediaService.
The first (event) argument contains the MediaService source and the correct eventID. Typically, the implementation should use, return and done-ify the event as supplied.
The provider implementation may create and return its own specialized version of the event, but there are restrictions:
Note: these methods return a Base.Event instead of Async.Event because Base.Event includes a package accessor method to extract the MediaGroup from the event. [It is difficult to hide this accessor if it must be a public interface with a public method.]
Note: The declaration of MPI.GroupProvider ensures
that a MPI.GroupProvider isa MediaProvider.
However, the MPI framework (Base_MediaService)
also assumes that the object that implements MediaProvider,
and is used in
new BasicMediaService(MediaProvider)
implements the more specialized MPI.GroupProvider.
This removes the necessity of declaring a public accessor
in javax.telephony.media.MediaProvider, such as:
MPI.GroupProvider getGroupProvider()
which would require a reference from the media package
to the provider package which we want to avoid.
If a MediaProvider implementation is outside the MPI framework, then it may/must modify (or discard) Base_MediaService accordingly.
Methods inherited from interface javax.telephony.media.MediaProvider |
getMediaService |
Method Detail |
public Base.BindToCallEvent bindAndConnect(Base.BindToCallEvent event, ConfigSpec cs, java.lang.String s1, java.lang.String s2)
public Base.BindToCallEvent bindToCall(Base.BindToCallEvent event, ConfigSpec cs, Call call)
public Base.BindEvent bindToTerminalName(Base.BindEvent event, ConfigSpec cs, java.lang.String s1)
public Base.BindEvent bindToTerminal(Base.BindEvent event, ConfigSpec cs, Terminal t1)
public Base.BindEvent bindToServiceName(Base.BindEvent event, ConfigSpec cs, java.lang.String serviceName)
public Base.DelegationEvent delegateToService(Base.DelegationEvent event, MPI.MediaGroup group, java.lang.String serviceName, int timeout, java.lang.String catchTags)
public Base.DelegationEvent retrieve(Base.DelegationEvent event, MPI.MediaGroup group, Symbol cause)
public Base.DelegationEvent releaseDelegated(Base.DelegationEvent event, MPI.MediaGroup group)
public Base.ReleaseEvent release(Base.ReleaseEvent event, MPI.MediaGroup group)
public Base.ReleaseEvent releaseToTag(Base.ReleaseEvent event, MPI.MediaGroup group, java.lang.String returnTag)
public Base.ReleaseEvent releaseToDestroy(Base.ReleaseEvent event, MPI.MediaGroup group)
public Base.ReleaseEvent releaseToService(Base.ReleaseEvent event, MPI.MediaGroup group, java.lang.String serviceName, int timeout)
public Base.Event cancelBindRequest(Base.Event event, Base.Event target)
event
- a Base.Event which has no particular EventID or callback.
but those who care can waitForEventDone().target
- a Base.BindEvent or Base.ReleaseEvent
depending on which operation is being cancelled
|
JSR-043: JTAPI-1.4 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |