blob: e4070f96a94ca7f118f23ce98a14352abdac0012 [file] [log] [blame]
// Copyright 2018 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';
goog.require('mojo.internal');
goog.require('mojo.internal.interfaceSupport');
goog.require('device.mojom.WakeLockType');
goog.require('device.mojom.WakeLockReason');
goog.require('device.mojom.WakeLock');
goog.provide('blink.mojom.WakeLockService');
goog.provide('blink.mojom.WakeLockServiceReceiver');
goog.provide('blink.mojom.WakeLockServiceCallbackRouter');
goog.provide('blink.mojom.WakeLockServiceInterface');
goog.provide('blink.mojom.WakeLockServiceRemote');
goog.provide('blink.mojom.WakeLockServicePendingReceiver');
/** @export */
blink.mojom.WakeLockServicePendingReceiver = class {
/** @param {!MojoHandle} handle */
constructor(handle) {
/** @public {!MojoHandle} */
this.handle = handle;
}
};
/** @interface */
blink.mojom.WakeLockServiceInterface = class {
/**
* @param { !device.mojom.WakeLockType } type
* @param { !device.mojom.WakeLockReason } reason
* @param { !string } description
* @param { !device.mojom.WakeLockPendingReceiver } wakeLock
*/
getWakeLock(type, reason, description, wakeLock) {}
};
/**
* @export
* @implements { blink.mojom.WakeLockServiceInterface }
*/
blink.mojom.WakeLockServiceRemote = class {
/** @param {MojoHandle=} opt_handle */
constructor(opt_handle) {
/**
* @private {!mojo.internal.interfaceSupport.InterfaceRemoteBase<!blink.mojom.WakeLockServicePendingReceiver>}
*/
this.proxy =
new mojo.internal.interfaceSupport.InterfaceRemoteBase(
blink.mojom.WakeLockServicePendingReceiver,
opt_handle);
/**
* @public {!mojo.internal.interfaceSupport.InterfaceRemoteBaseWrapper<!blink.mojom.WakeLockServicePendingReceiver>}
*/
this.$ = new mojo.internal.interfaceSupport.InterfaceRemoteBaseWrapper(this.proxy);
/** @public {!mojo.internal.interfaceSupport.ConnectionErrorEventRouter} */
this.onConnectionError = this.proxy.getConnectionErrorEventRouter();
}
/**
* @param { !device.mojom.WakeLockType } type
* @param { !device.mojom.WakeLockReason } reason
* @param { !string } description
* @param { !device.mojom.WakeLockPendingReceiver } wakeLock
*/
getWakeLock(
type,
reason,
description,
wakeLock) {
this.proxy.sendMessage(
0,
blink.mojom.WakeLockService_GetWakeLock_ParamsSpec.$,
null,
[
type,
reason,
description,
wakeLock
]);
}
};
/**
* An object which receives request messages for the WakeLockService
* mojom interface. Must be constructed over an object which implements that
* interface.
*
* @export
*/
blink.mojom.WakeLockServiceReceiver = class {
/**
* @param {!blink.mojom.WakeLockServiceInterface } impl
*/
constructor(impl) {
/** @private {!mojo.internal.interfaceSupport.InterfaceReceiverHelperInternal<!blink.mojom.WakeLockServiceRemote>} */
this.helper_internal_ = new mojo.internal.interfaceSupport.InterfaceReceiverHelperInternal(
blink.mojom.WakeLockServiceRemote);
/**
* @public {!mojo.internal.interfaceSupport.InterfaceReceiverHelper<!blink.mojom.WakeLockServiceRemote>}
*/
this.$ = new mojo.internal.interfaceSupport.InterfaceReceiverHelper(this.helper_internal_);
this.helper_internal_.registerHandler(
0,
blink.mojom.WakeLockService_GetWakeLock_ParamsSpec.$,
null,
impl.getWakeLock.bind(impl));
/** @public {!mojo.internal.interfaceSupport.ConnectionErrorEventRouter} */
this.onConnectionError = this.helper_internal_.getConnectionErrorEventRouter();
}
};
/**
* @export
*/
blink.mojom.WakeLockService = class {
/**
* @return {!string}
*/
static get $interfaceName() {
return "blink.mojom.WakeLockService";
}
/**
* Returns a remote for this interface which sends messages to the browser.
* The browser must have an interface request binder registered for this
* interface and accessible to the calling document's frame.
*
* @return {!blink.mojom.WakeLockServiceRemote}
* @export
*/
static getRemote() {
let remote = new blink.mojom.WakeLockServiceRemote;
Mojo.bindInterface(this.$interfaceName,
remote.$.bindNewPipeAndPassReceiver().handle);
return remote;
}
};
/**
* An object which receives request messages for the WakeLockService
* mojom interface and dispatches them as callbacks. One callback receiver exists
* on this object for each message defined in the mojom interface, and each
* receiver can have any number of listeners added to it.
*
* @export
*/
blink.mojom.WakeLockServiceCallbackRouter = class {
constructor() {
this.helper_internal_ = new mojo.internal.interfaceSupport.InterfaceReceiverHelperInternal(
blink.mojom.WakeLockServiceRemote);
/**
* @public {!mojo.internal.interfaceSupport.InterfaceReceiverHelper<!blink.mojom.WakeLockServiceRemote>}
*/
this.$ = new mojo.internal.interfaceSupport.InterfaceReceiverHelper(this.helper_internal_);
this.router_ = new mojo.internal.interfaceSupport.CallbackRouter;
/**
* @public {!mojo.internal.interfaceSupport.InterfaceCallbackReceiver}
*/
this.getWakeLock =
new mojo.internal.interfaceSupport.InterfaceCallbackReceiver(
this.router_);
this.helper_internal_.registerHandler(
0,
blink.mojom.WakeLockService_GetWakeLock_ParamsSpec.$,
null,
this.getWakeLock.createReceiverHandler(false /* expectsResponse */));
/** @public {!mojo.internal.interfaceSupport.ConnectionErrorEventRouter} */
this.onConnectionError = this.helper_internal_.getConnectionErrorEventRouter();
}
/**
* @param {number} id An ID returned by a prior call to addListener.
* @return {boolean} True iff the identified listener was found and removed.
* @export
*/
removeListener(id) {
return this.router_.removeListener(id);
}
};
goog.provide('blink.mojom.WakeLockService_GetWakeLock_ParamsSpec');
/**
* @const { {$:!mojo.internal.MojomType}}
* @export
*/
blink.mojom.WakeLockService_GetWakeLock_ParamsSpec =
{ $: /** @type {!mojo.internal.MojomType} */ ({}) };
mojo.internal.Struct(
blink.mojom.WakeLockService_GetWakeLock_ParamsSpec.$,
'WakeLockService_GetWakeLock_Params',
24,
[
mojo.internal.StructField(
'type', 0,
0,
device.mojom.WakeLockTypeSpec.$,
0,
false /* nullable */),
mojo.internal.StructField(
'reason', 4,
0,
device.mojom.WakeLockReasonSpec.$,
0,
false /* nullable */),
mojo.internal.StructField(
'description', 8,
0,
mojo.internal.String,
null,
false /* nullable */),
mojo.internal.StructField(
'wakeLock', 16,
0,
mojo.internal.InterfaceRequest(device.mojom.WakeLockPendingReceiver),
null,
false /* nullable */),
]);
goog.provide('blink.mojom.WakeLockService_GetWakeLock_Params');
/**
* @typedef { {
* type: !device.mojom.WakeLockType,
* reason: !device.mojom.WakeLockReason,
* description: !string,
* wakeLock: !device.mojom.WakeLockPendingReceiver,
* } }
*/
blink.mojom.WakeLockService_GetWakeLock_Params;