/** ** Copyright (C) SAS Institute, All rights reserved. ** General Public License: http://www.opensource.org/licenses/gpl-license.php **/ package org.safs.android.messenger; import org.safs.sockets.SocketProtocol; import android.os.Looper; import android.os.Message; import android.os.Parcelable; /** * It is used to handle the messages from 'Test Runner'. * * @author Carl Nagle, SAS Institute, Inc. * @since FEB 04, 2012 (CANAGL) Initial version * <br> APR 25, 2013 (LeiWang) Handle message of big size. */ public class MessengerHandler extends MultipleParcelsHandler{ MessengerListener listener = null; public MessengerHandler(Looper looper, MessengerListener listener) { super(looper, listener); this.listener = listener; } protected void debug(String message){ listener.onMessengerDebug("HANDLER: "+ message); } public void handleWholeMessage(Message msg){ switch (msg.what){ case MessageUtil.ID_ENGINE_READY: listener.onEngineReady(); break; case MessageUtil.ID_ENGINE_RUNNING: listener.onEngineRunning(); break; case MessageUtil.ID_ENGINE_RESULT: listener.onEngineResult(msg.arg1, MessageUtil.getParcelableMessage((Parcelable) msg.obj)); break; case MessageUtil.ID_ENGINE_RESULTPROPS: listener.onEngineResultProps(MessageUtil.getParcelableProps((Parcelable) msg.obj)); break; case MessageUtil.ID_ENGINE_SHUTDOWN: listener.onEngineShutdown(SocketProtocol.STATUS_SHUTDOWN_REMOTE_CLIENT); break; case MessageUtil.ID_REGISTER_ENGINE: listener.onEngineRegistered(msg.replyTo); break; case MessageUtil.ID_UNREGISTER_ENGINE: listener.onEngineUnRegistered(); break; case MessageUtil.ID_ENGINE_DEBUG: listener.onEngineDebug(MessageUtil.getParcelableMessage((Parcelable)msg.obj)); break; case MessageUtil.ID_ENGINE_EXCEPTION: listener.onEngineException(MessageUtil.getParcelableMessage((Parcelable)msg.obj)); break; case MessageUtil.ID_ENGINE_MESSAGE: listener.onEngineMessage(MessageUtil.getParcelableMessage((Parcelable)msg.obj)); break; } } }