MIDletEventProducerpublic class MIDletEventProducer extends Object This class provides methods to send events of types
handled by MIDletEventConsumer I/F implementors.
This class completely hide event construction & sending in its methods.
The primary user of this class are MIDletProxyList & MIDletProxy
in AMS isolate. Threrefore ve can use MIdletProxy object reference
as sendXXXEvent() method parameter instead of currently used int IDs.
Generic comments for all XXXEventProducers:
For each supported event type there is a separate sendXXXEvent() method,
that gets all needed parameters to construct an event of an approprate class.
The method also performs event sending itself.
If a given event type merges a set of logically different subtypes,
this class shall provide separate methods for these subtypes.
It is assumed that only one object instance of this class
is initialized with the system event that is created at (isolate) startup.
This class only operates on the event queue given to it during
construction, the class does not obtain any restricted object itself,
so it does not need protection.
All MIDP stack subsystems that need to send events of supported types,
must get a reference to an already created istance of this class.
Typically, this instance should be passed as a constructor parameter.
Class is NOT final to allow debug/profile/test/automation subsystems
to change, substitute, complement default "event sending" functionality :
Ex.
class LogXXXEventProducer
extends XXXEventProducer {
...
void sendXXXEvent(parameters) {
LOG("Event of type XXX is about to be sent ...")
super.sendXXXEvent(parameters);
LOG("Event of type XXX has been sent successfully !")
}
...
} |
Fields Summary |
---|
protected com.sun.midp.events.EventQueue | eventQueueCached reference to the MIDP event queue. |
Constructors Summary |
---|
public MIDletEventProducer(com.sun.midp.events.EventQueue theEventQueue)Construct a new MIDletEventProducer.
eventQueue = theEventQueue;
|
Methods Summary |
---|
public void | sendMIDletActivateEvent(int isolateId, java.lang.String midletClassName)Pause a MIDlet.
Probably: need some form of MIDlet ID instead of displayId.
use MIDletProxy instead of 2 int ID parameters.
sendMIDletEvent(EventTypes.ACTIVATE_MIDLET_EVENT, isolateId,
midletClassName);
| public void | sendMIDletDestroyEvent(int isolateId, java.lang.String midletClassName)Destroy a MIDlet.
Former: void MIDletProxy.destroyMidlet();
sendMIDletEvent(EventTypes.DESTROY_MIDLET_EVENT, isolateId,
midletClassName);
| private void | sendMIDletEvent(int eventType, int midletIsolateId, java.lang.String midletClassName)Sends an event with the only integer parameter for display ID
to a MIDlet .
NativeEvent event = new NativeEvent(eventType);
event.stringParam1 = midletClassName;
eventQueue.sendNativeEventToIsolate(event, midletIsolateId);
| public void | sendMIDletPauseEvent(int isolateId, java.lang.String midletClassName)Activate a MIDlet.
Former: void MIDletProxy.pauseMidlet();
sendMIDletEvent(EventTypes.PAUSE_MIDLET_EVENT, isolateId,
midletClassName);
|
|