javauis/javalegacyutils/src/StringArrayUtils.cpp
branchRCL_3
changeset 19 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/javalegacyutils/src/StringArrayUtils.cpp	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+#include "jutils.h"
+
+
+void AddToJavaStringArrayL(JNIEnv& aJni, jobjectArray& aContainer, TInt aPosition, const TDesC& aString)
+{
+    jstring javaString = CreateJavaString(aJni, aString);
+    User::LeaveIfNull(javaString);
+    //
+    aJni.SetObjectArrayElement(aContainer, aPosition, javaString);
+    aJni.DeleteLocalRef(javaString);
+}
+
+
+EXPORT_C jobjectArray CopyToNewJavaStringArrayL(JNIEnv& aJni, const CDesCArray& aNativeArray)
+{
+    jclass stringClass = aJni.FindClass("java/lang/String");
+    User::LeaveIfNull(stringClass);
+    //
+    jobjectArray result = aJni.NewObjectArray(aNativeArray.Count(), stringClass, NULL);
+    if (result != NULL)
+    {
+        TPtrC item;
+        for (int i=0; i<aNativeArray.Count(); ++i)
+        {
+            item.Set(aNativeArray[i]);
+            AddToJavaStringArrayL(aJni, result, i, item);
+        }
+    }
+    return result;
+}