Home | History | Annotate | Download | only in util
      1 /*
      2  * Copyright (C) 2011 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.internal.util;
     18 
     19 /**
     20  * This class defines Message.what base addresses for various protocols that are recognized
     21  * to be unique by any {@link com.android.internal.util.Statemachine} implementation. This
     22  * allows for interaction between different StateMachine implementations without a conflict
     23  * of message codes.
     24  *
     25  * As an example, all messages in {@link android.net.wifi.WifiStateMachine} will have message
     26  * codes with Message.what starting at Protocol.WIFI + 1 and less than or equal to Protocol.WIFI +
     27  * Protocol.MAX_MESSAGE
     28  *
     29  * NOTE: After a value is created and source released a value shouldn't be changed to
     30  * maintain backwards compatibility.
     31  *
     32  * {@hide}
     33  */
     34 public class Protocol {
     35     public static final int MAX_MESSAGE                                             = 0x0000FFFF;
     36 
     37     /** Base reserved for system */
     38     public static final int BASE_SYSTEM_RESERVED                                    = 0x00010000;
     39     public static final int BASE_SYSTEM_ASYNC_CHANNEL                               = 0x00011000;
     40 
     41     /** Non system protocols */
     42     public static final int BASE_WIFI                                               = 0x00020000;
     43     public static final int BASE_WIFI_WATCHDOG                                      = 0x00021000;
     44     public static final int BASE_WIFI_P2P_MANAGER                                   = 0x00022000;
     45     public static final int BASE_WIFI_P2P_SERVICE                                   = 0x00023000;
     46     public static final int BASE_WIFI_MONITOR                                       = 0x00024000;
     47     public static final int BASE_WIFI_MANAGER                                       = 0x00025000;
     48     public static final int BASE_WIFI_CONTROLLER                                    = 0x00026000;
     49     public static final int BASE_DHCP                                               = 0x00030000;
     50     public static final int BASE_DATA_CONNECTION                                    = 0x00040000;
     51     public static final int BASE_DATA_CONNECTION_AC                                 = 0x00041000;
     52     public static final int BASE_DATA_CONNECTION_TRACKER                            = 0x00042000;
     53     public static final int BASE_DNS_PINGER                                         = 0x00050000;
     54     public static final int BASE_NSD_MANAGER                                        = 0x00060000;
     55     public static final int BASE_NETWORK_STATE_TRACKER                              = 0x00070000;
     56     //TODO: define all used protocols
     57 }
     58