| // 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. |
| |
| |
| 'use strict'; |
| if ((typeof mojo !== 'undefined') && mojo.internal && mojo.config) { |
| |
| (function() { |
| var mojomId = 'mojo/common/string16.mojom'; |
| if (mojo.internal.isMojomLoaded(mojomId)) { |
| console.warn('The following mojom is loaded multiple times: ' + mojomId); |
| return; |
| } |
| mojo.internal.markMojomLoaded(mojomId); |
| |
| // TODO(yzshen): Define these aliases to minimize the differences between the |
| // old/new modes. Remove them when the old mode goes away. |
| var bindings = mojo; |
| var associatedBindings = mojo; |
| var codec = mojo.internal; |
| var validator = mojo.internal; |
| |
| var exports = mojo.internal.exposeNamespace('mojo.common.mojom'); |
| |
| |
| |
| function String16(values) { |
| this.initDefaults_(); |
| this.initFields_(values); |
| } |
| |
| |
| String16.prototype.initDefaults_ = function() { |
| this.data = null; |
| }; |
| String16.prototype.initFields_ = function(fields) { |
| for(var field in fields) { |
| if (this.hasOwnProperty(field)) |
| this[field] = fields[field]; |
| } |
| }; |
| |
| String16.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 String16.data |
| err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 0, 2, codec.Uint16, false, [0], 0); |
| if (err !== validator.validationError.NONE) |
| return err; |
| |
| return validator.validationError.NONE; |
| }; |
| |
| String16.encodedSize = codec.kStructHeaderSize + 8; |
| |
| String16.decode = function(decoder) { |
| var packed; |
| var val = new String16(); |
| var numberOfBytes = decoder.readUint32(); |
| var version = decoder.readUint32(); |
| val.data = decoder.decodeArrayPointer(codec.Uint16); |
| return val; |
| }; |
| |
| String16.encode = function(encoder, val) { |
| var packed; |
| encoder.writeUint32(String16.encodedSize); |
| encoder.writeUint32(0); |
| encoder.encodeArrayPointer(codec.Uint16, val.data); |
| }; |
| exports.String16 = String16; |
| })(); |
| } |
| |
| if ((typeof mojo === 'undefined') || !mojo.internal || !mojo.config) { |
| |
| define("mojo/common/string16.mojom", [ |
| "mojo/public/js/associated_bindings", |
| "mojo/public/js/bindings", |
| "mojo/public/js/codec", |
| "mojo/public/js/core", |
| "mojo/public/js/validator", |
| ], function(associatedBindings, bindings, codec, core, validator) { |
| var exports = {}; |
| |
| function String16(values) { |
| this.initDefaults_(); |
| this.initFields_(values); |
| } |
| |
| |
| String16.prototype.initDefaults_ = function() { |
| this.data = null; |
| }; |
| String16.prototype.initFields_ = function(fields) { |
| for(var field in fields) { |
| if (this.hasOwnProperty(field)) |
| this[field] = fields[field]; |
| } |
| }; |
| |
| String16.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 String16.data |
| err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 0, 2, codec.Uint16, false, [0], 0); |
| if (err !== validator.validationError.NONE) |
| return err; |
| |
| return validator.validationError.NONE; |
| }; |
| |
| String16.encodedSize = codec.kStructHeaderSize + 8; |
| |
| String16.decode = function(decoder) { |
| var packed; |
| var val = new String16(); |
| var numberOfBytes = decoder.readUint32(); |
| var version = decoder.readUint32(); |
| val.data = decoder.decodeArrayPointer(codec.Uint16); |
| return val; |
| }; |
| |
| String16.encode = function(encoder, val) { |
| var packed; |
| encoder.writeUint32(String16.encodedSize); |
| encoder.writeUint32(0); |
| encoder.encodeArrayPointer(codec.Uint16, val.data); |
| }; |
| exports.String16 = String16; |
| |
| return exports; |
| }); |
| } |