19d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman/* 29d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * Copyright 2014 The Android Open Source Project 39d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * 49d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * Licensed under the Apache License, Version 2.0 (the "License"); 59d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * you may not use this file except in compliance with the License. 69d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * You may obtain a copy of the License at 79d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * 89d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * http://www.apache.org/licenses/LICENSE-2.0 99d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * 109d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * Unless required by applicable law or agreed to in writing, software 119d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * distributed under the License is distributed on an "AS IS" BASIS, 129d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * See the License for the specific language governing permissions and 149d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman * limitations under the License. 159d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman */ 169d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman 179d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashmanpackage com.android.server.pm; 189d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman 199d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashmanimport android.os.Binder; 209d2f441f9bb2c8dcac1150e2cba1d15a86a4efb1dcashman 218c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashmanclass KeySetHandle extends Binder{ 228c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman private final long mId; 238c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman private int mRefCount; 248c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 258c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman protected KeySetHandle(long id) { 268c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mId = id; 278c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mRefCount = 1; 288c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 298c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 308c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman /* 318c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman * Only used when reading state from packages.xml 328c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman */ 338c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman protected KeySetHandle(long id, int refCount) { 348c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mId = id; 358c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mRefCount = refCount; 368c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 378c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 388c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman public long getId() { 398c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman return mId; 408c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 418c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 428c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman protected int getRefCountLPr() { 438c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman return mRefCount; 448c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 458c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 468c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman /* 478c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman * Only used when reading state from packages.xml 488c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman */ 498c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman protected void setRefCountLPw(int newCount) { 508c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mRefCount = newCount; 518c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman return; 528c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 538c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 548c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman protected void incrRefCountLPw() { 558c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mRefCount++; 568c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman return; 578c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 588c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman 598c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman protected int decrRefCountLPw() { 608c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman mRefCount--; 618c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman return mRefCount; 628c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman } 638c04facdf5e76fb34c55cfe3dc9a0216322b91b8dcashman} 64