javauis/mmapi_qt/baseline/src/player.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 19 71c436fe3ce0
--- a/javauis/mmapi_qt/baseline/src/player.cpp	Tue May 11 16:07:20 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,547 +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:  This class has JNI wrappers for CMMAPlayer
-*
-*/
-
-
-//#include <jutils.h>
-#include "com_nokia_microedition_media_PlayerImpl.h"
-
-#include "mmafunctionserver.h"
-#include "cmmaplayer.h"
-#include "s60commonutils.h"
-#include <logger.h>
-
-using namespace java::util;
-
-// If eventsource is already disposed, then do nothing
-#define CHECK_HANDLE(x, j) { if ( !( x ) || ( ( x )->Players().Count() == 0 ) ) { return ( j ); } }
-/*
- *  Wrappers for calling non static methods
- */
-
-TInt VoidFunc(TInt aPlayer, MMAFunctionServer* aEventSource,
-              TInt(CMMAPlayer::*aFunc)())
-{
-    CMMAPlayer* p = aEventSource->FindPlayer(aPlayer);
-    if (p)
-    {
-        return (p->*aFunc)();
-    }
-    else
-    {
-        return KErrBadHandle;
-    }
-}
-
-void BoolFuncL(TInt aPlayer, MMAFunctionServer* aEventSource,
-               void(CMMAPlayer::*aFunc)(TBool),
-               TBool aValue)
-{
-    CMMAPlayer* p = aEventSource->FindPlayer(aPlayer);
-    if (p)
-    {
-        (p->*aFunc)(aValue);
-    }
-    // ignore call if player is not found
-}
-
-void VVoidFuncL(TInt aPlayer, MMAFunctionServer* aEventSource, void(CMMAPlayer::*aFunc)())
-{
-    CMMAPlayer* p = aEventSource->FindPlayer(aPlayer);
-    if (p)
-    {
-        (p->*aFunc)();
-    }
-    // ignore call if player is not found
-}
-
-void IntFunc(TInt aPlayer,
-             MMAFunctionServer* aEventSource,
-             void(CMMAPlayer::*aFunc)(TInt),
-             TInt aData)
-{
-    CMMAPlayer* p = aEventSource->FindPlayer(aPlayer);
-    if (p)
-    {
-        (p->*aFunc)(aData);
-    }
-    // ignore call if player is not found
-}
-
-void TInt64Func(TInt aPlayer, MMAFunctionServer* aEventSource,
-                void(CMMAPlayer::*aFunc)(TInt64* aData),
-                TInt64* aData)
-{
-    CMMAPlayer* p = aEventSource->FindPlayer(aPlayer);
-    if (p)
-    {
-        (p->*aFunc)(aData);
-    }
-    else
-    {
-        *aData = KErrBadHandle;
-    }
-}
-
-
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _createPlayer
- * Signature: (III)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1initPlayer
-(JNIEnv* aJni,
- jobject aObject,
- jobject aListenerObject,
- jint aEventSourceHandle,
- jint aPlayerHandle)
-{
-	LOG(EJavaMMAPI,EInfo,"jni_PlayerImpl__1initPlayer Enter...   1");
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSourceHandle);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    CMMAPlayer* player = reinterpret_cast< CMMAPlayer* >(aPlayerHandle);
-
-    // init player
-    jobject playerObject = aJni->NewWeakGlobalRef(aObject);
-LOG(EJavaMMAPI,EInfo,"jni_PlayerImpl__1initPlayer Enter...   5");    
-    TInt err = eventSource->ExecuteTrap(&CMMAPlayer::StaticInitPlayerL,
-                                        player,
-                                        eventSource,
-                                        playerObject,
-                                        eventSource->getValidJniEnv());
-    if (err != KErrNone)
-    {
-        aJni->DeleteWeakGlobalRef((jweak)playerObject);
-        return err;
-    }
-
-    // set player listener
-    jobject playerListener = aJni->NewWeakGlobalRef(aListenerObject);
-    err = eventSource->ExecuteTrap(&CMMAPlayer::StaticSetPlayerListenerObjectL,
-                                   player,
-                                   eventSource,
-                                   playerListener,
-                                   eventSource->getValidJniEnv(),
-                                   (MMMAEventPoster*)eventSource);
-    if (err != KErrNone)
-    {
-        aJni->DeleteWeakGlobalRef((jweak)playerListener);
-    }
-    return err;
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _start
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1start
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-	LOG( EJavaMMAPI, EInfo, "jni_PlayerImpl__1start...");
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-	CHECK_HANDLE(eventSource, KErrNone);
-    TInt err = eventSource->ExecuteTrap(&VVoidFuncL,
-                                        aPlayer,
-                                        eventSource,
-                                        &CMMAPlayer::StartL);
-       LOG1(EJavaMMAPI,EInfo,"jni_PlayerImpl__1start Enter... 3, err = %d",err);
-    // complete java side request in case of leave.
-    if (err != KErrNone)
-    {
-        CMMAPlayer* p = eventSource->FindPlayer(aPlayer);
-        p->PostActionCompleted(err);   // java start return
-    }
-
-    return err;
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _stop
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1stop
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    TInt err = eventSource->ExecuteTrap(&BoolFuncL,
-                                        aPlayer,
-                                        eventSource,
-                                        &CMMAPlayer::StopL,
-                                        (TBool)ETrue);
-    return err;
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _close
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1close
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    // if eventsource is already disposed, then do nothing
-
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-	LOG( EJavaMMAPI, EInfo, "jni_Player.cpp__1close before &CMMAPlayer::CloseL");
-    TInt err = eventSource->ExecuteTrap(&VVoidFuncL,
-                                        aPlayer,
-                                        eventSource,
-                                        &CMMAPlayer::CloseL);
-    ELOG1( EJavaMMAPI, "jni_Player.cpp__1close %d", err);
-    return err;
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _prefetch
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1prefetch
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    ELOG( EJavaMMAPI, "jni_Player.cpp__1prefetch ");
-    MMAFunctionServer* eventSource =
-        //JavaUnhand< MMAFunctionServer >(aEventSource);
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    TInt err = eventSource->ExecuteTrap(&VVoidFuncL, aPlayer,
-                                        eventSource,
-                                        &CMMAPlayer::PrefetchL);
-                                            
-  ELOG1( EJavaMMAPI, "jni_Player.cpp__1prefetch %d", err);
-                                              
-    return err;
-}
-
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _realize
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1realize
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    TInt err = eventSource->ExecuteTrap(&VVoidFuncL,
-                                        aPlayer, eventSource,
-                                        &CMMAPlayer::RealizeL);
-    return err;
-}
-
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _setLoopCount
- * Signature: (III)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1setLoopCount
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer, jint aLoopCount)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    eventSource->ExecuteV(&IntFunc,
-                          aPlayer, eventSource,
-                          &CMMAPlayer::SetLoopCount,
-                          aLoopCount);
-    return KErrNone;
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _duration
- * Signature: (II)J
- */
-JNIEXPORT jlong JNICALL Java_com_nokia_microedition_media_PlayerImpl__1duration
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    TInt64 duration(0);
-
-    TInt err = eventSource->ExecuteTrap(&TInt64Func,
-                                        aPlayer, eventSource,
-                                        &CMMAPlayer::GetDuration,
-                                        &duration);
-    if (err != KErrNone)
-    {
-        return err;
-    }
-    return *reinterpret_cast< jlong* >(&duration);
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _setMediaTime
- * Signature: (IIJ)J
- */
-JNIEXPORT jlong JNICALL Java_com_nokia_microedition_media_PlayerImpl__1setMediaTime
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer, jlong aNow)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-
-    TInt64 time = *reinterpret_cast< TInt64* >(&aNow);
-
-    TInt err = eventSource->ExecuteTrap(&TInt64Func,
-                                        aPlayer, eventSource,
-                                        &CMMAPlayer::SetMediaTimeL,
-                                        &time);
-
-    if (err != KErrNone)
-    {
-        ELOG1( EJavaMMAPI, "MMA::Java_com_nokia_microedition_media_PlayerImpl__1setMediaTime error %d ",
-                  err);
-        return err;
-    }
-    return *reinterpret_cast< jlong* >(&time);
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _deallocate
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1deallocate
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    TInt err = eventSource->ExecuteTrap(&VVoidFuncL,
-                                        aPlayer, eventSource,
-                                        &CMMAPlayer::DeallocateL);
-    return err;
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _getMediaTime
- * Signature: (II)J
- */
-JNIEXPORT jlong JNICALL Java_com_nokia_microedition_media_PlayerImpl__1getMediaTime
-(JNIEnv*, jclass, jint aEventSource, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    TInt64 mediaTime(0);
-
-    TInt err = eventSource->ExecuteTrap(&TInt64Func, aPlayer,
-                                        eventSource,
-                                        &CMMAPlayer::GetMediaTime,
-                                        &mediaTime);
-    if (err != KErrNone)
-    {
-        return err;
-    }
-    return *reinterpret_cast< jlong* >(&mediaTime);
-}
-
-/*
- * Class:     com_nokia_microedition_media_PlayerImpl
- * Method:    _getState
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1getState
-(JNIEnv *, jclass, jint aEventSource, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-LOG(EJavaMMAPI,EInfo,"MMA::Java_com_nokia_microedition_media_PlayerImpl__1getState before finding player ");
-    CMMAPlayer* player = eventSource->FindPlayer(aPlayer);
-LOG(EJavaMMAPI,EInfo,"MMA::Java_com_nokia_microedition_media_PlayerImpl__1getState after finding player ");
-    TInt state = CMMAPlayer::EClosed;
-    if (player != NULL)
-    {
-        state = player->State();
-    }
-
-LOG1(EJavaMMAPI,EInfo,"MMA::Java_com_nokia_microedition_media_PlayerImpl__1getState state %d ",
-                  state);
-    return state;
-}
-
-/*
- *
- */
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1addSourceStream
-(JNIEnv* aJni, jclass, jint aEventSource, jint aPlayer, jobject aReader)
-{
-    MMAFunctionServer* eventSource =
-       reinterpret_cast< MMAFunctionServer *>(aEventSource);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    CMMAPlayer* player = eventSource->FindPlayer(aPlayer);
-    CMMASourceStream* sourceStream;
-
-    jobject readerRef = aJni->NewWeakGlobalRef(aReader);
-
-    TInt err = KErrNotFound;
-    if (player != NULL)
-    {
-        err = eventSource->ExecuteTrap(&CMMAPlayer::StaticAddSourceStreamL,
-                                       eventSource->getValidJniEnv(),
-                                       player,
-                                       eventSource,
-                                       readerRef,
-                                       &sourceStream);
-    }
-    if (err != KErrNone)
-    {
-        aJni->DeleteWeakGlobalRef((jweak)readerRef);
-        return err;
-    }
-    return reinterpret_cast<TInt>(sourceStream);
-}
-
-
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1getControlsCount
-(JNIEnv*, jclass, jint aEventSourceHandle, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-       reinterpret_cast< MMAFunctionServer* >(aEventSourceHandle);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-
-    TInt count = eventSource->Execute(&VoidFunc,
-                                      aPlayer, eventSource,
-                                      &CMMAPlayer::ControlCount);
-    return count;
-}
-
-
-JNIEXPORT jstring JNICALL Java_com_nokia_microedition_media_PlayerImpl__1getControlClassName
-(JNIEnv* aJniEnv, jclass, jint aEventSourceHandle, jint aControlHandle)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer* >(aEventSourceHandle);
-
-    CMMAControl* control = reinterpret_cast< CMMAControl* >(aControlHandle);
-
-    const TDesC* name = eventSource->Execute(CMMAControl::ClassNameJni,
-                        control);
-    return S60CommonUtils::NativeToJavaString(*aJniEnv, *name);
-}
-
-
-JNIEXPORT jint JNICALL Java_com_nokia_microedition_media_PlayerImpl__1getControlHandle
-(JNIEnv*, jclass, jint aEventSourceHandle, jint aPlayer, jint aIndex)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSourceHandle);
-
-    CHECK_HANDLE(eventSource, KErrNone);
-
-    CMMAPlayer* player = eventSource->FindPlayer(aPlayer);
-    CMMAControl* control = NULL;
-    if (player)
-    {
-        control = eventSource->Execute(CMMAPlayer::StaticControl,
-                                       player,
-                                       aIndex);
-    }
-    else
-    {
-        return KErrBadHandle;
-    }
-
-    return reinterpret_cast<TInt>(control);
-}
-
-LOCAL_C void DisposePlayer(MMAFunctionServer* aEventSource,
-                           TInt aPlayer)
-{
-    CMMAPlayer* player = aEventSource->FindPlayer(aPlayer);
-    if (player)
-    {
-        aEventSource->DisposePlayer(player);
-    }
-    // else already disposed
-}
-
-JNIEXPORT void JNICALL Java_com_nokia_microedition_media_PlayerImpl__1dispose
-(JNIEnv*, jclass, jint aEventSourceHandle, jint aPlayer)
-{
-    MMAFunctionServer* eventSource =
-        reinterpret_cast< MMAFunctionServer *>(aEventSourceHandle);
-
-    // if eventsource is already disposed, then do nothing
-    if (!eventSource || eventSource->IsDisposed())
-    {
-        return;
-    }
-
-    eventSource->ExecuteV(&DisposePlayer,
-                          eventSource,
-                          aPlayer);
-}
-
-JNIEXPORT jstring JNICALL Java_com_nokia_microedition_media_PlayerImpl__1getContentType
-(JNIEnv* aJni, jclass,
- jint aPlayerHandle)
-{
-    CMMAPlayer* player = reinterpret_cast< CMMAPlayer* >(aPlayerHandle);
-    jstring contentType = NULL;
-
-    // if content type is null, we just return NULL to Java
-    if (player->ContentType())
-    {
-        // need to create Java String object
-        contentType = S60CommonUtils::NativeToJavaString(*aJni, *player->ContentType());
-    }
-    return contentType;
-}
-
-//  END OF FILE