FileDocCategorySizeDatePackage
ForegroundEventProducer.javaAPI DocphoneME MR2 API (J2ME)4305Wed May 02 18:00:24 BST 2007com.sun.midp.lcdui

ForegroundEventProducer

public class ForegroundEventProducer extends Object
This class provides methods to send events of types handled by ForegroundEventConsumer I/F implementors. This class completely hide event construction & sending in its methods. 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
private com.sun.midp.events.EventQueue
eventQueue
Cached reference to the MIDP event queue.
Constructors Summary
public ForegroundEventProducer(com.sun.midp.events.EventQueue theEventQueue)
Construct a new ForegroundEventProducer.

param
theEventQueue An event queue where new events will be posted.

        eventQueue = theEventQueue;
    
Methods Summary
public voidsendDisplayBackgroundNotifyEvent(int midletIsolateId, int midletDisplayId)
Called to process a change a display's foreground/background status.

param
midletIsolateId ID of the target isolate (where to send event)
param
midletDisplayId ID of the target display

        NativeEvent event =
            new NativeEvent(EventTypes.BACKGROUND_NOTIFY_EVENT);

        event.intParam4 = midletDisplayId;
        
        eventQueue.sendNativeEventToIsolate(event, midletIsolateId);
    
public voidsendDisplayForegroundNotifyEvent(int midletIsolateId, int midletDisplayId)
Called to process a change a display's foreground/background status.

param
midletIsolateId ID of the target isolate (where to send event)
param
midletDisplayId ID of the target display


        NativeEvent event =
            new NativeEvent(EventTypes.FOREGROUND_NOTIFY_EVENT);

        event.intParam4 = midletDisplayId;
        
        eventQueue.sendNativeEventToIsolate(event, midletIsolateId);