serviceproviders/sapi_sysinfo/src/sysinfointerface.cpp
changeset 10 fc9cf246af83
parent 5 989d2f495d90
child 23 50974a8b132e
--- 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; index<count; index++ )
+                {
+                TInt val = 0;
+                CLiwMap* resMap = CLiwDefaultMap::NewL();
+                CleanupStack::PushL( resMap );
+                camInfo->ResolutionList()->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);