javaextensions/wma/mms/src.s60/mmsinstallerpluginjni.cpp
author hgs
Mon, 04 Oct 2010 11:29:25 +0300
changeset 78 71ad690e91f5
permissions -rw-r--r--
v2.2.17_1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
78
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     1
/*
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     3
* All rights reserved.
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     8
*
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
     9
* Initial Contributors:
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    11
*
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    12
* Contributors:
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    13
*
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    14
* Description:  ?Description
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    15
*
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    16
*/
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    17
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    18
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    19
#include "logger.h"
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    20
#include "jstringutils.h"
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    21
#include <mmsapplicationadapter.h>
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    22
#include "com_nokia_mj_impl_mms_MMSInstallerPlugin.h"
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    23
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    24
//using namespace java::wma;
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    25
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    26
/*
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    27
 * Class:     com_nokia_mj_impl_mms_MMSInstallerPlugin
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    28
 * Method:    _markForUnregister
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    29
 * Signature: (Ljava/lang/String;)I
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    30
 */
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    31
JNIEXPORT jint JNICALL Java_com_nokia_mj_impl_mms_MMSInstallerPlugin__1unregisterFromMMSEngine
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    32
(JNIEnv* aJni, jobject /*aPeer*/, jstring aUri)
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    33
{
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    34
    JELOG2(EWMA);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    35
    TRAPD(Error,
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    36
    {
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    37
       CActiveScheduler* activeScheduler = new(ELeave) CActiveScheduler();
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    38
       CleanupStack::PushL(activeScheduler);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    39
       CActiveScheduler::Install(activeScheduler);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    40
       CMmsApplicationAdapter* mmsApplicationAdapter = CMmsApplicationAdapter::NewL();
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    41
       CleanupStack::PushL(mmsApplicationAdapter);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    42
       JStringUtils applicationId(*aJni,aUri);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    43
       LOG1(EWMA,EInfo,"_markForUnregister - ApplicationId = %S",applicationId.Ptr());
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    44
       TBool isRegistered = mmsApplicationAdapter->RegisteredL(applicationId);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    45
       if (isRegistered)
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    46
       { 
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    47
          LOG(EWMA,EInfo,"Unregistering from MMSEngine");
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    48
          mmsApplicationAdapter->UnregisterL(applicationId);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    49
       }
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    50
       CleanupStack::PopAndDestroy(mmsApplicationAdapter);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    51
       CleanupStack::PopAndDestroy(activeScheduler);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    52
    });
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    53
    LOG1(EWMA,EInfo,"Unregistering status : %d",Error);
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    54
    return Error;
71ad690e91f5 v2.2.17_1
hgs
parents:
diff changeset
    55
}