//Creates an ArbitraryInt object and sets all of the struct variables depending on the content of the input string. ArbitraryInt * CreateInt (char * input) { ArbitraryInt *newInt = malloc(sizeof(ArbitraryInt)); char * newstring; if(input[0] == '-') { newInt->isnegative = 1; newInt->type = formattype(input[1]); newstring = input+2; } else { newInt->isnegative = 0; newInt->type = formattype(input[0]); newstring = input + 1; } if(newInt->isnegative == 1) { newInt->ASCIIString = malloc(sizeof (char) * strlen(input) - 2); strcpy(newInt->ASCIIString, newstring); } else { newInt->ASCIIString = malloc(sizeof (char) * strlen(input) - 1); strcpy(newInt->ASCIIString, newstring); } return newInt; }
TInt COpenMAXALTestModule::al_SetDataSink( CStifItemParser& aItem ) { TInt status(KErrNone); TInt type; TInt formattype(0); TInt sinktype(0); XADataSink commonSink = {NULL,NULL}; status = aItem.GetNextInt(type); if(!status) { switch(type) { case XA_DATALOCATOR_URI: { commonSink.pLocator = &m_Uri; } break; case XA_DATALOCATOR_ADDRESS: case XA_DATALOCATOR_IODEVICE: { m_SinkIODevice.locatorType = XA_DATALOCATOR_IODEVICE; commonSink.pLocator = &m_SinkIODevice; } break; case XA_DATALOCATOR_NATIVEDISPLAY: { m_NativeDisplay.locatorType = XA_DATALOCATOR_NATIVEDISPLAY; m_NativeDisplay.hWindow = (void*)&iRWindow; m_NativeDisplay.hDisplay = (void*)&iRwSession; commonSink.pLocator = &m_NativeDisplay; } break; case XA_DATALOCATOR_OUTPUTMIX: default: status = KErrGeneral; break; } } if(!status) { status = aItem.GetNextInt(formattype); if (type == XA_DATALOCATOR_IODEVICE) { /* Sink IO device can only be audio output*/ if (formattype == 6) { m_SinkIODevice.deviceType = formattype; } else { status = KErrGeneral; } } else { switch(formattype) { case XA_DATAFORMAT_MIME: { commonSink.pFormat = &m_Mime; } break; case XA_DATAFORMAT_PCM: case XA_DATAFORMAT_RAWIMAGE: break; default: break; } } } if(!status) { status = aItem.GetNextInt(sinktype); if(!status) { switch(sinktype) { case 1: m_AudioSink = commonSink; break; case 2: m_VideoSink = commonSink; break; case 3: m_LEDSink = commonSink; break; case 4: m_VibraSink = commonSink; break; case 5: m_DataSink = commonSink; break; default: status = KErrGeneral; break; } } } return status; }
TInt COpenMAXALTestModule::al_SetDataSource( CStifItemParser& aItem ) { TInt status(KErrNone); TInt type; TInt sourcetype(0); TInt formattype(0); XADataSource commonSource = {NULL,NULL}; status = aItem.GetNextInt(type); if(!status) { switch(type) { case XA_DATALOCATOR_URI: { commonSource.pLocator = &m_Uri; } break; case XA_DATALOCATOR_ADDRESS: case XA_DATALOCATOR_IODEVICE: { commonSource.pLocator = &m_SrcIODevice; } case XA_DATALOCATOR_OUTPUTMIX: case XA_DATALOCATOR_NATIVEDISPLAY: break; default: status = KErrGeneral; break; } } if(!status) { status = aItem.GetNextInt(formattype); if(!status) { switch(formattype) { case XA_DATAFORMAT_MIME: { commonSource.pFormat = (void*) &m_Mime; } break; case XA_DATAFORMAT_PCM: case XA_DATAFORMAT_RAWIMAGE: break; default: break; } } } if(!status) { status = aItem.GetNextInt(sourcetype); if(!status) { switch(sourcetype) { case 1: m_AudioSource = commonSource; break; case 2: m_VideoSource = commonSource; break; case 3: m_MOMetadataExtractorSource = commonSource; break; case 4: m_DynamicSource = commonSource; break; default: status = KErrGeneral; break; } } } return status; }