--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/amms_akn/jni/src/effectcontrol.cpp Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,297 @@
+/*
+* Copyright (c) 2005-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 for EffectControl
+*
+*/
+
+
+#include <jutils.h>
+#include <jdebug.h>
+
+#include "com_nokia_amms_control_EffectControl.h"
+#include <cmmaeventsource.h>
+#include "cammseffectcontrolgroup.h"
+#include <JniEnvWrapper.h>
+
+/**
+ * wrapper for CAMMSEffectControlGroup::PresetNamesL()
+ */
+LOCAL_C void GetPresetNamesL(CAMMSEffectControlGroup* aControl,
+ JNIEnv* aJni,
+ jobjectArray* aArray)
+{
+ // JNI interface pointer can't be passed to different thread, so
+ // it is needed to get valid JNI interface pointer for Event Server thread
+ aJni = JniEnvWrapper::GetValidJniRef();
+
+ // Create new java String array and copy values from the values array
+ *aArray = CopyToNewJavaStringArrayL(*aJni, aControl->PresetNamesL());
+}
+
+/**
+ * wrapper for CAMMSEffectControlGroup::PresetL()
+ */
+static void GetPresetL(
+ CAMMSEffectControlGroup* aControl,
+ TDes* aPreset)
+{
+ aControl->GetPresetL(*aPreset);
+}
+
+/**
+ * wrapper for CAMMSEffectControlGroup::SetEnabledL()
+ */
+static void SetEnabledL(CAMMSEffectControlGroup* aControl, TBool aEnabled)
+{
+ aControl->SetEnabledL(aEnabled);
+}
+
+/**
+ * wrapper for CAMMSEffectControlGroup::SetScopeL()
+ */
+static void SetScopeL(CAMMSEffectControlGroup* aControl, TInt aScope)
+{
+ aControl->SetScopeL((CAMMSEffectControlGroup::TEffectScope) aScope);
+}
+
+/**
+ * wrapper for CAMMSEffectControlGroup::SetEnforcedL()
+ */
+static void SetEnforcedL(CAMMSEffectControlGroup* aControl, TBool aEnforced)
+{
+ aControl->SetEnforcedL(aEnforced);
+}
+
+/**
+ * wrapper for CAMMSEffectControlGroup::SetPresetL()
+ */
+static void SetPresetL(CAMMSEffectControlGroup* aControl, TDesC* aPreset)
+{
+ aControl->SetPresetL(*aPreset);
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _isEnabled
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1isEnabled(
+ JNIEnv*, jclass, jint aEventSource, jint aControl)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ return control->Enabled();
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _isEnforced
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1isEnforced(
+ JNIEnv*, jclass, jint aEventSource, jint aControl)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ return control->Enforced();
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _getPresetNames
+ * Signature: (II[Ljava/lang/String;)I
+ */
+JNIEXPORT jobjectArray JNICALL Java_com_nokia_amms_control_EffectControl__1getPresetNames(
+ JNIEnv* aJni,
+ jclass,
+ jint aEventSource,
+ jint aControl)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ jobjectArray presetNames = NULL;
+
+ TInt error = eventSource->ExecuteTrap(GetPresetNamesL,
+ control,
+ aJni,
+ &presetNames);
+
+ // If an error happened, return null to Java
+ if (error != KErrNone)
+ {
+ presetNames = NULL;
+ }
+ return presetNames;
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _getPreset
+ * Signature: (II[Ljava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1getPreset(
+ JNIEnv* aJni,
+ jclass,
+ jint aEventSource,
+ jint aControl,
+ jobjectArray aPreset)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ TInt error;
+ TBuf< KAMMSMaxPresetNameLength > preset;
+
+ error = eventSource->ExecuteTrap(GetPresetL, control, (TDes*) &preset);
+
+ if (error == KErrNone)
+ {
+ // return NULL if there is no preset set in the native class
+ if (preset == KNullDesC)
+ {
+ aJni->SetObjectArrayElement(aPreset, 0, NULL);
+ }
+ else
+ {
+ jstring javaStr = CreateJavaString(*aJni, preset);
+ if (!javaStr)
+ {
+ return KErrNoMemory;
+ }
+
+ aJni->SetObjectArrayElement(aPreset, 0, javaStr);
+ }
+ }
+
+ return error;
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _setScope
+ * Signature: (III)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1setScope(
+ JNIEnv*, jclass, jint aEventSource, jint aControl, jint aScope)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ TInt error;
+ error = eventSource->ExecuteTrap(SetScopeL, control, aScope);
+ return error;
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _setEnabled
+ * Signature: (IIZ)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1setEnabled(
+ JNIEnv*, jclass, jint aEventSource, jint aControl, jboolean aEnabled)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ TInt error;
+ error = eventSource->ExecuteTrap(SetEnabledL, control, (TBool) aEnabled);
+ return error;
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _getScope
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1getScope(
+ JNIEnv*, jclass, jint aEventSource, jint aControl)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ return control->Scope();
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _setPreset
+ * Signature: (IILjava/lang/String;)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1setPreset(
+ JNIEnv* aJni, jclass, jint aEventSource, jint aControl, jstring aPreset)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ TInt error;
+ RJString preset(*aJni, aPreset);
+ error = eventSource->ExecuteTrap(SetPresetL, control, (TDesC*) &preset);
+
+ DEBUG_INT("AMMS:JNI:EffectControl:setPreset, err=%d", error);
+
+ return error;
+}
+
+/*
+ * Class: com_nokia_amms_control_EffectControl
+ * Method: _setEnforced
+ * Signature: (IIZ)I
+ */
+JNIEXPORT jint JNICALL Java_com_nokia_amms_control_EffectControl__1setEnforced(
+ JNIEnv*, jclass, jint aEventSource, jint aControl, jboolean aEnforced)
+{
+ CMMAEventSource* eventSource =
+ JavaUnhand< CMMAEventSource >(aEventSource);
+
+ CAMMSEffectControlGroup* control = static_cast<CAMMSEffectControlGroup*>(
+ JavaUnhand< CAMMSControlGroup >(aControl));
+
+ TInt error;
+ error = eventSource->ExecuteTrap(
+ SetEnforcedL,
+ control,
+ (TBool) aEnforced);
+ return error;
+}
+
+
+
+// End of File