diff -r 0fd27995241b -r 9ac0a0a7da70 javauis/amms_qt/jni/src/orientationcontrol.cpp --- a/javauis/amms_qt/jni/src/orientationcontrol.cpp Tue May 11 16:07:20 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,191 +0,0 @@ -/* -* Copyright (c) 2002-2007 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: JNI file for OrientationControl -* -*/ - - -//#include - -#include "com_nokia_amms_control_audio3d_OrientationControl.h" -#include -#include "cammsorientationcontrolgroup.h" - -/** - * wrapper for CAMMSOrientationControlGroup::OrientationVectors() - */ -static void GetOrientationVectorsL( - CAMMSOrientationControlGroup* control, - TInt aOrientation[ KAMMSTwoVectorComponents ]) -{ - control->OrientationVectorsL(aOrientation); -} - -/** - * wrapper for CAMMSOrientationControlGroup::SetOrientationVectorsL() - */ -static void SetOrientationVectorsL( - CAMMSOrientationControlGroup* control, - TInt aFrontVector[ KAMMSVectorComponents ], - TInt aAboveVector[ KAMMSVectorComponents ]) -{ - control->SetOrientationVectorsL(aFrontVector, aAboveVector); -} - -/** - * wrapper for CAMMSOrientationControlGroup::SetOrientationL() - */ -static void SetOrientationL( - CAMMSOrientationControlGroup* control, - TInt aHeading, - TInt aPitch, - TInt aRoll) -{ - control->SetOrientationL(aHeading, aPitch, aRoll); -} - -/* - * Class: com_nokia_amms_control_audio3d_OrientationControl - * Method: _setOrientation - * Signature: - */ -JNIEXPORT jint JNICALL -Java_com_nokia_amms_control_audio3d_OrientationControl__1setOrientation( - JNIEnv*, - jclass, - jint aEventSource, - jint aControl, - jint aHeading, - jint aPitch, - jint aRoll) -{ - MMAFunctionServer* eventSource = - reinterpret_cast< MMAFunctionServer* >(aEventSource); - - CAMMSOrientationControlGroup* control = - static_cast< CAMMSOrientationControlGroup* >( - reinterpret_cast< CAMMSControlGroup* >(aControl)); - - TInt error; - error = eventSource->ExecuteTrap(SetOrientationL, control, - aHeading, aPitch, aRoll); - - return error; -} - -/* - * Class: com_nokia_amms_control_audio3d_OrientationControl - * Method: _getOrientationVectros - * Signature: - */ -JNIEXPORT jintArray JNICALL -Java_com_nokia_amms_control_audio3d_OrientationControl__1getOrientationVectors( - JNIEnv* aJni, - jclass, - jint aEventSource, - jint aControl, - jintArray aError) -{ - MMAFunctionServer* eventSource = - reinterpret_cast< MMAFunctionServer* >(aEventSource); - - CAMMSOrientationControlGroup* control = - static_cast< CAMMSOrientationControlGroup* >( - reinterpret_cast< CAMMSControlGroup* >(aControl)); - - TInt orientation[ KAMMSTwoVectorComponents ]; - TInt error; - error = eventSource->ExecuteTrap( - GetOrientationVectorsL, - control, - orientation); - - // Java side method can not throw exception, store possible error here - // aError is an array of 1 element allocated at the java side - aJni->SetIntArrayRegion( - /*destination*/ aError, - /*first*/ 0, - /*count*/ 1, - /*source*/ &error); - - // allocate new array - jintArray javaArray = aJni->NewIntArray(KAMMSTwoVectorComponents); - - if (javaArray) - { - aJni->SetIntArrayRegion( - /*destination*/ javaArray, - /*first*/0, - /*count*/KAMMSTwoVectorComponents, - /*source*/ &orientation[ 0 ]); - } - - return javaArray; -} - -/* - * Class: com_nokia_amms_control_audio3d_OrientationControl - * Method: _setOrientation - * Signature: - */ -JNIEXPORT jint JNICALL -Java_com_nokia_amms_control_audio3d_OrientationControl__1setOrientationVectors( - JNIEnv* aJni, - jclass, - jint aEventSource, - jint aControl, - jintArray aFrontVector, - jintArray aAboveVector) -{ - MMAFunctionServer* eventSource = - reinterpret_cast< MMAFunctionServer *>(aEventSource); - - CAMMSOrientationControlGroup* control = - static_cast< CAMMSOrientationControlGroup* >( - reinterpret_cast< CAMMSControlGroup *>(aControl)); - - TInt i; - - // copy java front vector array to native front vector array - TInt frontVector[ KAMMSVectorComponents ]; - TInt count = aJni->GetArrayLength(aFrontVector); - jint* elements = aJni->GetIntArrayElements(aFrontVector, NULL); - for (i = 0; i < count; i++) - { - frontVector[ i ] = elements[ i ]; - } - aJni->ReleaseIntArrayElements(aFrontVector, elements, 0); - - // copy java above vector array to native above vector array - TInt aboveVector[ KAMMSVectorComponents ]; - count = aJni->GetArrayLength(aAboveVector); - elements = aJni->GetIntArrayElements(aAboveVector, NULL); - for (i = 0; i < count; i++) - { - aboveVector[ i ] = elements[ i ]; - } - aJni->ReleaseIntArrayElements(aAboveVector, elements, 0); - - TInt error; - error = eventSource->ExecuteTrap( - SetOrientationVectorsL, - control, - frontVector, - aboveVector); - - return error; -} - - -// End of File