Index: third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/DataHeader.java |
diff --git a/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/DataHeader.java b/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/DataHeader.java |
new file mode 100644 |
index 0000000000000000000000000000000000000000..96acec943809b20a6ec30fc02dbea572a8ad7538 |
--- /dev/null |
+++ b/third_party/mojo/src/mojo/public/java/bindings/src/org/chromium/mojo/bindings/DataHeader.java |
@@ -0,0 +1,70 @@ |
+// Copyright 2015 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.mojo.bindings; |
+ |
+/** |
+ * The header for a mojo complex element. |
+ */ |
+public final class DataHeader { |
+ /** |
+ * The size of a serialized header, in bytes. |
+ */ |
+ public static final int HEADER_SIZE = 8; |
+ |
+ /** |
+ * The offset of the size field. |
+ */ |
+ public static final int SIZE_OFFSET = 0; |
+ |
+ /** |
+ * The offset of the number of fields field. |
+ */ |
+ public static final int ELEMENTS_OR_VERSION_OFFSET = 4; |
+ |
+ /** |
+ * The size of the object owning this header. |
+ */ |
+ public final int size; |
+ |
+ /** |
+ * Number of element (for an array) or version (for a struct) of the object owning this |
+ * header. |
+ */ |
+ public final int elementsOrVersion; |
+ |
+ /** |
+ * Constructor. |
+ */ |
+ public DataHeader(int size, int elementsOrVersion) { |
+ super(); |
+ this.size = size; |
+ this.elementsOrVersion = elementsOrVersion; |
+ } |
+ |
+ /** |
+ * @see Object#hashCode() |
+ */ |
+ @Override |
+ public int hashCode() { |
+ final int prime = 31; |
+ int result = 1; |
+ result = prime * result + elementsOrVersion; |
+ result = prime * result + size; |
+ return result; |
+ } |
+ |
+ /** |
+ * @see Object#equals(Object) |
+ */ |
+ @Override |
+ public boolean equals(Object object) { |
+ if (object == this) return true; |
+ if (object == null) return false; |
+ if (getClass() != object.getClass()) return false; |
+ |
+ DataHeader other = (DataHeader) object; |
+ return (elementsOrVersion == other.elementsOrVersion && size == other.size); |
+ } |
+} |