javauis/nokiauiapi_qt/inc/autorelease.h
author hgs
Fri, 17 Sep 2010 16:44:34 +0300
changeset 72 1f0034e370aa
permissions -rw-r--r--
v2.2.15_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
72
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     1
/*******************************************************************************
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     2
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     3
 * All rights reserved. This program and the accompanying materials
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     4
 * are made available under the terms of the Eclipse Public License v1.0
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     5
 * which accompanies this distribution, and is available at
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     6
 * http://www.eclipse.org/legal/epl-v10.html
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     7
 *
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     8
 * Contributors:
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
     9
 *     Nokia Corporation - initial implementation
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    10
 *******************************************************************************/
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    11
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    12
#ifndef NOKIAUIAUTORELEASE_H
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    13
#define NOKIAUIAUTORELEASE_H
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    14
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    15
/**
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    16
 * Helper class to automatically call ReleaseStringChars for a Java
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    17
 * string chars object obtained from a call to GetStringChars.
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    18
 */
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    19
class AutoReleaseStringChars
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    20
{
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    21
public:
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    22
    AutoReleaseStringChars( JNIEnv* aJniEnv, jstring aString, const jchar* aPointer )
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    23
        : mJniEnv( aJniEnv ), mString( aString ), mPointer( aPointer )
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    24
        {}
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    25
    virtual ~AutoReleaseStringChars()
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    26
        {
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    27
        mJniEnv->ReleaseStringChars( mString, mPointer );
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    28
        }
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    29
protected:
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    30
    JNIEnv*      mJniEnv;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    31
    jstring      mString;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    32
    const jchar* mPointer;
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    33
};
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    34
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    35
#endif // NOKIAUIAUTORELEASE_H
1f0034e370aa v2.2.15_1
hgs
parents:
diff changeset
    36