diff -r 989d2f495d90 -r fc9cf246af83 serviceproviders/sapi_sysinfo/src/sysinfointerface.cpp --- a/serviceproviders/sapi_sysinfo/src/sysinfointerface.cpp Fri Jul 03 15:51:24 2009 +0100 +++ b/serviceproviders/sapi_sysinfo/src/sysinfointerface.cpp Thu Aug 27 07:43:07 2009 +0300 @@ -845,6 +845,37 @@ CleanupStack::PopAndDestroy(stringlist); } break; + case CSysData::ECameraInfo: + { + CLiwList* camResList = CLiwDefaultList::NewL(); + CleanupClosePushL( *camResList ); + CLiwList* camMimeTypesList = CLiwDefaultList::NewL(); + CleanupClosePushL( *camMimeTypesList ); + const CCameraInfo* camInfo = ((CCameraInfo*) aInSysData); + count = camInfo->ResolutionList()->Count(); + + for ( int index=0; indexResolutionList()->At( index, 0, val ); + resMap->InsertL( KXPixels, (TInt32)val ); + camInfo->ResolutionList()->At( index, 1, val ); + resMap->InsertL( KYPixels, (TInt32)val ); + camResList->AppendL( resMap ); + CleanupStack::Pop( resMap ); + resMap->Close(); + TPtrC string; + camInfo->MimeTypesList()->At( index, string ); + camMimeTypesList->AppendL( string ); + } + aOutMapParam->InsertL( KCamResList, camResList ); + aOutMapParam->InsertL( KCamMimeTypesList, camMimeTypesList ); + CleanupStack::PopAndDestroy( camMimeTypesList ); + CleanupStack::PopAndDestroy( camResList ); + } + break; default: User::Leave(KErrArgument);