13fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff/*
23fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * Copyright (C) 2011 The Android Open Source Project
33fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff *
43fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * Licensed under the Apache License, Version 2.0 (the "License");
53fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * you may not use this file except in compliance with the License.
63fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * You may obtain a copy of the License at
73fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff *
83fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff *      http://www.apache.org/licenses/LICENSE-2.0
93fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff *
103fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * Unless required by applicable law or agreed to in writing, software
113fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * distributed under the License is distributed on an "AS IS" BASIS,
123fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * See the License for the specific language governing permissions and
143fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * limitations under the License.
153fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff */
163fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff
173fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriffpackage com.android.internal.util;
183fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff
193fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff/**
203fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * This class defines Message.what base addresses for various protocols that are recognized
213fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * to be unique by any {@link com.android.internal.util.Statemachine} implementation. This
223fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * allows for interaction between different StateMachine implementations without a conflict
233fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * of message codes.
243fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff *
253fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * As an example, all messages in {@link android.net.wifi.WifiStateMachine} will have message
263fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * codes with Message.what starting at Protocol.WIFI + 1 and less than or equal to Protocol.WIFI +
273fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * Protocol.MAX_MESSAGE
283fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff *
298735a07a64b8891998402ac0e16d142399ecceafWink Saville * NOTE: After a value is created and source released a value shouldn't be changed to
308735a07a64b8891998402ac0e16d142399ecceafWink Saville * maintain backwards compatibility.
318735a07a64b8891998402ac0e16d142399ecceafWink Saville *
323fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff * {@hide}
333fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff */
343fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriffpublic class Protocol {
350246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    public static final int MAX_MESSAGE                                             = 0x0000FFFF;
360246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville
370246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    /** Base reserved for system */
380246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    public static final int BASE_SYSTEM_RESERVED                                    = 0x00010000;
390246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    public static final int BASE_SYSTEM_ASYNC_CHANNEL                               = 0x00011000;
400246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville
410246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    /** Non system protocols */
420246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    public static final int BASE_WIFI                                               = 0x00020000;
43654f5090754e4e1bf4c1736d0a24769a15a6037eIsaac Levy    public static final int BASE_WIFI_WATCHDOG                                      = 0x00021000;
4455bc5f3e0408bcb5a39a6732de0b2d1aa99a55berepo sync    public static final int BASE_WIFI_P2P_MANAGER                                   = 0x00022000;
4555bc5f3e0408bcb5a39a6732de0b2d1aa99a55berepo sync    public static final int BASE_WIFI_P2P_SERVICE                                   = 0x00023000;
4655bc5f3e0408bcb5a39a6732de0b2d1aa99a55berepo sync    public static final int BASE_WIFI_MONITOR                                       = 0x00024000;
47d3975a917799b85cacaf382b65c5832813066b51Irfan Sheriff    public static final int BASE_WIFI_MANAGER                                       = 0x00025000;
4811aefad94de6569c4c7394e7bc5fdeb0ae60d5bbIrfan Sheriff    public static final int BASE_WIFI_CONTROLLER                                    = 0x00026000;
49011e1b35a64180d6f0234af8a3c2b70777eb9f39Vinit Deshapnde    public static final int BASE_WIFI_SCANNER                                       = 0x00027000;
50011e1b35a64180d6f0234af8a3c2b70777eb9f39Vinit Deshapnde    public static final int BASE_WIFI_SCANNER_SERVICE                               = 0x00027100;
51c4272f32aec68ae2377141a2d6d4e6059fb36714Vinit Deshpande    public static final int BASE_WIFI_RTT_MANAGER                                   = 0x00027200;
52c4272f32aec68ae2377141a2d6d4e6059fb36714Vinit Deshpande    public static final int BASE_WIFI_RTT_SERVICE                                   = 0x00027300;
53a4864472313208e4f1de02f45d3eadad237c54afYuhao Zheng    public static final int BASE_WIFI_PASSPOINT_MANAGER                             = 0x00028000;
54a4864472313208e4f1de02f45d3eadad237c54afYuhao Zheng    public static final int BASE_WIFI_PASSPOINT_SERVICE                             = 0x00028100;
550246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    public static final int BASE_DHCP                                               = 0x00030000;
560246bbc8d7b646a2344d04d5af41580fa9e17a98Wink Saville    public static final int BASE_DATA_CONNECTION                                    = 0x00040000;
570b80114a2d80c359a1b462c388247995ef653c00Wink Saville    public static final int BASE_DATA_CONNECTION_AC                                 = 0x00041000;
588735a07a64b8891998402ac0e16d142399ecceafWink Saville    public static final int BASE_DATA_CONNECTION_TRACKER                            = 0x00042000;
59d2fe04b71a89a0608eb7c67065dead2a1f540122Isaac Levy    public static final int BASE_DNS_PINGER                                         = 0x00050000;
607d024d372431effc87168afdc7cbe387680c4935Irfan Sheriff    public static final int BASE_NSD_MANAGER                                        = 0x00060000;
61665e1aed5e99af1e66af56c0d73e32fd86f57273Robert Greenwalt    public static final int BASE_NETWORK_STATE_TRACKER                              = 0x00070000;
623192dec32180f56733e631c2d9ec62fa1359283dRobert Greenwalt    public static final int BASE_CONNECTIVITY_MANAGER                               = 0x00080000;
637b81602f3c18df8a4ca0342c514af8f7e394c0d7Robert Greenwalt    public static final int BASE_NETWORK_AGENT                                      = 0x00081000;
64ca8f16ad14819ba17f5ff3d2e2bf6fbc9bbaa9f7Paul Jensen    public static final int BASE_NETWORK_MONITOR                                    = 0x00082000;
653192dec32180f56733e631c2d9ec62fa1359283dRobert Greenwalt    public static final int BASE_NETWORK_FACTORY                                    = 0x00083000;
663fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff    //TODO: define all used protocols
673fc75e9267a585101a06edc13d141b58efb9691fIrfan Sheriff}
68