191 MHEG_PRINT(out,
":OrigValue ");
214 MHEG_PRINT(out,
":OrigValue ");
238 MHEG_PRINT(out,
":OrigValue ");
262 MHEG_PRINT(out,
":OrigValue :ObjectRef");
265 MHEG_PRINT(out,
" ");
268 MHEG_PRINT(out,
" ");
296 MHEG_PRINT(out,
":OrigValue ");
299 MHEG_PRINT(out,
":ContentRef ");
306 MHEG_PRINT(out,
"// Value:\t");
307 MHEG_PRINT(out,
":ContentRef ");
524 TRACE(TERROR, (
"failed to get memory"))
542 TRACE(TERROR, (
"failed to get memory"))
774 switch (target->
clazz)
780 TRACE(TERROR, (
"Application error: ISO/IEC 13522-5 sec 26.4 - Provision of use!"))
787 if (mheg_trace_debug & TACTIONS)
817 if (mheg_trace_debug & TACTIONS)
841 if (mheg_trace_debug & TACTIONS)
844 strcpy(buff,
" <- ");
882 ERROR_PRINT((
"ERROR: MHEG5setVariable: Invalid object class for setting variable value\n"));
926 static const char opstr[6][3] = {
"==",
"!=",
"< ",
"<=",
"> ",
">="};
939 if (!MHEG5variableIs(target))
957 ERROR_PRINT((
"MHEG5testVariable invalid Operator %ld\n", op));
966 switch (target->
clazz)
971 if (op == 1 && cref &&
1024 if (mheg_trace_debug & TACTIONS)
1072 if ((eq && (op == 1)) || (!eq && (op == 2)))
1079 ERROR_PRINT((
"MHEG5testVariable internal error - target->clazz = %d\n", target->
clazz));
1119 if (mheg_trace_debug & TACTIONS)
1157 if (mheg_trace_debug & TACTIONS)
1235 MHEG5LogPrintf(MHEG5WARNING,
"Division by zero\n");
1279 MHEG5LogPrintf(MHEG5WARNING,
"Modulo division by zero\n");
1337 if (mheg_trace_debug & TACTIONS)
1348 if (mheg_trace_debug & TACTIONS)
1351 strcpy(buff,
" rst: ");
1352 MHEG5stringTrace( os->
value, buff, 0, 120 );
1380 memcpy(buf, &s.
len,
sizeof(s.
len));
1385 return s.
len +
sizeof(s.
len);
1392 memcpy(buf, &i,
sizeof(i));
1407 memcpy(&s->
len, buf,
sizeof(s->
len));
1410 if (s->
len > max_size)
1417 return sizeof(s->
len);
1421 memcpy(s->
data, &buf[
sizeof(s->
len)], s->
len);
1422 return s->
len +
sizeof(s->
len);
1427 memcpy(i, buf,
sizeof(*i));
1550 rc = MHEG5readInt( &
id, &buf[pos] );
1552 rc = MHEG5readString(&objRef->
valueGrp, &buf[pos], max_size);
MHEG5Bool availabilityStatus
MHEG5Ingredient ingredient
void MHEG5ingredientInit(MHEG5Ingredient *ingredient)
Initialise a ingredient object with default values.
void MHEG5octetStringVariableDestruct(MHEG5OctetStringVariable *variable)
MHEG5Ingredient ingredient
MHEG5Int MHEG5variableStore(MHEG5Ingredient *v, void *buf, MHEG5Int bufLen)
This functions stores the value of a variable in the persistant storage. Implementation of the StoreP...
MHEG5Ingredient ingredient
void MHEG5booleanVariablePrepare(MHEG5BooleanVariable *variable)
Sets all internal attributes for the specified object to their default values.
MHEG5Bool MHEG5stringEqual(MHEG5String *s1, MHEG5String *s2)
Compare two Strings (case sensitive!)
void MHEG5objectRefVariableInit(MHEG5ObjectRefVariable *variable)
Initialise an objectRefVariable object with default values.
void MHEG5octetStringVariablePrepare(MHEG5OctetStringVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5objectRefVariableFree(MHEG5ObjectRefVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
unsigned char * STR_DataAlloc(unsigned int size)
MHEG5GList * MHEG5resolveGenericInteger(MHEG5GList *params, MHEG5Int *value)
void MHEG5booleanVariableFree(MHEG5BooleanVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5ingredientDestruct(MHEG5Ingredient *ingredient)
Implementation of the Destruction behaviour Execute the following sequence of actions: ...
void MHEG5contentVariableFree(MHEG5ContentVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
union sMH5GroupRef::@5 ptr
MHEG5Int MHEG5strToInt(MHEG5String string)
Convert a MHEG5String to a MHEG5Integer.
union MHEG5Generic::@6 value
void MHEG5contentVariableInit(MHEG5ContentVariable *variable)
Initialise a contentVariable object with default values.
void MHEG5octetStringVariableFree(MHEG5OctetStringVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
MHEG5String MHEG5stringCopy(MHEG5String source)
<Function description>="">
MHEG5String originalContentData
Implement the MHEG5 Variable Class 21 Variable Class Defines a variable within the context of a Group...
void MHEG5stringDestruct(MHEG5String *item)
Destruct a MHEG5String.
void MHEG5objectRefVariablePrepare(MHEG5ObjectRefVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5integerVariablePrepare(MHEG5IntegerVariable *variable)
Sets all internal attributes for the specified object to their default values.
void MHEG5variableDeactivate(MHEG5Ingredient *variable)
Apply the deactivation behaviour of the variable class. As this class has no own deactivation behavio...
MHEG5Int MHEG5variableRead(MHEG5Ingredient *v, char *buf, MHEG5Int max_size)
This functions reads the value of a variable from the persistant storage. Implementation of the ReadP...
void MHEG5objRefStoreValue(MHEG5ObjectRefVariable *objRef, MH5GroupRef ref, MHEG5Int id)
MHEG5ErrorCode MHEG5append(MHEG5Root *target, MHEG5GList *params)
Appends AppendValue to Target Variable. Target variable is the first operand of the infix operation...
MHEG5ErrorCode MHEG5divide(MHEG5Root *target, MHEG5GList *params)
Divides Target Variable by Value. Target variable is the first operand of the infix operation...
MHEG5ErrorCode MHEG5add(MHEG5Root *target, MHEG5GList *params)
Add Target Variable to Value. Target variable is the first operand of the infix operation. Result is stored in Target Variable. Implementation of the Add (Value) action of the IntegerVariable class.
MHEG5Bool MHEG5sameGroups(MH5GroupRef gref1, MH5GroupRef gref2)
Compares two group ID strings to see whether they both reference the same group. Relative group ID st...
MHEG5GList * MHEG5resolveGenericCRef(MHEG5GList *params, MHEG5String *data, MHEG5Bool *referenced, MHEG5Bool *valid)
MHEG5ErrorCode MHEG5subtract(MHEG5Root *target, MHEG5GList *params)
Subtract Value from Target Variable. Target variable is the first operand of the infix operation...
MHEG5ErrorCode MHEG5testVariable(MHEG5Root *target, MHEG5GList *params)
This action tests variables agains each other or against values Implementation of the TestVariable (T...
This file defines the profile for the MHEG engine.
MHEG5GList * MHEG5resolveGenericOctetString(MHEG5GList *params, MHEG5String *value, MHEG5Bool *invalidString)
Resolve a parameter reference to a generic octet string. The reference can be either direct or indire...
Implement Functions to support Service Gateways. Functions for standarizing several GroupIDs like +DS...
void MHEG5booleanVariableInit(MHEG5BooleanVariable *variable)
Initialise a booleanVariable object with default values.
void MHEG5variableActivate(MHEG5Ingredient *variable)
Apply the activation behaviour of the Variable class. Apply the activation behaviour of the variable ...
void MHEG5contentVariablePrepare(MHEG5ContentVariable *variable)
Sets all internal attributes for the specified object to their default values.
Event handling. Implementation of a combined queue for events and actions. This is the eventsystem wh...
MHEG5String MHEG5stringCat(MHEG5String string1, MHEG5String string2)
Concatenate two MHEG5Strings.
MHEG5String MHEG5intToStr(MHEG5Int i)
Convert MHEG5Int to MHEG5String.
MHEG5String originalValue
MH5GroupRef originalValueGid
MHEG5ErrorCode MHEG5setVariable(MHEG5Root *target, MHEG5GList *params)
Set the Value attribute of the Target object to NewVariableValue. Implementation of the SetVariable (...
void MHEG5integerVariableFree(MHEG5IntegerVariable *variable)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5ingredientDeactivate(MHEG5Ingredient *ingredient)
Implementation of Deactivate behaviour Inherrited from Root class.
void MHEG5objRefStoreString(MHEG5ObjectRefVariable *objRef, MHEG5String ref, MHEG5Int id)
MHEG5ErrorCode MHEG5modulo(MHEG5Root *target, MHEG5GList *params)
Returns the remainder modulo Value of Target - as defined by usual integer arithmetic rules...
Implement functions to retrieve MHEG5objects by GroupID and ID.
void MHEG5ingredientPrepare(MHEG5Ingredient *ingredient)
Implementation of the Preparation behaviour Inherrited from Root class.
Implementation of the MHEG5 Application Class Defines a set of Ingredient objects, which are shared within an application scope. Base class: Group Subclasses: None Status: Concrete class.
Implementation of the MHEG5 Scene Class Scene Class Defines a set of Ingredient objects to be activat...
Mheg5 logging and debug printing.
MHEG5Ingredient ingredient
MHEG5ErrorCode MHEG5multiply(MHEG5Root *target, MHEG5GList *params)
Multiplies Target Variable by Value. Target variable is the first operand of the infix operation...
void MHEG5contentVariableDestruct(MHEG5ContentVariable *variable)
void MHEG5variableDestruct(MHEG5Ingredient *variable)
Destruct a variable object.
MHEG5Scene * MHEG5getCurrentScene(void)
<Function description>="">
MHEG5GList * MHEG5resolveGenericBoolean(MHEG5GList *params, MHEG5Bool *value)
void MHEG5integerVariableInit(MHEG5IntegerVariable *variable)
Initialise a integerVariable object with default values.
MHEG5GList * MHEG5resolveGenericGeneric(MHEG5GList *params, MHEG5Generic *value)
void MHEG5ingredientFree(MHEG5Ingredient *ingredient)
Free off all memory associated with the specified object, including any exchanged attributes and inte...
void MHEG5octetStringVariableInit(MHEG5OctetStringVariable *variable)
Initialise an octetStringVariable object with default values.
void MHEG5sendSync(MHEG5Root *source, MHEG5EventType event, MHEG5Int data)
Store an event in the synchronous event queue.
void MHEG5variablePrepare(MHEG5Ingredient *variable)
Apply the preparation behaviour of the variable class Apply the preparation behaviour of the variable...
MHEG5GList * MHEG5resolveGenericORefProper(MHEG5GList *params, MH5GroupRef *pgroupRef, MHEG5Int *id)
Resolve a generic object reference, returning the object reference. The reference can be direct or in...
MHEG5Application * MHEG5getCurrentApplication(void)
<Function description>="">
MHEG5Ingredient ingredient