Index: mojo/public/java/bindings/src/org/chromium/mojo/bindings/ServiceMessage.java |
diff --git a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageWithHeader.java b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/ServiceMessage.java |
similarity index 63% |
rename from mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageWithHeader.java |
rename to mojo/public/java/bindings/src/org/chromium/mojo/bindings/ServiceMessage.java |
index 9d602eab4700500519b5887b07b95531dcc11cac..ac62bf686a1971358bb387341cd700690e2c90de 100644 |
--- a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageWithHeader.java |
+++ b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/ServiceMessage.java |
@@ -4,19 +4,15 @@ |
package org.chromium.mojo.bindings; |
-import org.chromium.mojo.system.Handle; |
- |
import java.nio.ByteBuffer; |
import java.nio.ByteOrder; |
-import java.util.List; |
/** |
* Represents a {@link Message} which contains a {@link MessageHeader}. Deals with parsing the |
* {@link MessageHeader} for a message. |
*/ |
-public class MessageWithHeader implements Message { |
+public class ServiceMessage extends Message { |
- private final Message mBaseMessage; |
private final MessageHeader mHeader; |
private Message mPayload; |
@@ -24,9 +20,9 @@ public class MessageWithHeader implements Message { |
* Reinterpret the given |message| as a message with the given |header|. The |message| must |
* contain the |header| as the start of its raw data. |
*/ |
- public MessageWithHeader(Message baseMessage, MessageHeader header) { |
+ public ServiceMessage(Message baseMessage, MessageHeader header) { |
+ super(baseMessage.getData(), baseMessage.getHandles()); |
assert header.equals(new org.chromium.mojo.bindings.MessageHeader(baseMessage)); |
- this.mBaseMessage = baseMessage; |
this.mHeader = header; |
} |
@@ -34,31 +30,15 @@ public class MessageWithHeader implements Message { |
* Reinterpret the given |message| as a message with a header. The |message| must contain a |
* header as the start of it's raw data, which will be parsed by this constructor. |
*/ |
- MessageWithHeader(Message baseMessage) { |
+ ServiceMessage(Message baseMessage) { |
this(baseMessage, new org.chromium.mojo.bindings.MessageHeader(baseMessage)); |
} |
/** |
- * @see Message#getData() |
- */ |
- @Override |
- public ByteBuffer getData() { |
- return mBaseMessage.getData(); |
- } |
- |
- /** |
- * @see Message#getHandles() |
- */ |
- @Override |
- public List<? extends Handle> getHandles() { |
- return mBaseMessage.getHandles(); |
- } |
- |
- /** |
- * @see Message#asMojoMessage() |
+ * @see Message#asServiceMessage() |
*/ |
@Override |
- public MessageWithHeader asMojoMessage() { |
+ public ServiceMessage asServiceMessage() { |
return this; |
} |
@@ -75,10 +55,10 @@ public class MessageWithHeader implements Message { |
*/ |
public Message getPayload() { |
if (mPayload == null) { |
- ByteBuffer truncatedBuffer = ((ByteBuffer) mBaseMessage.getData().position( |
- getHeader().getSize())).slice(); |
+ ByteBuffer truncatedBuffer = |
+ ((ByteBuffer) getData().position(getHeader().getSize())).slice(); |
truncatedBuffer.order(ByteOrder.nativeOrder()); |
- mPayload = new SimpleMessage(truncatedBuffer, mBaseMessage.getHandles()); |
+ mPayload = new Message(truncatedBuffer, getHandles()); |
} |
return mPayload; |
} |
@@ -87,7 +67,7 @@ public class MessageWithHeader implements Message { |
* Set the request identifier on the message. |
*/ |
void setRequestId(long requestId) { |
- mHeader.setRequestId(mBaseMessage.getData(), requestId); |
+ mHeader.setRequestId(getData(), requestId); |
} |
} |