121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger/*
221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Copyright (c) 2013 The Android Open Source Project
321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger *
421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Licensed under the Apache License, Version 2.0 (the "License");
521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * you may not use this file except in compliance with the License.
621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * You may obtain a copy of the License at
721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger *
821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger *      http://www.apache.org/licenses/LICENSE-2.0
921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger *
1021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * Unless required by applicable law or agreed to in writing, software
1121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * distributed under the License is distributed on an "AS IS" BASIS,
1221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * See the License for the specific language governing permissions and
1421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * limitations under the License.
1521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger */
1621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
1721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebingerpackage com.android.ims;
1821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
1921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger/**
2021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * This class defines a general IMS-related exception.
2121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger *
2221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger * @hide
2321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger */
2421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebingerpublic class ImsException extends Exception {
2521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
2621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    /**
2721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger     * Refer to CODE_LOCAL_* in {@link ImsReasonInfo}
2821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger     */
2921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    private int mCode;
3021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
3121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    public ImsException() {
3221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    }
3321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
3421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    public ImsException(String message, int code) {
3521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger        super(message + ", code = " + code);
3621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger        mCode = code;
3721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    }
3821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
3921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    public ImsException(String message, Throwable cause, int code) {
4021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger        super(message, cause);
4121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger        mCode = code;
4221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    }
4321013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger
4421013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    /**
4521013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger     * Gets the detailed exception code when ImsException is throwed
4621013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger     *
4721013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger     * @return the exception code in {@link ImsReasonInfo}
4821013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger     */
4921013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    public int getCode() {
5021013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger        return mCode;
5121013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger    }
5221013dcf1b1c0c740efba863b6b4962fe3da9095Brad Ebinger}
53