/* * Copyright (C) 2013-2014 Sony Computer Science Laboratories, Inc. All Rights Reserved. * Copyright (C) 2014 Sony Corporation. All Rights Reserved. */ package com.sonycsl.wamp.role; import com.sonycsl.wamp.WampPeer; import com.sonycsl.wamp.message.WampMessage; abstract public class WampRole { abstract public String getRoleName(); public interface OnReplyListener { void onReply(WampPeer receiver, WampMessage reply); } public final boolean resolveTxMessage(WampPeer receiver, WampMessage msg) { return resolveTxMessageImpl(receiver, msg); } public final boolean resolveRxMessage(WampPeer receiver, WampMessage msg, OnReplyListener listener) { return resolveRxMessageImpl(receiver, msg, listener); } abstract protected boolean resolveTxMessageImpl(WampPeer receiver, WampMessage msg); abstract protected boolean resolveRxMessageImpl(WampPeer transmitter, WampMessage msg, OnReplyListener listener); }