64 if ((ItemPtr->tag == EXTERNAL_REFERENCE_TYPE) && (ItemPtr->children != NULL))
66 ItemPtr = ItemPtr->children;
67 if (ItemPtr->data.stringData.len == 0)
70 objRefVar->originalValueGid.len = 0;
71 objRefVar->originalValueGid.ptr.group = asn1_mainGroupPtr;
75 objRefVar->originalValueGid.len = ItemPtr->data.stringData.len;
76 objRefVar->originalValueGid.ptr.name = ItemPtr->data.stringData.data;
78 ItemPtr->data.stringData.len = 0;
82 ItemPtr->data.stringData.data = NULL;
84 ItemPtr = ItemPtr->next;
89 objRefVar->originalValueGid.len = 0;
90 objRefVar->originalValueGid.ptr.group = asn1_mainGroupPtr;
94 objRefVar->originalValueId = ItemPtr->data.intData;
123 listPtr = listPtr->children;
124 while (listPtr != NULL)
126 switch (listPtr->tag)
129 child = listPtr->children;
132 switch (var->root.clazz)
134 case MHEG5BOOLEANVARIABLE:
135 if (child->data.boolData)
139 case MHEG5INTEGERVARIABLE:
143 case MHEG5OCTETSTRINGVARIABLE:
146 child->data.stringData.len = 0;
147 child->data.stringData.data = NULL;
150 case MHEG5CONTENTREFVARIABLE:
151 if (child->tag == CONTREF)
155 child->data.stringData.len = 0;
156 child->data.stringData.data = NULL;
160 case MHEG5OBJECTREFVARIABLE:
161 if (child->tag == OBJREF)
172 case EXTERNAL_REFERENCE_TYPE:
174 assert( listPtr->children );
175 child = listPtr->children->next;
177 child->data.intData < 1)
184 var->root.id = child->data.intData;
188 if (listPtr->data.intData < 1)
195 var->root.id = listPtr->data.intData;
199 if (listPtr->data.boolData == 0)
201 var->initiallyStopped = MHEG5TRUE;
205 if (listPtr->data.boolData != 0)
207 var->shared = MHEG5TRUE;
212 listPtr = listPtr->next;
233 boolVariable->ingredient.root.clazz = MHEG5BOOLEANVARIABLE;
238 DPL2((
"WARNING:[ASN.1] asn1_createIntegerVariable() fails\n"));
240 MHEG5freeMem( boolVariable );
265 integerVariable->ingredient.root.clazz = MHEG5INTEGERVARIABLE;
270 DPL2((
"WARNING:[ASN.1] asn1_createIntegerVariable() fails\n"));
272 MHEG5freeMem( integerVariable );
273 integerVariable = NULL;
296 octStrVar->ingredient.root.clazz = MHEG5OCTETSTRINGVARIABLE;
301 DPL2((
"WARNING:[ASN.1] asn1_createOctetStringVariable() Fails\n"));
303 MHEG5freeMem( octStrVar );
328 objRefVar->ingredient.root.clazz = MHEG5OBJECTREFVARIABLE;
333 DPL2((
"WARNING:[ASN.1] asn1_createObjectRefVariable() Fails\n"));
335 MHEG5freeMem( objRefVar );
340 DPL5((
"<< asn1_createObjectRefVariable() %X\n", objRefVar));
362 contentVar->ingredient.root.clazz = MHEG5CONTENTREFVARIABLE;
367 DPL2((
"WARNING:[ASN.1] asn1_createContentVariable() Fails\n"));
369 MHEG5freeMem(contentVar);
MHEG5Ingredient * asn1_createContentVariable(fpa1_syntaxList *listPtr)
Decodes ContentVariable class. Refer to MHEG5 Specification (ISO/IEC 13522-2:1996), Appendix A, section [A.19] for details of ASN.1 representation.
Functions to create a MHEG5Ingredient from a MHEG5 script (in the form of a list of fpa1_syntaxList s...
Functions to create a MHEG5Variable from a MHEG5 script (in the form of a list of fpa1_syntaxList str...
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
Functions to create a MHEG5Group from a MHEG5 script (in the form of a list of fpa1_syntaxList struct...
MHEG5Ingredient * asn1_createIntegerVariable(fpa1_syntaxList *listPtr)
Decodes IntegerVariable class. Refer to MHEG5 Specification (ISO/IEC 13522-2:1996), Appendix A, section [A.16] for details of ASN.1 representation.
Typedefs, macros used by all of parser. These may be duplicated elsewhere.
Implementation of the Group class Description Defines the structure and behaviour of objects used as ...
MHEG5Ingredient * asn1_createBooleanVariable(fpa1_syntaxList *listPtr)
Decodes BooleanVariable class. Refer to MHEG5 Specification (ISO/IEC 13522-2:1996), Appendix A, section [A.15] for details of ASN.1 representation.
MHEG5Ingredient * asn1_createObjectRefVariable(fpa1_syntaxList *listPtr)
Decodes ObjectRefVariable class. Refer to MHEG5 Specification (ISO/IEC 13522-2:1996), Appendix A, section [A.18] for details of ASN.1 representation.
Implement the MHEG5 Variable Class 21 Variable Class Defines a variable within the context of a Group...
typedefs etc for the whole object creation section.
Contains macros for MHEG-5 ASN.1 tags and structures.
asnErr asn1_decodeObjRefVariable(fpa1_syntaxList *ItemPtr, MHEG5ObjectRefVariable *objRefVar)
Decodes Object Ref Variable class.
MHEG5Ingredient * asn1_createOctetStringVariable(fpa1_syntaxList *listPtr)
Decodes OctetStringVariable class. Refer to MHEG5 Specification (ISO/IEC 13522-2:1996), Appendix A, section [A.17] for details of ASN.1 representation.
asnErr asn1_decodeVariable(fpa1_syntaxList *listPtr, MHEG5Ingredient *var)
Decodes Variable classes.