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