Event handling. Implementation of a combined queue for events and actions. This is the eventsystem which drives the MHEG engine. The basic implementation is as follows: Send Asynchronous Event: Add Asynchronous event to a queue. Send Synchronous Event (as a result of Executing ElementaryAction): Append Event to 'Synchronous Event Queue' Processing Loop: FOREACH Asynchronous Event DO Create 'Main Action Queue' from resulting ElementaryActions. FOREACH ElementaryAction in 'Main Action Queue' DO Execute ElementaryAction Create 'Temporary Action Queue' FOREACH Event in 'Synchronous Event Queue' DO Examine Links Append ElementaryActions to 'Temporary Action Queue' ENDFOR Prepend 'Temporary Action Queue' to 'Main Action Queue' ENDFOR ENDFOR.
More...
|
int | MHEG5InitQueues (void) |
|
void | MHEG5stopEventsAndResetQueue (void) |
| Discard any pending events and actions and prevent future events from being queued. And reset queues. See also MHEG5queueEvents. More...
|
|
void | MHEG5queueResetScene (MHEG5Root *grp) |
| Reset both event queues and the action queue, discarding any pending events and actions for this scene. More...
|
|
void | MHEG5ExitQueues (void) |
|
void | MHEG5AppendActionList (MHEG5ActionList actions) |
| The supplied list of actions should execute after any already on queue. More...
|
|
void | MHEG5queueResolveTargets (MHEG5ActionList actions) |
| Finds targets for the action list. More...
|
|
void | MHEG5queueUnresolveTargets (MHEG5ActionList actions) |
| Clear targets for the action list. More...
|
|
void | MHEG5processQueue (void) |
| Process all pending events and actions. After processing all events and actions, Normally there will not be any pending synchronous events or actions when this function is entered. The exception to this is when event processing has been disabled and re-enabled. In this case, any pending synchronous events should be processed before processing asynchronous events. More...
|
|
void | MHEG5actionListExecute (MHEG5Group *source, MHEG5ActionList act_q) |
| Execute the supplied list of actions immediately. The actions will have been executed by the time the function returns. MHEG5 COR.1 specifies that certain actions are ignored when executed from OnStartUp, OnCloseDown,OnSpawnCloseDown and OnRestart attributes. More...
|
|
void | MHEG5PrependActionList (MHEG5ActionList actions) |
| The supplied list of actions should execute before others on the queue. More...
|
|
void | MHEG5queueEvents (void) |
| Allow future events to be stored in the event queues. See also MHEG5discardEvents. More...
|
|
void | MHEG5sendEvent (MHEG5Root *source, MHEG5EventType a_type, MHEG5Int data) |
| Store an event in the asynchronous event queue . More...
|
|
void | MHEG5sendAppEngineEvent (E_ENGINE_EVENT engine_event) |
| Store an Engine event in the asynchronous event queue. More...
|
|
void | MHEG5sendSync (MHEG5Root *source, MHEG5EventType e_type, MHEG5Int e_data) |
| Store an event in the synchronous event queue. More...
|
|
void | MHEG5enableEventProcessing (MHEG5Bool enable) |
| Enable or disable engine event processing. This function is used to implement the Call action for resident programs that normally fork by disabling engine event progressing until the program finishes. It is also used to implement the MHEG5setActiveState API function, to allow the MHEG-5 engine to be paused. More...
|
|
void | MHEG5eventProcessingReset (void) |
| Causes the MHEG5enableEventProcessing counter to be reset to 0, and event processing to be enabled. This function is called when the engine is terminated to ensure that event processing will be enabled next time the engine is started. More...
|
|
void | MHEG5requestDisplayUpdate (void) |
| Request display update at the end of synchronous event processing Note that this function can only be called by MHEG thread. More...
|
|
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem which drives the MHEG engine. The basic implementation is as follows: Send Asynchronous Event: Add Asynchronous event to a queue. Send Synchronous Event (as a result of Executing ElementaryAction): Append Event to 'Synchronous Event Queue' Processing Loop: FOREACH Asynchronous Event DO Create 'Main Action Queue' from resulting ElementaryActions. FOREACH ElementaryAction in 'Main Action Queue' DO Execute ElementaryAction Create 'Temporary Action Queue' FOREACH Event in 'Synchronous Event Queue' DO Examine Links Append ElementaryActions to 'Temporary Action Queue' ENDFOR Prepend 'Temporary Action Queue' to 'Main Action Queue' ENDFOR ENDFOR.
- Date
- 01/02/2002
- Author
- R.Freeman
void MHEG5enableEventProcessing |
( |
MHEG5Bool |
enable | ) |
|
Enable or disable engine event processing. This function is used to implement the Call action for resident programs that normally fork by disabling engine event progressing until the program finishes. It is also used to implement the MHEG5setActiveState API function, to allow the MHEG-5 engine to be paused.
Enable or disable engine event processing. This function is used to implement the Call action for resident programs that normally fork by disabling engine event progressing until the program finishes.
- Parameters
-
enable | MHEG5TRUE to enable event processing, MHEG5FALSE to disable event processing. |
- Returns
- void