1 /* 2 * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef NETWORKSHARE_STATE_COMMMON_H 17 #define NETWORKSHARE_STATE_COMMMON_H 18 19 #include "net_all_capabilities.h" 20 #include "net_handle.h" 21 #include "net_link_info.h" 22 23 namespace OHOS { 24 namespace NetManagerStandard { 25 constexpr int CMD_NETSHARE_REQUESTED = 1; 26 constexpr int CMD_NETSHARE_UNREQUESTED = 2; 27 constexpr int CMD_INTERFACE_DOWN = 3; 28 constexpr int CMD_IP_FORWARDING_ENABLE_ERROR = 4; 29 constexpr int CMD_IP_FORWARDING_DISABLE_ERROR = 5; 30 constexpr int CMD_START_SHARING_ERROR = 6; 31 constexpr int CMD_STOP_SHARING_ERROR = 7; 32 constexpr int CMD_SET_DNS_FORWARDERS_ERROR = 8; 33 constexpr int CMD_NOTIFY_PREFIX_CONFLICT = 9; 34 constexpr int CMD_NEW_PREFIX_REQUEST = 10; 35 constexpr int CMD_NETSHARE_CONNECTION_CHANGED = 11; 36 constexpr int NETWORKSHARING_SHARING_NO_ERROR = 0; 37 38 // interface sub statemachine has requested 39 constexpr int EVENT_IFACE_SM_STATE_ACTIVE = 20; 40 // interface sub statemachine has unrequested 41 constexpr int EVENT_IFACE_SM_STATE_INACTIVE = 21; 42 constexpr int EVENT_IFACE_UPDATE_LINKPROPERTIES = 22; 43 constexpr int EVENT_UPSTREAM_CALLBACK = 23; 44 // upstream connection change 45 constexpr int CMD_UPSTREAM_CHANGED = 24; 46 // has no valid upstream conn, check again after a delay 47 constexpr int CMD_RETRY_UPSTREAM = 25; 48 // after occur the error and want to clear it 49 constexpr int CMD_CLEAR_ERROR = 26; 50 51 constexpr int SUB_SM_STATE_AVAILABLE = 0; 52 constexpr int SUB_SM_STATE_UNAVAILABLE = 1; 53 constexpr int SUB_SM_STATE_SHARED = 2; 54 55 constexpr int EVENT_UPSTREAM_CALLBACK_ON_CAPABILITIES = 0; 56 constexpr int EVENT_UPSTREAM_CALLBACK_ON_LINKPROPERTIES = 1; 57 constexpr int EVENT_UPSTREAM_CALLBACK_ON_LOST = 2; 58 constexpr int EVENT_UPSTREAM_CALLBACK_DEFAULT_SWITCHED = 3; 59 constexpr int EVENT_UPSTREAM_CALLBACK_DEFAULT_SWITCHED_BY_LOST = 4; 60 constexpr int EVENT_UPSTREAM_CALLBACK_LOCAL_PREFIXES = 5; 61 62 constexpr int32_t CALLBACK_DEFAULT_INTERNET_NETWORK = 1; 63 constexpr int32_t CALLBACK_LISTEN_ALL_NETWORK = 2; 64 constexpr int32_t CALLBACK_MOBILE_REQUEST_NETWORK = 3; 65 66 // delayTime 67 constexpr int32_t HANDLER_DELAY_TIME_MS = 1000; // 1 second 68 constexpr int32_t UPSTREAM_HANDLE_TIME_MS = 10000; // 10 second 69 70 constexpr int32_t PREFIX_LENGTH_16 = 16; 71 constexpr int32_t PREFIX_LENGTH_24 = 24; 72 73 constexpr int32_t SET_IFACE_UP_NULL = -1; 74 constexpr int32_t SET_IFACE_UP_TRUE = 1; 75 constexpr int32_t SET_IFACE_UP_FALSE = 0; 76 77 constexpr int32_t SET_WIFI_DEFAULT_CHANNEL = 6; 78 constexpr int32_t SET_WIFI_MAX_CONNECT = 10; 79 80 constexpr int NO_NEXT_STATE = -1; 81 enum { MAINSTATE_INIT = 1, MAINSTATE_ALIVE, MAINSTATE_ERROR, MAINSTATE_MAX } MainState; 82 83 enum { SUBSTATE_INIT = 11, SUBSTATE_SHARED, SUBSTATE_RESTART, SUBSTATE_UNAVAILABLE, SUBSTATE_MAX } SubState; 84 85 enum class TrafficType { TRAFFIC_RX = 1, TRAFFIC_TX = 2, TRAFFIC_ALL = 3 }; 86 87 struct UpstreamNetworkInfo { 88 sptr<NetHandle> netHandle_; 89 sptr<NetAllCapabilities> netAllCap_; 90 sptr<NetLinkInfo> netLinkPro_; // net link property UpstreamNetworkInfoUpstreamNetworkInfo91 UpstreamNetworkInfo(sptr<NetHandle> &netHandle, sptr<NetAllCapabilities> &netcap, sptr<NetLinkInfo> &netlinkinfo) 92 : netHandle_(netHandle), netAllCap_(netcap), netLinkPro_(netlinkinfo) 93 { 94 } 95 }; 96 } // namespace NetManagerStandard 97 } // namespace OHOS 98 #endif // NETWORKSHARE_STATE_COMMMON_H 99