Index: components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SessionControlMessages.java |
diff --git a/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SessionControlMessages.java b/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SessionControlMessages.java |
deleted file mode 100644 |
index 4c16520828fdad4945b4b0a828db6e18e3017acc..0000000000000000000000000000000000000000 |
--- a/components/devtools_bridge/android/java/src/org/chromium/components/devtools_bridge/SessionControlMessages.java |
+++ /dev/null |
@@ -1,251 +0,0 @@ |
-// Copyright 2014 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.components.devtools_bridge; |
- |
-import android.util.JsonReader; |
-import android.util.JsonWriter; |
- |
-import java.io.ByteArrayInputStream; |
-import java.io.ByteArrayOutputStream; |
-import java.io.IOException; |
-import java.io.InputStreamReader; |
-import java.io.OutputStreamWriter; |
- |
-/** |
- * Defines protocol of control channel of SessionBase. Messages are JSON serializable |
- * and transferred through AbstractDataChannel. |
- */ |
-public final class SessionControlMessages { |
- private SessionControlMessages() { |
- throw new RuntimeException("Class not intended to instantiate"); |
- } |
- |
- /** |
- * Types of messages that client sends to server. |
- */ |
- enum ClientMessageType { |
- UNKNOWN_REQUEST |
- } |
- |
- /** |
- * Types of messages that servers sends to client. |
- */ |
- enum ServerMessageType { |
- ICE_EXCHANGE, |
- UNKNOWN_RESPONSE |
- } |
- |
- /** |
- * Base class for all messages. |
- */ |
- public abstract static class Message<T extends Enum> { |
- public final T type; |
- |
- protected Message(T type) { |
- this.type = type; |
- } |
- |
- public void write(JsonWriter writer) throws IOException { |
- writer.name("type"); |
- writer.value(type.toString()); |
- } |
- } |
- |
- /** |
- * Base calss for messages that client sends to server. |
- */ |
- public abstract static class ClientMessage extends Message<ClientMessageType> { |
- protected ClientMessage(ClientMessageType type) { |
- super(type); |
- } |
- } |
- |
- /** |
- * Base class for messages that server sends to client. |
- */ |
- public abstract static class ServerMessage extends Message<ServerMessageType> { |
- protected ServerMessage(ServerMessageType type) { |
- super(type); |
- } |
- } |
- |
- /** |
- * Server sends this message when it has ICE candidates to exchange. Client initiates |
- * ICE exchange over signaling channel. |
- */ |
- public static final class IceExchangeMessage extends ServerMessage { |
- public IceExchangeMessage() { |
- super(ServerMessageType.ICE_EXCHANGE); |
- } |
- } |
- |
- /** |
- * Server response on unrecognized client message. |
- */ |
- public static final class UnknownResponseMessage extends ServerMessage { |
- public final String rawRequestType; |
- |
- public UnknownResponseMessage(String rawRequestType) { |
- super(ServerMessageType.UNKNOWN_RESPONSE); |
- this.rawRequestType = rawRequestType; |
- } |
- |
- @Override |
- public void write(JsonWriter writer) throws IOException { |
- super.write(writer); |
- writer.name("rawRequestType"); |
- writer.value(rawRequestType.toString()); |
- } |
- } |
- |
- /** |
- * Helper class to represent message of unknown type. Should not be sent. |
- */ |
- public static final class UnknownRequestMessage extends ClientMessage { |
- public final String rawType; |
- |
- public UnknownRequestMessage(String rawType) { |
- super(ClientMessageType.UNKNOWN_REQUEST); |
- this.rawType = rawType; |
- } |
- |
- @Override |
- public void write(JsonWriter writer) throws IOException { |
- throw new RuntimeException("Should not be serialized"); |
- } |
- |
- public UnknownResponseMessage createResponse() { |
- return new UnknownResponseMessage(rawType); |
- } |
- } |
- |
- private static <T extends Enum<T>> T getMessageType( |
- Class<T> enumType, String rawType, T defaultType) throws IOException { |
- try { |
- return Enum.valueOf(enumType, rawType); |
- } catch (IllegalArgumentException e) { |
- if (defaultType != null) |
- return defaultType; |
- throw new IOException("Invalid message type " + rawType); |
- } |
- } |
- |
- public static void write(JsonWriter writer, Message<?> message) throws IOException { |
- writer.beginObject(); |
- message.write(writer); |
- writer.endObject(); |
- } |
- |
- public static ClientMessage readClientMessage(JsonReader reader) throws IOException { |
- String rawType = ""; |
- boolean success = false; |
- |
- reader.beginObject(); |
- while (reader.hasNext()) { |
- String name = reader.nextName(); |
- if ("type".equals(name)) { |
- rawType = reader.nextString(); |
- } |
- } |
- reader.endObject(); |
- |
- switch (getMessageType(ClientMessageType.class, |
- rawType, |
- ClientMessageType.UNKNOWN_REQUEST)) { |
- case UNKNOWN_REQUEST: |
- return new UnknownRequestMessage(rawType); |
- } |
- throw new IOException("Invalid message"); |
- } |
- |
- public static ServerMessage readServerMessage(JsonReader reader) throws IOException { |
- String rawType = ""; |
- String rawRequestType = null; |
- |
- reader.beginObject(); |
- while (reader.hasNext()) { |
- String name = reader.nextName(); |
- if ("type".equals(name)) { |
- rawType = reader.nextString(); |
- } else if ("rawRequestType".equals(name)) { |
- rawRequestType = reader.nextString(); |
- } |
- } |
- reader.endObject(); |
- |
- switch (getMessageType(ServerMessageType.class, rawType, null)) { |
- case ICE_EXCHANGE: |
- return new IceExchangeMessage(); |
- case UNKNOWN_RESPONSE: |
- return new UnknownResponseMessage(rawRequestType); |
- } |
- throw new IOException("Invalid message"); |
- } |
- |
- /** |
- * Base class for client and server message handlers. |
- */ |
- public abstract static class MessageHandler { |
- protected abstract void readMessage(JsonReader reader) throws IOException; |
- |
- public boolean readMessage(byte[] bytes) throws InvalidFormatException { |
- try { |
- readMessage(new JsonReader(new InputStreamReader(new ByteArrayInputStream(bytes)))); |
- return true; |
- } catch (IOException e) { |
- throw new InvalidFormatException(e); |
- } |
- } |
- } |
- |
- /** |
- * Exception when parsing or handling message. |
- */ |
- public static class InvalidFormatException extends IOException { |
- public InvalidFormatException(IOException e) { |
- super(e); |
- } |
- |
- public InvalidFormatException(String message) { |
- super(message); |
- } |
- } |
- |
- /** |
- * Base class for handler of server messages (to be created on client). |
- */ |
- public abstract static class ServerMessageHandler extends MessageHandler { |
- @Override |
- protected void readMessage(JsonReader reader) throws IOException { |
- onMessage(readServerMessage(reader)); |
- } |
- |
- protected abstract void onMessage(ServerMessage message); |
- } |
- |
- /** |
- * Base class for handler of client messages (to be created on server). |
- */ |
- public abstract static class ClientMessageHandler extends MessageHandler { |
- @Override |
- public void readMessage(JsonReader reader) throws IOException { |
- onMessage(readClientMessage(reader)); |
- } |
- |
- protected abstract void onMessage(ClientMessage message); |
- } |
- |
- public static byte[] toByteArray(Message<?> message) { |
- ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); |
- JsonWriter writer = new JsonWriter(new OutputStreamWriter(byteStream)); |
- try { |
- write(writer, message); |
- writer.close(); |
- return byteStream.toByteArray(); |
- } catch (IOException e) { |
- throw new RuntimeException(e); |
- } |
- } |
-} |