1cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root/*
2cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Copyright (C) 2006 The Android Open Source Project
3cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
4cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Licensed under the Apache License, Version 2.0 (the "License");
5cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * you may not use this file except in compliance with the License.
6cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * You may obtain a copy of the License at
7cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
8cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *      http://www.apache.org/licenses/LICENSE-2.0
9cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
10cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Unless required by applicable law or agreed to in writing, software
11cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * distributed under the License is distributed on an "AS IS" BASIS,
12cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * See the License for the specific language governing permissions and
14cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * limitations under the License.
15cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root */
16cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
17cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootpackage com.android.server.pm;
18cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
19cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootimport android.content.pm.PackageParser;
20cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootimport android.content.pm.PermissionInfo;
21cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
22cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootfinal class BasePermission {
23cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    final static int TYPE_NORMAL = 0;
24cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
25cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    final static int TYPE_BUILTIN = 1;
26cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
27cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    final static int TYPE_DYNAMIC = 2;
28cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
29cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    final String name;
30cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
31cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    String sourcePackage;
32cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
33cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    PackageSettingBase packageSetting;
34cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
35cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    final int type;
36cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
37cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    int protectionLevel;
38cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
39cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    PackageParser.Permission perm;
40cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
41cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    PermissionInfo pendingInfo;
42cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
43cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    int uid;
44cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
45cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    int[] gids;
46cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
47cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    BasePermission(String _name, String _sourcePackage, int _type) {
48cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        name = _name;
49cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        sourcePackage = _sourcePackage;
50cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        type = _type;
51cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        // Default to most conservative protection level.
52cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        protectionLevel = PermissionInfo.PROTECTION_SIGNATURE;
53cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
54cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
55cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public String toString() {
56cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return "BasePermission{" + Integer.toHexString(System.identityHashCode(this)) + " " + name
57cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root                + "}";
58cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
59cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root}
60