javaextensions/satsa/pki/src.s60/rjstring.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 13 Oct 2010 14:23:59 +0300
branchRCL_3
changeset 83 26b2b12093af
parent 19 04becd199f91
permissions -rw-r--r--
Revision: v2.2.17 Kit: 201041

/*
* Copyright (c) 2008 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"




/**
* Constuctor taking a Java JNI string and converting it to an EPOC .
*/
OS_EXPORT  RJString::RJString(JNIEnv& aJni, jstring aString)
        : iJni(aJni), iString(aString)
{
    // Potential for a string to be NULL, but NULL cannot be passed into
    // JNI methods, so must check. If string is NULL, will result in empty string
    if (iString != NULL)
    {
        const jchar* ptr = aJni.GetStringChars(iString, NULL);
        const jint   len = aJni.GetStringLength(iString);
        if (ptr)
        {
            Set(ptr, len);
        }
    }
}



/**
* Frees up the JNI string resources, if they need to be freed.
*/
OS_EXPORT  RJString::~RJString()
{
    if (iString != NULL)
    {
        iJni.ReleaseStringChars(iString, this->Ptr());
    }
}