49 #ifdef SURFACE_THRESHOLD 60 #define GROUP_CP_DEFAULT 127 61 #define ZERO_TIMER_HDL ((void*)0x2EA02EA0) 64 extern int asn_bitmap_count;
65 extern int asn_group_item_count;
79 static MH5GroupId nextFreeGroupId = INVALID_GRP_REF;
82 static void *group_mutex = NULL;
83 static MHEG5Int processing_timers = 0;
95 memset(group_timers, 0, MAX_TIMERS *
sizeof(
GroupTimer));
97 processing_timers = 0;
98 TRACE(TSTATE, (
"grp_mutex=%d", group_mutex))
109 void MHEG5groupPrint(
MHEG5Group *group,
char *out)
115 MHEG5classPrint(group->root.clazz, out);
116 MHEG_PRINT(out,
" (");
117 MHEG5stringPrint(group->groupName, out);
118 MHEG_PRINT(out,
" 0 )");
139 if (group->objectInformation.len)
142 MHEG_PRINT(out,
":ObjectInfo ");
143 MHEG5stringPrint(group->objectInformation, out);
146 if (group->onStartUp.a_ptr)
149 MHEG_PRINT(out,
":OnStartUp ");
150 MHEG5actionPrint(group->onStartUp, out);
153 if (group->onCloseDown.a_ptr)
156 MHEG_PRINT(out,
":OnCloseDown ");
157 MHEG5actionPrint(group->onCloseDown, out);
160 if (group->originalCachePriority != GROUP_CP_DEFAULT)
163 MHEG_PRINT(out,
":OrigGCPriority ");
164 MHEG5intPrint(group->originalCachePriority, out);
168 currItem = group->itemHead;
172 MHEG_PRINT(out,
":Items ( ");
177 MHEG5finalPrint((
MHEG5Root *)currItem, out);
178 currItem = currItem->next;
180 while (currItem != NULL);
183 MHEG_PRINT(out,
")");
187 if (group->cachePriority != GROUP_CP_DEFAULT)
190 MHEG_PRINT(out,
"// cachePriority ");
191 MHEG5intPrint(group->cachePriority, out);
211 item->root.grp = group;
213 item->prev = group->itemTail;
215 if (!group->itemTail)
217 group->itemHead = item;
221 group->itemTail->next = item;
223 group->itemTail = item;
224 key = item->root.id & 0xff;
225 item->hnxt = group->hashIngred[key];
226 group->hashIngred[key] = item;
249 s->next->prev = s->prev;
253 group->itemTail = s->prev;
257 s->prev->next = s->next;
261 group->itemHead = s->next;
270 key = item->root.id & 0xff;
271 h = &group->hashIngred[key];
292 group->group_id = ++nextFreeGroupId;
298 group->cachePriority = GROUP_CP_DEFAULT;
299 group->originalCachePriority = GROUP_CP_DEFAULT;
302 for (i = 0; i != 256; i++)
304 group->hashIngred[i] = 0;
324 group->onStartUp.a_ptr = 0;
325 group->onStartUp.total = 0;
328 group->onCloseDown.a_ptr = 0;
329 group->onCloseDown.total = 0;
351 TRACER(
int count = 0; )
354 if (group->onStartUp.a_ptr)
356 TRACE(TEVNTS, (
"OnStartUp %p, %p", group, group->onStartUp))
359 if (group->onCloseDown.a_ptr)
361 TRACE(TEVNTS, (
"onCloseDown %p, %p", group, group->onCloseDown))
366 item = group->itemHead;
370 if (!item->initiallyStopped)
373 switch (item->root.clazz)
376 case MHEG5APPLICATION:
377 ERROR_PRINT((
"MHEG5groupPrepare: item is invalid class %d\n", item->root.clazz));
391 case MHEG5DYNAMICLINEART:
397 case MHEG5RESIDENTPROGRAM:
398 case MHEG5REMOTEPROGRAM:
399 case MHEG5INTERCHANGEDPROGRAM:
402 case MHEG5BOOLEANVARIABLE:
405 case MHEG5INTEGERVARIABLE:
408 case MHEG5OCTETSTRINGVARIABLE:
411 case MHEG5OBJECTREFVARIABLE:
414 case MHEG5CONTENTREFVARIABLE:
426 #ifndef MHEG5PROFILE_UK1_06 430 case MHEG5PUSHBUTTON:
433 case MHEG5SWITCHBUTTON:
436 case MHEG5RTGRAPHICS:
442 case MHEG5CURSORSHAPE:
449 case MHEG5TOKENGROUP:
455 case MHEG5ENTRYFIELD:
465 ERROR_PRINT((
"INTERNAL ERROR: MHEG5groupPrepare Unrecognised class %d\n", item->root.clazz));
469 else if ((item->root.clazz == MHEG5RESIDENTPROGRAM) ||
470 (item->root.clazz == MHEG5REMOTEPROGRAM) ||
471 (item->root.clazz == MHEG5INTERCHANGEDPROGRAM))
481 group->cachePriority = group->originalCachePriority;
485 TRACE(TFILE, (
" item count=%d grp_itm_cnt=%d asn_bmp_cnt=%d", count, asn_group_item_count, asn_bitmap_count))
504 if (group->onCloseDown.a_ptr && MH5GlueActiveState())
506 TRACE(TEVNTS, (
"OnCloseDown %p, %p", group, group->onCloseDown))
510 item = group->itemTail;
515 switch (item->root.clazz)
533 case MHEG5DYNAMICLINEART:
541 case MHEG5RESIDENTPROGRAM:
542 case MHEG5REMOTEPROGRAM:
543 case MHEG5INTERCHANGEDPROGRAM:
547 case MHEG5BOOLEANVARIABLE:
551 case MHEG5INTEGERVARIABLE:
555 case MHEG5OCTETSTRINGVARIABLE:
559 case MHEG5OBJECTREFVARIABLE:
563 case MHEG5CONTENTREFVARIABLE:
579 #ifndef MHEG5PROFILE_UK1_06 584 case MHEG5PUSHBUTTON:
588 case MHEG5SWITCHBUTTON:
592 case MHEG5RTGRAPHICS:
600 case MHEG5CURSORSHAPE:
609 case MHEG5TOKENGROUP:
617 case MHEG5ENTRYFIELD:
630 ERROR_PRINT((
"INTERNAL ERROR: MHEG5groupDestruct Unrecognised class %d\n", item->root.clazz));
638 group->root.runningStatus = MHEG5FALSE;
641 for (t_ndx = 0; t_ndx != MAX_TIMERS; t_ndx++)
643 if (group_timers[t_ndx].group_ptr == group)
645 if (group_timers[t_ndx].t_handle != 0)
647 if (group_timers[t_ndx].t_handle != ZERO_TIMER_HDL)
649 mhegTimerDestroy( group_timers[t_ndx].t_handle );
651 group_timers[t_ndx].t_handle = 0;
678 if (!group->root.availabilityStatus)
683 if (group->onStartUp.a_ptr)
685 TRACE(TEVNTS, (
"OnStartUp %p, %p", group, group->onStartUp))
689 item = group->itemHead;
693 if (!item->initiallyStopped)
695 switch (item->root.clazz)
698 case MHEG5APPLICATION:
699 ERROR_PRINT((
"MHEG5groupActivate: item is invalid class %d\n", item->root.clazz));
713 case MHEG5DYNAMICLINEART:
719 case MHEG5RESIDENTPROGRAM:
720 case MHEG5REMOTEPROGRAM:
721 case MHEG5INTERCHANGEDPROGRAM:
724 case MHEG5BOOLEANVARIABLE:
725 case MHEG5INTEGERVARIABLE:
726 case MHEG5OCTETSTRINGVARIABLE:
727 case MHEG5OBJECTREFVARIABLE:
728 case MHEG5CONTENTREFVARIABLE:
740 #ifndef MHEG5PROFILE_UK1_06 744 case MHEG5PUSHBUTTON:
747 case MHEG5SWITCHBUTTON:
750 case MHEG5RTGRAPHICS:
756 case MHEG5CURSORSHAPE:
763 case MHEG5TOKENGROUP:
769 case MHEG5ENTRYFIELD:
779 ERROR_PRINT((
"INTERNAL ERROR: MHEG5groupActivate Unrecognised class %d\n", item->root.clazz));
784 group->root.runningStatus = MHEG5TRUE;
805 if (group->root.runningStatus)
815 item = group->itemTail;
819 switch (item->root.clazz)
833 case MHEG5DYNAMICLINEART:
839 case MHEG5RESIDENTPROGRAM:
840 case MHEG5REMOTEPROGRAM:
841 case MHEG5INTERCHANGEDPROGRAM:
844 case MHEG5BOOLEANVARIABLE:
845 case MHEG5INTEGERVARIABLE:
846 case MHEG5OCTETSTRINGVARIABLE:
847 case MHEG5OBJECTREFVARIABLE:
848 case MHEG5CONTENTREFVARIABLE:
860 #ifndef MHEG5PROFILE_UK1_06 864 case MHEG5PUSHBUTTON:
867 case MHEG5SWITCHBUTTON:
870 case MHEG5RTGRAPHICS:
876 case MHEG5CURSORSHAPE:
883 case MHEG5TOKENGROUP:
889 case MHEG5ENTRYFIELD:
899 ERROR_PRINT((
"INTERNAL ERROR: MHEG5groupDeactivate Unrecognised class %d\n", item->root.clazz));
909 if (ca->lockCount <= 0)
945 return MHEG5ERR_WRONGNUMBEROFPARAMS;
947 MHEG5resolveGenericInteger(params, &value);
949 ((
MHEG5Group *) target)->cachePriority = value;
951 return MHEG5ERR_NOERROR;
959 static void MH5_GroupTimer(
void *data )
964 if (gt->t_handle == params->timerHandle)
966 if (params->triggered == TRUE)
968 TRACE(TTIME, (
"Main Timer fired, id=%ld hdl=%x", gt->timer_id, gt->t_handle))
977 TRACE(TTIME, (
"Timer %ld Fired, but it was cancelled while fire event was waiting in Queue (0x%x 0x%x)",
978 gt->timer_id, gt->t_handle, params->timerHandle))
995 static void TimerCallback( BOOLEAN triggered,
void *callerRef, H_Timer timerHandle )
1001 TRACE(TTIME, (
"Timer Callback, id=%ld hdl=%x thdl=%x", gt->timer_id, gt->t_handle, timerHandle))
1003 event.proc_msg_func = MH5_GroupTimer;
1004 event.data_type = DT_VALUE;
1005 event.data.timer.triggered = triggered;
1006 event.data.timer.callerRef = callerRef;
1007 event.data.timer.timerHandle = (
void *)timerHandle;
1009 processing_timers++;
1011 if (
VQ_PutMsg(&event, PRTY_HIGH) != MHERR_OK)
1013 TRACE(TERROR, (
"VQ_PutMsg returned Error\n"))
1018 processing_timers--;
1024 TRACE(TTIME, (
"Timer Cancelled, id=%ld hdl=%x thdl=%x", gt->timer_id, gt->t_handle, timerHandle))
1072 MHEG5GList *thirdParam = 0, *fourthParam = 0;
1074 MHEG5Int timerId = 0, timerValue = -1;
1075 MHEG5Bool absoluteTime = MHEG5FALSE;
1083 return MHEG5ERR_WRONGNUMBEROFPARAMS;
1089 thirdParam = MHEG5resolveGenericInteger(params, &timerId);
1091 for (t_ndx = 0; t_ndx != MAX_TIMERS; t_ndx++)
1093 if ((group_timers[t_ndx].group_ptr == group) &&
1094 (group_timers[t_ndx].timer_id == timerId))
1096 TRACE(TTIME, (
"Cancel timer id=%ld ndx=%d hdl=%x", timerId, t_ndx, group_timers[t_ndx].t_handle))
1098 if (group_timers[t_ndx].t_handle != 0)
1100 if (group_timers[t_ndx].t_handle != ZERO_TIMER_HDL)
1102 mhegTimerDestroy( group_timers[t_ndx].t_handle );
1104 group_timers[t_ndx].t_handle = 0;
1108 group_timers[t_ndx].group_ptr = 0;
1109 group_timers[t_ndx].timer_id = 0;
1117 fourthParam = MHEG5resolveGenericInteger(thirdParam, &timerValue);
1120 MHEG5resolveGenericBoolean(fourthParam, &absoluteTime);
1123 timerValue -= currentTime - group->startTime;
1126 for (t_ndx = 0; t_ndx != MAX_TIMERS; t_ndx++)
1128 if (group_timers[t_ndx].t_handle == 0)
1130 group_timers[t_ndx].group_ptr = group;
1131 group_timers[t_ndx].timer_id = timerId;
1134 if (mhegTimerCreate((U32BIT) timerValue, (F_TimerCallback) TimerCallback,
1135 (
void *) &group_timers[t_ndx], &group_timers[t_ndx].t_handle ) != MHERR_OK)
1137 group_timers[t_ndx].group_ptr = 0;
1138 group_timers[t_ndx].timer_id = 0;
1140 TRACE(TTIME, (
"Create timer id=%ld val=%ld,ndx=%d hdl=%x", timerId, timerValue, t_ndx, group_timers[t_ndx].t_handle))
1142 else if (!absoluteTime && (timerValue == 0))
1145 timerValue = processing_timers;
1150 TRACE(TTIME, (
"Zero Timer fired, id=%ld, handle via queue", timerId))
1151 group_timers[t_ndx].t_handle = ZERO_TIMER_HDL;
1152 TimerCallback(TRUE, (
void *) &group_timers[t_ndx], group_timers[t_ndx].t_handle);
1157 TRACE(TTIME, (
"Zero Timer fired, id=%ld, handle immediately", timerId))
1159 group_timers[t_ndx].group_ptr = 0;
1160 group_timers[t_ndx].timer_id = 0;
1168 return MHEG5ERR_NOERROR;
1171 #ifdef SURFACE_THRESHOLD 1177 void MHEG5groupDestroySurfaces(MHEG5Int pixels)
1185 for (i = 0; group != NULL && i < 2; i++)
1187 for (ingredient = group->itemHead; ingredient != NULL;
1188 ingredient = ingredient->next)
1190 switch (ingredient->root.clazz)
1192 case MHEG5RTGRAPHICS:
1196 case MHEG5DYNAMICLINEART:
1197 case MHEG5RECTANGLE:
1198 case MHEG5ENTRYFIELD:
1199 case MHEG5HYPERTEXT:
1201 case MHEG5PUSHBUTTON:
1202 case MHEG5SWITCHBUTTON:
1205 MG_ApplySurfaceThreshold(&visible->graphic_data, pixels);
void MHEG5groupFree(MHEG5Group *group)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5ErrorCode MHEG5setTimer(MHEG5Root *target, MHEG5GList *params)
This actions sets a new Timer which results in a TimerFired event when the given time is reached...
U32BIT STB_OSGetClockMilliseconds(void)
Get Current Computer Clock Time.
void MHEG5sliderDestruct(MHEG5Slider *slider)
Destruct a slider object.
void MHEG5videoDestruct(MHEG5Video *video)
Destruct a video object. See also MHEG5videoInit.
E_MhegErr VQ_PutMsg(S_MhegMessage *pMsg, E_PRIORITY priority)
Post event or section message on queue. Copies data into queue.
void MHEG5bitmapDestruct(MHEG5Bitmap *bitmap)
Destruct a bitmap object.
Distributor for Prepare, Destruct, Activate, Deactivate and Clone calls. Distribute the +Prepare +Des...
void MHEG5programFree(MHEG5Program *program)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MH5_GroupInit(void)
This function initialises Group Timers.
void MHEG5contentVariableFree(MHEG5ContentVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5dynamicLineartDeactivate(MHEG5DynamicLineart *dynamicLineart)
Apply the deactivation behaviour of the dynamiclineart class.
void MHEG5octetStringVariablePrepare(MHEG5OctetStringVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5contentVariablePrepare(MHEG5ContentVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5actionListExecute(MHEG5Group *source, MHEG5ActionList actions)
Execute the supplied list of actions immediately. The actions will have been executed by the time the...
void MHEG5videoDeactivate(MHEG5Video *video)
Apply the deactivation behaviour of the video class. As this class has no own deactivation behaviour ...
void MHEG5cursorShapePrepare(MHEG5CursorShape *cursorShape)
Apply the preparation behaviour of the cursorshape class Apply the preparation behaviour of the curso...
void MHEG5booleanVariablePrepare(MHEG5BooleanVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5cursorShapeFree(MHEG5CursorShape *cursorShape)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5rootDestruct(MHEG5Root *root)
Implementation of the Destruction behaviour Destruction This behaviour has the basic semantics of ask...
void MHEG5octetStringVariableFree(MHEG5OctetStringVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5rtgraphicsFree(MHEG5RTGraphics *rtgraphics)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5hypertextFree(MHEG5Hypertext *hypertext)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5ErrorCode MHEG5setCachePriority(MHEG5Root *target, MHEG5GList *params)
Implementation of the SetCachePriority action SetCachePriority (NewCachePriority) Set the GroupCacheP...
void MHEG5audioDeactivate(MHEG5Audio *audio)
Apply the deactivation behaviour off the audio class. As this class has no own deactivation behaviour...
void MHEG5textDestruct(MHEG5Text *text)
Destruct a text object.
void MHEG5listGroupActivate(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Activation behaviour.
void MHEG5ingredientDestruct(MHEG5Ingredient *ingredient)
Implementation of the Destruction behaviour Execute the following sequence of actions: ...
void MHEG5fontFree(MHEG5Font *font)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Implementation of the Group class Description Defines the structure and behaviour of objects used as ...
void MHEG5groupDestruct(MHEG5Group *group)
Implementation of the Destruction behaviour Destruction.
void MHEG5groupDelItem(MHEG5Group *group, MHEG5Ingredient *item)
Delete Item from the List.
void MHEG5streamDeactivate(MHEG5Stream *stream)
Apply the deactivation behaviour of the stream class. Execute the following sequence of actions: ...
void MHEG5streamFree(MHEG5Stream *stream)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5textPrepare(MHEG5Text *text)
Apply the preparation behaviour of the text class Apply the preparation behaviour of the text class...
void MHEG5listGroupDeactivate(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Deactivation behaviour.
void MHEG5groupPrepare(MHEG5Group *group)
Implementation of the Preparation behaviour Preparation.
void MHEG5listGroupDestruct(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Destruction behaviour.
void MHEG5stringDestruct(MHEG5String *item)
Destruct a MHEG5String.
void MHEG5listGroupFree(MHEG5ListGroup *listGroup)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5objectRefVariablePrepare(MHEG5ObjectRefVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5entryfieldDestruct(MHEG5Entryfield *entryfield)
Destruct a entryfield object.
void MHEG5entryfieldFree(MHEG5Entryfield *entryfield)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5streamActivate(MHEG5Stream *stream)
Apply the activation behaviour of the stream class. Execute the following sequence of actions: ...
void MHEG5integerVariablePrepare(MHEG5IntegerVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5groupInit(MHEG5Group *group)
Initialise an Group object with default Values.
void STB_OSMutexUnlock(void *mutex)
Unlock a mutex (a.k.a. 'leave', 'signal' or 'release')
void MHEG5linkFree(MHEG5Link *link)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5dynamicLineartPrepare(MHEG5DynamicLineart *dynamicLineart)
Apply the preparation behaviour of the dynamiclineart class Apply the preparation behaviour of the dy...
This file defines the profile for the MHEG engine.
void MHEG5sliderActivate(MHEG5Slider *slider)
Apply the activation behaviour of the slider class. As this class has no own activation behaviour thi...
void MHEG5cursorShapeDestruct(MHEG5CursorShape *cursorShape)
Destruct a cursorshape object.
void MHEG5lineartFree(MHEG5Lineart *lineart)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5rootPrepare(MHEG5Root *root)
Implementation of the Preparation behaviour Preparation This behaviour has the basic semantics of all...
void MHEG5variableActivate(MHEG5Ingredient *variable)
Apply the activation behaviour of the Variable class. Apply the activation behaviour of the variable ...
void MHEG5sliderPrepare(MHEG5Slider *slider)
Apply the preparation behaviour of the slider class Apply the preparation behaviour of the slider cla...
void MHEG5variableDeactivate(MHEG5Ingredient *variable)
Apply the deactivation behaviour of the variable class. As this class has no own deactivation behavio...
void MHEG5streamDestruct(MHEG5Stream *stream)
Destruct a stream object. Execute the following sequence of actions:
void MHEG5rectangleFree(MHEG5Rectangle *rectangle)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5entryfieldDeactivate(MHEG5Entryfield *entryfield)
Apply the deactivation behaviour of the entryfield class. As this class has no own deactivation behav...
void * STB_OSCreateMutex(void)
Create a mutex.
void MHEG5rootDeactivate(MHEG5Root *root)
Implementation of the Deactivation behaviour Deactivation This behaviour has the basic semantics of n...
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem wh...
void MHEG5textDeactivate(MHEG5Text *text)
Apply the deactivation behaviour of the text class. As this class has no own deactivation behaviour t...
void MHEG5streamPrepare(MHEG5Stream *stream)
Apply the preparation behaviour of the stream class.
void MHEG5bitmapFree(MHEG5Bitmap *bitmap)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5groupDeactivate(MHEG5Group *group)
Implementation of the Deactivation behaviour Deactivation If group is not active, ignore behaviour...
void MHEG5entryfieldActivate(MHEG5Entryfield *entryfield)
Apply the activation behaviour of the entryfield class. As this class has no own activation behaviour...
Implement functions to retrieve MHEG5objects by GroupID and ID.
Mheg5 logging and debug printing.
void MHEG5bitmapActivate(MHEG5Bitmap *bitmap)
Apply the activation behaviour of the bitmap class. As this class has no own activation behaviour thi...
void MHEG5textActivate(MHEG5Text *text)
Apply the activation behaviour of the text class. As this class has no own activation behaviour this ...
void MHEG5integerVariableFree(MHEG5IntegerVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5videoFree(MHEG5Video *video)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5actionDestruct(MHEG5ActionList actions)
<Function description>="">
void MHEG5rtgraphicsDeactivate(MHEG5RTGraphics *rtgraphics)
Apply the deactivation behaviour of the RTGraphics class. As this class has no own deactivation behav...
void MHEG5cursorShapeActivate(MHEG5CursorShape *cursorShape)
Apply the activation behaviour of the cursorshape class. As this class has no own activation behaviou...
void MHEG5rtgraphicsDestruct(MHEG5RTGraphics *rtgraphics)
Destruct a RTGraphics object.
void MHEG5groupActivate(MHEG5Group *group)
Implementation of the Activation behaviour Activation.
MHEG5Scene * MHEG5getCurrentScene(void)
<Function description>="">
void MHEG5sendEvent(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the asynchronous event queue.
void MHEG5rootInit(MHEG5Root *root)
Initialise a Root object with default values.
void MHEG5hotspotFree(MHEG5Hotspot *hotspot)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5listGroupPrepare(MHEG5ListGroup *listGroup)
Implementation of the ListGroup Preparation behaviour.
void STB_OSMutexLock(void *mutex)
Lock a mutex (a.k.a. 'enter', 'wait' or 'get').
The timer module allows the use of timers within the MHEG5 component. These timers can be set by othe...
void MHEG5objectRefVariableFree(MHEG5ObjectRefVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5tokenGroupFree(MHEG5TokenGroup *tokenGroup)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5dynamicLineartFree(MHEG5DynamicLineart *dla)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5booleanVariableFree(MHEG5BooleanVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5queueResolveTargets(MHEG5ActionList actions)
Finds targets for the action list.
void MHEG5groupAddItem(MHEG5Group *group, MHEG5Ingredient *item)
Add an Item to the List.
void MHEG5displayShowAll(void)
Redisplay all active visible objects. AKD: Optimised 12/5/99.
void MHEG5paletteFree(MHEG5Palette *palette)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5cursorShapeDeactivate(MHEG5CursorShape *cursorShape)
Apply the deactivation behaviour of the cursorshape class. As this class has no own deactivation beha...
void MHEG5textFree(MHEG5Text *text)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
Implement generic MHEG5-display functions - independent from the OSD These are generic functions used...
void MHEG5bitmapPrepare(MHEG5Bitmap *bitmap)
Apply the preparation behaviour of the bitmap class. As this class has no own preparation behaviour t...
void MHEG5dynamicLineartDestruct(MHEG5DynamicLineart *dynamicLineart)
Destruct a dynamiclineart object.
void MHEG5rootFree(MHEG5Root *root)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5dynamicLineartActivate(MHEG5DynamicLineart *dynamicLineart)
Apply the activation behaviour of the dynamiclineart class.
void MHEG5sliderDeactivate(MHEG5Slider *slider)
Apply the deactivation behaviour of the slider class. As this class has no own deactivation behaviour...
void MHEG5audioDestruct(MHEG5Audio *audio)
Destruct an audio object.
void MHEG5sliderFree(MHEG5Slider *slider)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5sendSync(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the synchronous event queue.
void MHEG5audioFree(MHEG5Audio *audio)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5bitmapDeactivate(MHEG5Bitmap *bitmap)
Apply the deactivation behaviour of the bitmap class. As this class has no own deactivation behaviour...
MHEG5Application * MHEG5getCurrentApplication(void)
<Function description>="">
void MHEG5entryfieldPrepare(MHEG5Entryfield *entryfield)
Apply the preparation behaviour of the entryfield class Apply the preparation behaviour of the entryf...
Header file - Function prototypes for operating system.