// Copyright (c) 2009 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.sdk.internal.shellprotocol.tools;
import org.chromium.sdk.internal.transport.Message;
/**
* An interface of a tool handler to which responses from certain tools are
* dispatched.
*/
public interface ToolHandler {
/**
* Handles message from a certain tool.
* Invoked from Dispatch thread (connection-driven).
*
* @param message to handle. Never null
*/
void handleMessage(Message message);
/**
* Handles EOS (end-of-stream) message. Should not be called twice. Implementation
* may rely on this in its clean-up work.
* Invoked from Dispatch thread (connection-driven).
*/
void handleEos();
/**
* Gets invoked when the debugger has detached from a browser instance (due to
* the connection loss or a user request).
*/
void onDebuggerDetached();
}