blob: f12051b9ef6d74a703800fbacbbb9c48a5afad3f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.gecko.process;
import org.mozilla.gecko.gfx.ICompositorSurfaceManager;
import org.mozilla.gecko.gfx.ISurfaceAllocator;
import org.mozilla.gecko.process.IProcessManager;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
interface IChildProcess {
/** The process started correctly. */
const int STARTED_OK = 0;
/** An error occurred when trying to start this process. */
const int STARTED_FAIL = 1;
/** This process is being used elsewhere and cannot start. */
const int STARTED_BUSY = 2;
int getPid();
int start(in IProcessManager procMan,
in String mainProcessId,
in String[] args,
in Bundle extras,
int flags,
in String userSerialNumber,
in String crashHandlerService,
in ParcelFileDescriptor prefsPfd,
in ParcelFileDescriptor prefMapPfd,
in ParcelFileDescriptor ipcPfd,
in ParcelFileDescriptor crashReporterPfd);
void crash();
/** Must only be called for a GPU child process type. */
ICompositorSurfaceManager getCompositorSurfaceManager();
/**
* Returns the interface that other processes should use to allocate Surfaces to be
* consumed by the GPU process. Must only be called for a GPU child process type.
* @param allocatorId A unique ID used to identify the GPU process instance the allocator
* belongs to.
*/
ISurfaceAllocator getSurfaceAllocator(int allocatorId);
}
|