10825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/*
20825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Copyright (C) 2006 The Android Open Source Project
30825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
40825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Licensed under the Apache License, Version 2.0 (the "License");
50825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * you may not use this file except in compliance with the License.
60825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * You may obtain a copy of the License at
70825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
80825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *      http://www.apache.org/licenses/LICENSE-2.0
90825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville *
100825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * Unless required by applicable law or agreed to in writing, software
110825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * distributed under the License is distributed on an "AS IS" BASIS,
120825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
130825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * See the License for the specific language governing permissions and
140825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * limitations under the License.
150825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
160825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
170825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepackage com.android.internal.telephony;
180825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
190825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville/**
200825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville * {@hide}
210825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville */
220825495a331bb44df395a0cdb79fab85e68db5d5Wink Savillepublic interface MmiCode
230825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville{
240825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville	/**
250825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville	 * {@hide}
260825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville	 */
270825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public enum State {
280825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        PENDING,
290825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        CANCELLED,
300825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        COMPLETE,
310825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville        FAILED
320825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    }
330825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
340825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
350825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
360825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return Current state of MmiCode request
370825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
380825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public State getState();
390825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
400825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
410825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return Localized message for UI display, valid only in COMPLETE
420825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * or FAILED states. null otherwise
430825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
440825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
450825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public CharSequence getMessage();
460825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
470825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
480825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * Cancels pending MMI request.
490825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * State becomes CANCELLED unless already COMPLETE or FAILED
500825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
510825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public void cancel();
520825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
530825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
540825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return true if the network response is a REQUEST for more user input.
550825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
560825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public boolean isUssdRequest();
570825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville
580825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    /**
590825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     * @return true if an outstanding request can be canceled.
600825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville     */
610825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville    public boolean isCancelable();
620825495a331bb44df395a0cdb79fab85e68db5d5Wink Saville}
63