diff -r 6c158198356e -r ae942d28ec0e javauis/mmapi_qt/baseline/src/cmmaoutputstreamevent.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/mmapi_qt/baseline/src/cmmaoutputstreamevent.cpp Tue Aug 31 15:09:22 2010 +0300 @@ -0,0 +1,80 @@ +/* +* Copyright (c) 2002 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 is used to post events to the java. +* +*/ + + +#include + +#include "cmmaoutputstreamevent.h" + + +CMMAOutputStreamEvent::CMMAOutputStreamEvent(jmethodID aHandleEventMethod, + jobject aNotifyObject) + : CMMAEvent(EReusableEvent), + iHandleEventMethod(aHandleEventMethod), + iListenerObject(aNotifyObject) +{ + iState = EMMAEventNotActive; +} + +void CMMAOutputStreamEvent::SetLength(TInt aLength) +{ + iLength = aLength; + iState = EMMAEventActive; +} + + +void CMMAOutputStreamEvent::SetStatus(TInt aStatus) +{ + iStatus = aStatus; + iState = EMMAEventActive; +} + +void CMMAOutputStreamEvent::SetState(CMMAOutputStreamEvent::TMMAOutputStreamState aState) +{ + iState = aState; +} + +CMMAOutputStreamEvent::TMMAOutputStreamState CMMAOutputStreamEvent::State() +{ + return iState; +} + +void CMMAOutputStreamEvent::Dispatch(JNIEnv& aJni) +{ + LOG2(EJavaMMAPI, EInfo, "CMMAOutputStreamEvent::Dispatch, len=%d status=%d-", + iLength, iStatus); + + if (iState == EMMAEventActive) + { + aJni.CallVoidMethod(iListenerObject, + iHandleEventMethod, + iLength, + iStatus); + iState = EMMAEventNotActive; + } + else if (iState == EMMADeleteEvent) + { + // This is done because some + // event may still exist in the event server when + // the sender has been deleted. + + delete this; + } + // else event is not active +} + +// END OF FILE