blob: 78173c447164b291f5bda58401291e249229083e [file] [log] [blame]
// mojo/public/mojom/base/big_buffer.mojom.js is auto generated by mojom_bindings_generator.py, do not edit
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
'use strict';
(function() {
var mojomId = 'mojo/public/mojom/base/big_buffer.mojom';
if (mojo.internal.isMojomLoaded(mojomId)) {
console.warn('The following mojom is loaded multiple times: ' + mojomId);
return;
}
mojo.internal.markMojomLoaded(mojomId);
var bindings = mojo;
var associatedBindings = mojo;
var codec = mojo.internal;
var validator = mojo.internal;
var exports = mojo.internal.exposeNamespace('mojoBase.mojom');
function BigBufferSharedMemoryRegion(values) {
this.initDefaults_();
this.initFields_(values);
}
BigBufferSharedMemoryRegion.prototype.initDefaults_ = function() {
this.bufferHandle = null;
this.size = 0;
};
BigBufferSharedMemoryRegion.prototype.initFields_ = function(fields) {
for(var field in fields) {
if (this.hasOwnProperty(field))
this[field] = fields[field];
}
};
BigBufferSharedMemoryRegion.validate = function(messageValidator, offset) {
var err;
err = messageValidator.validateStructHeader(offset, codec.kStructHeaderSize);
if (err !== validator.validationError.NONE)
return err;
var kVersionSizes = [
{version: 0, numBytes: 16}
];
err = messageValidator.validateStructVersion(offset, kVersionSizes);
if (err !== validator.validationError.NONE)
return err;
// validate BigBufferSharedMemoryRegion.bufferHandle
err = messageValidator.validateHandle(offset + codec.kStructHeaderSize + 0, false)
if (err !== validator.validationError.NONE)
return err;
return validator.validationError.NONE;
};
BigBufferSharedMemoryRegion.encodedSize = codec.kStructHeaderSize + 8;
BigBufferSharedMemoryRegion.decode = function(decoder) {
var packed;
var val = new BigBufferSharedMemoryRegion();
var numberOfBytes = decoder.readUint32();
var version = decoder.readUint32();
val.bufferHandle =
decoder.decodeStruct(codec.Handle);
val.size =
decoder.decodeStruct(codec.Uint32);
return val;
};
BigBufferSharedMemoryRegion.encode = function(encoder, val) {
var packed;
encoder.writeUint32(BigBufferSharedMemoryRegion.encodedSize);
encoder.writeUint32(0);
encoder.encodeStruct(codec.Handle, val.bufferHandle);
encoder.encodeStruct(codec.Uint32, val.size);
};
function BigBuffer(value) {
this.initDefault_();
this.initValue_(value);
}
BigBuffer.Tags = {
bytes: 0,
sharedMemory: 1,
invalidBuffer: 2,
};
BigBuffer.prototype.initDefault_ = function() {
this.$data = null;
this.$tag = undefined;
}
BigBuffer.prototype.initValue_ = function(value) {
if (value == undefined) {
return;
}
var keys = Object.keys(value);
if (keys.length == 0) {
return;
}
if (keys.length > 1) {
throw new TypeError("You may set only one member on a union.");
}
var fields = [
"bytes",
"sharedMemory",
"invalidBuffer",
];
if (fields.indexOf(keys[0]) < 0) {
throw new ReferenceError(keys[0] + " is not a BigBuffer member.");
}
this[keys[0]] = value[keys[0]];
}
Object.defineProperty(BigBuffer.prototype, "bytes", {
get: function() {
if (this.$tag != BigBuffer.Tags.bytes) {
throw new ReferenceError(
"BigBuffer.bytes is not currently set.");
}
return this.$data;
},
set: function(value) {
this.$tag = BigBuffer.Tags.bytes;
this.$data = value;
}
});
Object.defineProperty(BigBuffer.prototype, "sharedMemory", {
get: function() {
if (this.$tag != BigBuffer.Tags.sharedMemory) {
throw new ReferenceError(
"BigBuffer.sharedMemory is not currently set.");
}
return this.$data;
},
set: function(value) {
this.$tag = BigBuffer.Tags.sharedMemory;
this.$data = value;
}
});
Object.defineProperty(BigBuffer.prototype, "invalidBuffer", {
get: function() {
if (this.$tag != BigBuffer.Tags.invalidBuffer) {
throw new ReferenceError(
"BigBuffer.invalidBuffer is not currently set.");
}
return this.$data;
},
set: function(value) {
this.$tag = BigBuffer.Tags.invalidBuffer;
this.$data = value;
}
});
BigBuffer.encode = function(encoder, val) {
if (val == null) {
encoder.writeUint64(0);
encoder.writeUint64(0);
return;
}
if (val.$tag == undefined) {
throw new TypeError("Cannot encode unions with an unknown member set.");
}
encoder.writeUint32(16);
encoder.writeUint32(val.$tag);
switch (val.$tag) {
case BigBuffer.Tags.bytes:
encoder.encodeArrayPointer(codec.Uint8, val.bytes);
break;
case BigBuffer.Tags.sharedMemory:
encoder.encodeStructPointer(BigBufferSharedMemoryRegion, val.sharedMemory);
break;
case BigBuffer.Tags.invalidBuffer:
encoder.writeUint8(val.invalidBuffer ? 1 : 0);
break;
}
encoder.align();
};
BigBuffer.decode = function(decoder) {
var size = decoder.readUint32();
if (size == 0) {
decoder.readUint32();
decoder.readUint64();
return null;
}
var result = new BigBuffer();
var tag = decoder.readUint32();
switch (tag) {
case BigBuffer.Tags.bytes:
result.bytes = decoder.decodeArrayPointer(codec.Uint8);
break;
case BigBuffer.Tags.sharedMemory:
result.sharedMemory = decoder.decodeStructPointer(BigBufferSharedMemoryRegion);
break;
case BigBuffer.Tags.invalidBuffer:
result.invalidBuffer = decoder.readUint8() ? true : false;
break;
}
decoder.align();
return result;
};
BigBuffer.validate = function(messageValidator, offset) {
var size = messageValidator.decodeUnionSize(offset);
if (size != 16) {
return validator.validationError.INVALID_UNION_SIZE;
}
var tag = messageValidator.decodeUnionTag(offset);
var data_offset = offset + 8;
var err;
switch (tag) {
case BigBuffer.Tags.bytes:
// validate BigBuffer.bytes
err = messageValidator.validateArrayPointer(data_offset, 1, codec.Uint8, false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
break;
case BigBuffer.Tags.sharedMemory:
// validate BigBuffer.sharedMemory
err = messageValidator.validateStructPointer(data_offset, BigBufferSharedMemoryRegion, false);
if (err !== validator.validationError.NONE)
return err;
break;
case BigBuffer.Tags.invalidBuffer:
break;
}
return validator.validationError.NONE;
};
BigBuffer.encodedSize = 16;
exports.BigBufferSharedMemoryRegion = BigBufferSharedMemoryRegion;
exports.BigBuffer = BigBuffer;
})();