javauis/nokiauiapi_qt/inc/autorelease.h
changeset 79 2f468c1958d0
equal deleted inserted replaced
76:4ad59aaee882 79:2f468c1958d0
       
     1 /*******************************************************************************
       
     2  * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved. This program and the accompanying materials
       
     4  * are made available under the terms of the Eclipse Public License v1.0
       
     5  * which accompanies this distribution, and is available at
       
     6  * http://www.eclipse.org/legal/epl-v10.html
       
     7  *
       
     8  * Contributors:
       
     9  *     Nokia Corporation - initial implementation
       
    10  *******************************************************************************/
       
    11 
       
    12 #ifndef NOKIAUIAUTORELEASE_H
       
    13 #define NOKIAUIAUTORELEASE_H
       
    14 
       
    15 /**
       
    16  * Helper class to automatically call ReleaseStringChars for a Java
       
    17  * string chars object obtained from a call to GetStringChars.
       
    18  */
       
    19 class AutoReleaseStringChars
       
    20 {
       
    21 public:
       
    22     AutoReleaseStringChars( JNIEnv* aJniEnv, jstring aString, const jchar* aPointer )
       
    23         : mJniEnv( aJniEnv ), mString( aString ), mPointer( aPointer )
       
    24         {}
       
    25     virtual ~AutoReleaseStringChars()
       
    26         {
       
    27         mJniEnv->ReleaseStringChars( mString, mPointer );
       
    28         }
       
    29 protected:
       
    30     JNIEnv*      mJniEnv;
       
    31     jstring      mString;
       
    32     const jchar* mPointer;
       
    33 };
       
    34 
       
    35 #endif // NOKIAUIAUTORELEASE_H
       
    36