blob: 9a53965a68e19cf510659f9563f4a1318bd2ccdc [file] [log] [blame]
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.server.art;
/**
* Represents output dexopt artifacts of a dex file (i.e., ART, OAT, and VDEX files).
*
* @hide
*/
parcelable OutputArtifacts {
/** The path to the output. */
com.android.server.art.ArtifactsPath artifactsPath;
parcelable PermissionSettings {
/**
* The permission of the directories that contain the artifacts. Has no effect if
* `artifactsPath.isInDalvikCache` is true.
*/
com.android.server.art.FsPermission dirFsPermission;
/** The permission of the files. */
com.android.server.art.FsPermission fileFsPermission;
/** The tuple used for looking up for the SELinux context. */
parcelable SeContext {
/** The seinfo tag in SELinux policy. */
@utf8InCpp String seInfo;
/** The uid that represents the combination of the user id and the app id. */
int uid;
}
/**
* Determines the SELinux context of the directories and the files. If empty, the default
* context based on the file path will be used. Has no effect if
* `artifactsPath.isInDalvikCache` is true.
*/
@nullable SeContext seContext;
}
PermissionSettings permissionSettings;
}