Index: mojo/public/js/codec.js |
diff --git a/mojo/public/js/codec.js b/mojo/public/js/codec.js |
index ce58a8cfd4aea874d6b752d9f8efe47f28268037..e53238b8e6b784183c6b2024d4bdee6dc56901e3 100644 |
--- a/mojo/public/js/codec.js |
+++ b/mojo/public/js/codec.js |
@@ -5,13 +5,15 @@ |
define("mojo/public/js/codec", [ |
"mojo/public/js/buffer", |
"mojo/public/js/interface_types", |
+ "mojo/public/js/lib/interface_endpoint_handle", |
"mojo/public/js/unicode", |
-], function(buffer, types, unicode) { |
+], function(buffer, types, interfaceEndpointHandle, unicode) { |
var kErrorUnsigned = "Passing negative value to unsigned"; |
var kErrorArray = "Passing non Array for array type"; |
var kErrorString = "Passing non String for string type"; |
var kErrorMap = "Passing non Map for map type"; |
+ var InterfaceEndpointHandle = interfaceEndpointHandle.InterfaceEndpointHandle; |
// Memory ------------------------------------------------------------------- |
@@ -31,6 +33,7 @@ define("mojo/public/js/codec", [ |
var kStructHeaderSize = 8; |
var kMessageHeaderSize = 24; |
var kMessageWithRequestIDHeaderSize = 32; |
yzshen1
2017/04/11 06:23:11
Please change kMessageHeaderSize and kMessageWithR
wangjimmy
2017/04/12 00:26:17
Done.
|
+ var kMessageV2HeaderSize = 48; |
var kMapStructPayloadSize = 16; |
var kStructHeaderNumBytesOffset = 0; |
@@ -457,6 +460,19 @@ define("mojo/public/js/codec", [ |
return this.buffer.getUint32(kMessageInterfaceIdOffset); |
}; |
+ Message.prototype.getPayloadInterfaceIds = function() { |
+ if (this.getHeaderVersion() < 2) { |
+ throw new Error( |
+ "Version of message does not support payload interface ids."); |
+ } |
+ |
+ var messageV2PayloadInterfaceIdsPointer = kMessageV2HeaderSize - 8; |
yzshen1
2017/04/11 06:23:11
Please consider defining kMessagePayloadInterfaceI
wangjimmy
2017/04/12 00:26:17
Done.
|
+ var decoder = new Decoder(this.buffer, this.handles, |
+ messageV2PayloadInterfaceIdsPointer); |
+ var payloadInterfaceIds = decoder.decodeArrayPointer(Uint32); |
+ return payloadInterfaceIds; |
+ }; |
+ |
Message.prototype.isResponse = function() { |
return (this.getFlags() & kMessageIsResponse) != 0; |
}; |
@@ -838,6 +854,23 @@ define("mojo/public/js/codec", [ |
NullableInterface.prototype = Object.create(Interface.prototype); |
+ function AssociatedInterfacePtrInfo() { |
+ } |
+ |
+ AssociatedInterfacePtrInfo.prototype.encodedSize = 8; |
+ |
+ function NullableAssociatedInterfacePtrInfo() { |
+ } |
+ |
+ NullableAssociatedInterfacePtrInfo.encodedSize = |
+ AssociatedInterfacePtrInfo.encodedSize; |
+ |
+ NullableAssociatedInterfacePtrInfo.decode = |
+ AssociatedInterfacePtrInfo.decode; |
yzshen1
2017/04/11 06:23:11
Where are the definition of the decode/encode func
wangjimmy
2017/04/12 00:26:17
Done. Removed the Nullable encode/decode for Assoc
|
+ |
+ NullableAssociatedInterfacePtrInfo.encode = |
+ AssociatedInterfacePtrInfo.encode; |
+ |
function InterfaceRequest() { |
} |
@@ -860,6 +893,23 @@ define("mojo/public/js/codec", [ |
NullableInterfaceRequest.encode = InterfaceRequest.encode; |
+ function AssociatedInterfaceRequest() { |
+ } |
+ |
+ AssociatedInterfaceRequest.encodedSize = 4; |
+ |
+ function NullableAssociatedInterfaceRequest() { |
+ } |
+ |
+ NullableAssociatedInterfaceRequest.encodedSize = |
+ AssociatedInterfaceRequest.encodedSize; |
+ |
+ NullableAssociatedInterfaceRequest.decode = |
+ AssociatedInterfaceRequest.decode; |
+ |
+ NullableAssociatedInterfaceRequest.encode = |
+ AssociatedInterfaceRequest.encode; |
+ |
function MapOf(keyClass, valueClass) { |
this.keyClass = keyClass; |
this.valueClass = valueClass; |
@@ -894,6 +944,7 @@ define("mojo/public/js/codec", [ |
exports.kEncodedInvalidHandleValue = kEncodedInvalidHandleValue; |
exports.kMessageHeaderSize = kMessageHeaderSize; |
exports.kMessageWithRequestIDHeaderSize = kMessageWithRequestIDHeaderSize; |
+ exports.kMessageV2HeaderSize = kMessageV2HeaderSize; |
exports.kMessageExpectsResponse = kMessageExpectsResponse; |
exports.kMessageIsResponse = kMessageIsResponse; |
exports.Int8 = Int8; |
@@ -920,6 +971,12 @@ define("mojo/public/js/codec", [ |
exports.NullableInterface = NullableInterface; |
exports.InterfaceRequest = InterfaceRequest; |
exports.NullableInterfaceRequest = NullableInterfaceRequest; |
+ exports.AssociatedInterfacePtrInfo = AssociatedInterfacePtrInfo; |
+ exports.NullableAssociatedInterfacePtrInfo = |
+ NullableAssociatedInterfacePtrInfo; |
+ exports.AssociatedInterfaceRequest = AssociatedInterfaceRequest; |
+ exports.NullableAssociatedInterfaceRequest = |
+ NullableAssociatedInterfaceRequest; |
exports.MapOf = MapOf; |
exports.NullableMapOf = NullableMapOf; |
return exports; |