Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / mojo / public / java / bindings / src / org / chromium / mojo / bindings / Router.java
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.mojo.bindings;
6
7 import org.chromium.mojo.system.MessagePipeHandle;
8
9 /**
10  * A {@link Router} will handle mojo message and forward those to a {@link Connector}. It deals with
11  * parsing of headers and adding of request ids in order to be able to match a response to a
12  * request.
13  */
14 public interface Router extends MessageReceiverWithResponder, HandleOwner<MessagePipeHandle> {
15
16     /**
17      * Start listening for incoming messages.
18      */
19     public void start();
20
21     /**
22      * Set the {@link MessageReceiverWithResponder} that will deserialize and use the message
23      * received from the pipe.
24      */
25     public void setIncomingMessageReceiver(MessageReceiverWithResponder incomingMessageReceiver);
26
27     /**
28      * Set the handle that will be notified of errors on the message pipe.
29      */
30     public void setErrorHandler(ConnectionErrorHandler errorHandler);
31 }