12d43be4eSopenharmony_ci/*
22d43be4eSopenharmony_ci * Copyright (C) 2021-2023 Huawei Device Co., Ltd.
32d43be4eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
42d43be4eSopenharmony_ci * you may not use this file except in compliance with the License.
52d43be4eSopenharmony_ci * You may obtain a copy of the License at
62d43be4eSopenharmony_ci *
72d43be4eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
82d43be4eSopenharmony_ci *
92d43be4eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
102d43be4eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
112d43be4eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
122d43be4eSopenharmony_ci * See the License for the specific language governing permissions and
132d43be4eSopenharmony_ci * limitations under the License.
142d43be4eSopenharmony_ci */
152d43be4eSopenharmony_ci
162d43be4eSopenharmony_ci/**
172d43be4eSopenharmony_ci * @file
182d43be4eSopenharmony_ci * @kit TelephonyKit
192d43be4eSopenharmony_ci */
202d43be4eSopenharmony_ci
212d43be4eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base';
222d43be4eSopenharmony_ci
232d43be4eSopenharmony_ci/**
242d43be4eSopenharmony_ci * Provides methods related to cellular data services.
252d43be4eSopenharmony_ci *
262d43be4eSopenharmony_ci * @namespace data
272d43be4eSopenharmony_ci * @syscap SystemCapability.Telephony.CellularData
282d43be4eSopenharmony_ci * @since 7
292d43be4eSopenharmony_ci */
302d43be4eSopenharmony_cideclare namespace data {
312d43be4eSopenharmony_ci  /**
322d43be4eSopenharmony_ci   * Get the default cellular data card.
332d43be4eSopenharmony_ci   *
342d43be4eSopenharmony_ci   * @param { AsyncCallback<number> } callback - Indicates the default cellular data slot id.
352d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
362d43be4eSopenharmony_ci   * @since 7
372d43be4eSopenharmony_ci   */
382d43be4eSopenharmony_ci  function getDefaultCellularDataSlotId(callback: AsyncCallback<number>): void;
392d43be4eSopenharmony_ci
402d43be4eSopenharmony_ci  /**
412d43be4eSopenharmony_ci   * Get the default cellular data card.
422d43be4eSopenharmony_ci   *
432d43be4eSopenharmony_ci   * @returns { Promise<number> } Returns the default cellular data slot id.
442d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
452d43be4eSopenharmony_ci   * @since 7
462d43be4eSopenharmony_ci   */
472d43be4eSopenharmony_ci  function getDefaultCellularDataSlotId(): Promise<number>;
482d43be4eSopenharmony_ci
492d43be4eSopenharmony_ci  /**
502d43be4eSopenharmony_ci   * Get the default cellular data card.
512d43be4eSopenharmony_ci   *
522d43be4eSopenharmony_ci   * @returns { number } Returns default cellular data slot id.
532d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
542d43be4eSopenharmony_ci   * @since 9
552d43be4eSopenharmony_ci   */
562d43be4eSopenharmony_ci  function getDefaultCellularDataSlotIdSync(): number;
572d43be4eSopenharmony_ci
582d43be4eSopenharmony_ci  /**
592d43be4eSopenharmony_ci   * Switch cellular data services to another card, without changing the default settings.
602d43be4eSopenharmony_ci   *
612d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
622d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of the target card slot.
632d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
642d43be4eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of setDefaultCellularDataSlotId.
652d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
662d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
672d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
682d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
692d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
702d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
712d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
722d43be4eSopenharmony_ci   * @throws { BusinessError } 8300004 - Do not have sim card.
732d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
742d43be4eSopenharmony_ci   * @throws { BusinessError } 8301001 - SIM card is not activated.
752d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
762d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
772d43be4eSopenharmony_ci   * @since 7
782d43be4eSopenharmony_ci   */
792d43be4eSopenharmony_ci  function setDefaultCellularDataSlotId(slotId: number, callback: AsyncCallback<void>): void;
802d43be4eSopenharmony_ci
812d43be4eSopenharmony_ci  /**
822d43be4eSopenharmony_ci   * Switch cellular data services to another card, without changing the default settings.
832d43be4eSopenharmony_ci   *
842d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
852d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of the target card slot.
862d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
872d43be4eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the setDefaultCellularDataSlotId.
882d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
892d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
902d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
912d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
922d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
932d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
942d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
952d43be4eSopenharmony_ci   * @throws { BusinessError } 8300004 - Do not have sim card.
962d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
972d43be4eSopenharmony_ci   * @throws { BusinessError } 8301001 - SIM card is not activated.
982d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
992d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
1002d43be4eSopenharmony_ci   * @since 7
1012d43be4eSopenharmony_ci   */
1022d43be4eSopenharmony_ci  function setDefaultCellularDataSlotId(slotId: number): Promise<void>;
1032d43be4eSopenharmony_ci
1042d43be4eSopenharmony_ci  /**
1052d43be4eSopenharmony_ci   * Indicates that there is no uplink or downlink data.
1062d43be4eSopenharmony_ci   *
1072d43be4eSopenharmony_ci   * <p>It is a return value of service state query of cellular data services.
1082d43be4eSopenharmony_ci   * @param { AsyncCallback<DataFlowType> } callback - Indicates the data flow type.
1092d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
1102d43be4eSopenharmony_ci   * @since 7
1112d43be4eSopenharmony_ci   */
1122d43be4eSopenharmony_ci  function getCellularDataFlowType(callback: AsyncCallback<DataFlowType>): void;
1132d43be4eSopenharmony_ci
1142d43be4eSopenharmony_ci  /**
1152d43be4eSopenharmony_ci   * Indicates that there is no uplink or downlink data.
1162d43be4eSopenharmony_ci   *
1172d43be4eSopenharmony_ci   * <p>It is a return value of service state query of cellular data services.
1182d43be4eSopenharmony_ci   * @returns { Promise<DataFlowType> } Returns the data flow type.
1192d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
1202d43be4eSopenharmony_ci   * @since 7
1212d43be4eSopenharmony_ci   */
1222d43be4eSopenharmony_ci  function getCellularDataFlowType(): Promise<DataFlowType>;
1232d43be4eSopenharmony_ci
1242d43be4eSopenharmony_ci  /**
1252d43be4eSopenharmony_ci   * Obtain the connection state of the PS domain.
1262d43be4eSopenharmony_ci   *
1272d43be4eSopenharmony_ci   * @param { AsyncCallback<DataConnectState> } callback - Indicates the callback for getting the connection state,
1282d43be4eSopenharmony_ci   * which can be any of the following:
1292d43be4eSopenharmony_ci   * <ul>
1302d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_UNKNOWN}
1312d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_DISCONNECTED}
1322d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_CONNECTING}
1332d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_CONNECTED}
1342d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_SUSPENDED}
1352d43be4eSopenharmony_ci   * </ul>
1362d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
1372d43be4eSopenharmony_ci   * @since 7
1382d43be4eSopenharmony_ci   */
1392d43be4eSopenharmony_ci  function getCellularDataState(callback: AsyncCallback<DataConnectState>): void;
1402d43be4eSopenharmony_ci
1412d43be4eSopenharmony_ci  /**
1422d43be4eSopenharmony_ci   * Obtain the connection state of the PS domain.
1432d43be4eSopenharmony_ci   *
1442d43be4eSopenharmony_ci   * @returns { Promise<DataConnectState> } Returns the connection state, which can be any of the following:
1452d43be4eSopenharmony_ci   * <ul>
1462d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_UNKNOWN}
1472d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_DISCONNECTED}
1482d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_CONNECTING}
1492d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_CONNECTED}
1502d43be4eSopenharmony_ci   * <li>{@code DataConnectState#DATA_STATE_SUSPENDED}
1512d43be4eSopenharmony_ci   * </ul>
1522d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
1532d43be4eSopenharmony_ci   * @since 7
1542d43be4eSopenharmony_ci   */
1552d43be4eSopenharmony_ci  function getCellularDataState(): Promise<DataConnectState>;
1562d43be4eSopenharmony_ci
1572d43be4eSopenharmony_ci  /**
1582d43be4eSopenharmony_ci   * Check whether cellular data services are enabled.
1592d43be4eSopenharmony_ci   *
1602d43be4eSopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
1612d43be4eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Indicates the callback for checking whether cellular data services
1622d43be4eSopenharmony_ci   * are enabled. Returns {@code true} if cellular data services are enabled; returns {@code false} otherwise.
1632d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
1642d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1652d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
1662d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
1672d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1682d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
1692d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
1702d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
1712d43be4eSopenharmony_ci   * @since 7
1722d43be4eSopenharmony_ci   */
1732d43be4eSopenharmony_ci  function isCellularDataEnabled(callback: AsyncCallback<boolean>): void;
1742d43be4eSopenharmony_ci
1752d43be4eSopenharmony_ci  /**
1762d43be4eSopenharmony_ci   * Check whether cellular data services are enabled.
1772d43be4eSopenharmony_ci   *
1782d43be4eSopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
1792d43be4eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if cellular data services are enabled.
1802d43be4eSopenharmony_ci   * Returns {@code false} otherwise.
1812d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
1822d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
1832d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
1842d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
1852d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
1862d43be4eSopenharmony_ci   * @since 7
1872d43be4eSopenharmony_ci   */
1882d43be4eSopenharmony_ci  function isCellularDataEnabled(): Promise<boolean>;
1892d43be4eSopenharmony_ci
1902d43be4eSopenharmony_ci  /**
1912d43be4eSopenharmony_ci   * Enable cellular data services.
1922d43be4eSopenharmony_ci   *
1932d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
1942d43be4eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of enableCellularData.
1952d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
1962d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
1972d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
1982d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
1992d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2002d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2012d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2022d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2032d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
2042d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
2052d43be4eSopenharmony_ci   * @since 7
2062d43be4eSopenharmony_ci   */
2072d43be4eSopenharmony_ci  function enableCellularData(callback: AsyncCallback<void>): void;
2082d43be4eSopenharmony_ci
2092d43be4eSopenharmony_ci  /**
2102d43be4eSopenharmony_ci   * Enable cellular data services.
2112d43be4eSopenharmony_ci   *
2122d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
2132d43be4eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the enableCellularData.
2142d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2152d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2162d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2172d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2182d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2192d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
2202d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
2212d43be4eSopenharmony_ci   * @since 7
2222d43be4eSopenharmony_ci   */
2232d43be4eSopenharmony_ci  function enableCellularData(): Promise<void>;
2242d43be4eSopenharmony_ci
2252d43be4eSopenharmony_ci  /**
2262d43be4eSopenharmony_ci   * Disable cellular data services.
2272d43be4eSopenharmony_ci   *
2282d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
2292d43be4eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of disableCellularData.
2302d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2312d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2322d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
2332d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
2342d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2352d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2362d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2372d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2382d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
2392d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
2402d43be4eSopenharmony_ci   * @since 7
2412d43be4eSopenharmony_ci   */
2422d43be4eSopenharmony_ci  function disableCellularData(callback: AsyncCallback<void>): void;
2432d43be4eSopenharmony_ci
2442d43be4eSopenharmony_ci  /**
2452d43be4eSopenharmony_ci   * Disable cellular data services.
2462d43be4eSopenharmony_ci   *
2472d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
2482d43be4eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the disableCellularData.
2492d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2502d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
2512d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2522d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2532d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2542d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
2552d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
2562d43be4eSopenharmony_ci   * @since 7
2572d43be4eSopenharmony_ci   */
2582d43be4eSopenharmony_ci  function disableCellularData(): Promise<void>;
2592d43be4eSopenharmony_ci
2602d43be4eSopenharmony_ci  /**
2612d43be4eSopenharmony_ci   * Check whether roaming is enabled for cellular data services.
2622d43be4eSopenharmony_ci   *
2632d43be4eSopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
2642d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of a card slot.
2652d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
2662d43be4eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - Indicates the callback for checking whether roaming is enabled
2672d43be4eSopenharmony_ci   * for cellular data services. Returns {@code true} if roaming is enabled for cellular data services;
2682d43be4eSopenharmony_ci   * returns {@code false} otherwise.
2692d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2702d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
2712d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
2722d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2732d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2742d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2752d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2762d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
2772d43be4eSopenharmony_ci   * @since 7
2782d43be4eSopenharmony_ci   */
2792d43be4eSopenharmony_ci  function isCellularDataRoamingEnabled(slotId: number, callback: AsyncCallback<boolean>): void;
2802d43be4eSopenharmony_ci
2812d43be4eSopenharmony_ci  /**
2822d43be4eSopenharmony_ci   * Check whether roaming is enabled for cellular data services.
2832d43be4eSopenharmony_ci   *
2842d43be4eSopenharmony_ci   * @permission ohos.permission.GET_NETWORK_INFO
2852d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of a card slot.
2862d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
2872d43be4eSopenharmony_ci   * @returns { Promise<boolean> } Returns {@code true} if roaming is enabled for cellular data services.
2882d43be4eSopenharmony_ci   * Returns {@code false} otherwise.
2892d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
2902d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
2912d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
2922d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
2932d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
2942d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
2952d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
2962d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
2972d43be4eSopenharmony_ci   * @since 7
2982d43be4eSopenharmony_ci   */
2992d43be4eSopenharmony_ci  function isCellularDataRoamingEnabled(slotId: number): Promise<boolean>;
3002d43be4eSopenharmony_ci
3012d43be4eSopenharmony_ci  /**
3022d43be4eSopenharmony_ci   * Enable cellular data roaming.
3032d43be4eSopenharmony_ci   *
3042d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
3052d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of a card slot.
3062d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
3072d43be4eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of enableCellularDataRoaming.
3082d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
3092d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
3102d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
3112d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
3122d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3132d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3142d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3152d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3162d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
3172d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
3182d43be4eSopenharmony_ci   * @since 7
3192d43be4eSopenharmony_ci   */
3202d43be4eSopenharmony_ci  function enableCellularDataRoaming(slotId: number, callback: AsyncCallback<void>): void;
3212d43be4eSopenharmony_ci
3222d43be4eSopenharmony_ci  /**
3232d43be4eSopenharmony_ci   * Enable cellular data roaming.
3242d43be4eSopenharmony_ci   *
3252d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
3262d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of a card slot.
3272d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
3282d43be4eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the enableCellularDataRoaming.
3292d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
3302d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
3312d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
3322d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
3332d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3342d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3352d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3362d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3372d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
3382d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
3392d43be4eSopenharmony_ci   * @since 7
3402d43be4eSopenharmony_ci   */
3412d43be4eSopenharmony_ci  function enableCellularDataRoaming(slotId: number): Promise<void>;
3422d43be4eSopenharmony_ci
3432d43be4eSopenharmony_ci  /**
3442d43be4eSopenharmony_ci   * Disable cellular data roaming.
3452d43be4eSopenharmony_ci   *
3462d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
3472d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of a card slot.
3482d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
3492d43be4eSopenharmony_ci   * @param { AsyncCallback<void> } callback - The callback of disableCellularDataRoaming.
3502d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
3512d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
3522d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
3532d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
3542d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3552d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3562d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3572d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3582d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
3592d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
3602d43be4eSopenharmony_ci   * @since 7
3612d43be4eSopenharmony_ci   */
3622d43be4eSopenharmony_ci  function disableCellularDataRoaming(slotId: number, callback: AsyncCallback<void>): void;
3632d43be4eSopenharmony_ci
3642d43be4eSopenharmony_ci  /**
3652d43be4eSopenharmony_ci   * Disable cellular data roaming.
3662d43be4eSopenharmony_ci   *
3672d43be4eSopenharmony_ci   * @permission ohos.permission.SET_TELEPHONY_STATE
3682d43be4eSopenharmony_ci   * @param { number } slotId - Indicates the ID of a card slot.
3692d43be4eSopenharmony_ci   * The value {@code 0} indicates card 1, and the value {@code 1} indicates card 2.
3702d43be4eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the disableCellularDataRoaming.
3712d43be4eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
3722d43be4eSopenharmony_ci   * @throws { BusinessError } 202 - Non-system applications use system APIs.
3732d43be4eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.
3742d43be4eSopenharmony_ci   * 2. Incorrect parameter types.
3752d43be4eSopenharmony_ci   * @throws { BusinessError } 8300001 - Invalid parameter value.
3762d43be4eSopenharmony_ci   * @throws { BusinessError } 8300002 - Operation failed. Cannot connect to service.
3772d43be4eSopenharmony_ci   * @throws { BusinessError } 8300003 - System internal error.
3782d43be4eSopenharmony_ci   * @throws { BusinessError } 8300999 - Unknown error code.
3792d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
3802d43be4eSopenharmony_ci   * @systemapi Hide this for inner system use.
3812d43be4eSopenharmony_ci   * @since 7
3822d43be4eSopenharmony_ci   */
3832d43be4eSopenharmony_ci  function disableCellularDataRoaming(slotId: number): Promise<void>;
3842d43be4eSopenharmony_ci
3852d43be4eSopenharmony_ci  /**
3862d43be4eSopenharmony_ci   * Obtains the default cellular data SIM ID.
3872d43be4eSopenharmony_ci   *
3882d43be4eSopenharmony_ci   * @returns { number } Returns the SIM ID of the default cellular data sim and SIM ID will increase from 1.
3892d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
3902d43be4eSopenharmony_ci   * @since 10
3912d43be4eSopenharmony_ci   */
3922d43be4eSopenharmony_ci  function getDefaultCellularDataSimId(): number;
3932d43be4eSopenharmony_ci
3942d43be4eSopenharmony_ci  /**
3952d43be4eSopenharmony_ci   * Describes the cellular data flow type.
3962d43be4eSopenharmony_ci   *
3972d43be4eSopenharmony_ci   * @enum { number }
3982d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
3992d43be4eSopenharmony_ci   * @since 7
4002d43be4eSopenharmony_ci   */
4012d43be4eSopenharmony_ci  export enum DataFlowType {
4022d43be4eSopenharmony_ci    /**
4032d43be4eSopenharmony_ci     * Indicates that there is no uplink or downlink data.
4042d43be4eSopenharmony_ci     *
4052d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4062d43be4eSopenharmony_ci     * @since 7
4072d43be4eSopenharmony_ci     */
4082d43be4eSopenharmony_ci    DATA_FLOW_TYPE_NONE = 0,
4092d43be4eSopenharmony_ci
4102d43be4eSopenharmony_ci    /**
4112d43be4eSopenharmony_ci     * Indicates that there is only downlink data.
4122d43be4eSopenharmony_ci     *
4132d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4142d43be4eSopenharmony_ci     * @since 7
4152d43be4eSopenharmony_ci     */
4162d43be4eSopenharmony_ci    DATA_FLOW_TYPE_DOWN = 1,
4172d43be4eSopenharmony_ci
4182d43be4eSopenharmony_ci    /**
4192d43be4eSopenharmony_ci     * Indicates that there is only uplink data.
4202d43be4eSopenharmony_ci     *
4212d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4222d43be4eSopenharmony_ci     * @since 7
4232d43be4eSopenharmony_ci     */
4242d43be4eSopenharmony_ci    DATA_FLOW_TYPE_UP = 2,
4252d43be4eSopenharmony_ci
4262d43be4eSopenharmony_ci    /**
4272d43be4eSopenharmony_ci     * Indicates that there is uplink and downlink data.
4282d43be4eSopenharmony_ci     *
4292d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4302d43be4eSopenharmony_ci     * @since 7
4312d43be4eSopenharmony_ci     */
4322d43be4eSopenharmony_ci    DATA_FLOW_TYPE_UP_DOWN = 3,
4332d43be4eSopenharmony_ci
4342d43be4eSopenharmony_ci    /**
4352d43be4eSopenharmony_ci     * Indicates that there is no uplink or downlink data, and the bottom-layer link is in the dormant state.
4362d43be4eSopenharmony_ci     *
4372d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4382d43be4eSopenharmony_ci     * @since 7
4392d43be4eSopenharmony_ci     */
4402d43be4eSopenharmony_ci    DATA_FLOW_TYPE_DORMANT = 4
4412d43be4eSopenharmony_ci  }
4422d43be4eSopenharmony_ci
4432d43be4eSopenharmony_ci  /**
4442d43be4eSopenharmony_ci   * Describes the cellular data link connection state.
4452d43be4eSopenharmony_ci   *
4462d43be4eSopenharmony_ci   * @enum { number }
4472d43be4eSopenharmony_ci   * @syscap SystemCapability.Telephony.CellularData
4482d43be4eSopenharmony_ci   * @since 7
4492d43be4eSopenharmony_ci   */
4502d43be4eSopenharmony_ci  export enum DataConnectState {
4512d43be4eSopenharmony_ci    /**
4522d43be4eSopenharmony_ci     * Indicates that a cellular data link is unknown.
4532d43be4eSopenharmony_ci     *
4542d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4552d43be4eSopenharmony_ci     * @since 7
4562d43be4eSopenharmony_ci     */
4572d43be4eSopenharmony_ci    DATA_STATE_UNKNOWN = -1,
4582d43be4eSopenharmony_ci
4592d43be4eSopenharmony_ci    /**
4602d43be4eSopenharmony_ci     * Indicates that a cellular data link is disconnected.
4612d43be4eSopenharmony_ci     *
4622d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4632d43be4eSopenharmony_ci     * @since 7
4642d43be4eSopenharmony_ci     */
4652d43be4eSopenharmony_ci    DATA_STATE_DISCONNECTED = 0,
4662d43be4eSopenharmony_ci
4672d43be4eSopenharmony_ci    /**
4682d43be4eSopenharmony_ci     * Indicates that a cellular data link is being connected.
4692d43be4eSopenharmony_ci     *
4702d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4712d43be4eSopenharmony_ci     * @since 7
4722d43be4eSopenharmony_ci     */
4732d43be4eSopenharmony_ci    DATA_STATE_CONNECTING = 1,
4742d43be4eSopenharmony_ci
4752d43be4eSopenharmony_ci    /**
4762d43be4eSopenharmony_ci     * Indicates that a cellular data link is connected.
4772d43be4eSopenharmony_ci     *
4782d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4792d43be4eSopenharmony_ci     * @since 7
4802d43be4eSopenharmony_ci     */
4812d43be4eSopenharmony_ci    DATA_STATE_CONNECTED = 2,
4822d43be4eSopenharmony_ci
4832d43be4eSopenharmony_ci    /**
4842d43be4eSopenharmony_ci     * Indicates that a cellular data link is suspended.
4852d43be4eSopenharmony_ci     *
4862d43be4eSopenharmony_ci     * @syscap SystemCapability.Telephony.CellularData
4872d43be4eSopenharmony_ci     * @since 7
4882d43be4eSopenharmony_ci     */
4892d43be4eSopenharmony_ci    DATA_STATE_SUSPENDED = 3
4902d43be4eSopenharmony_ci  }
4912d43be4eSopenharmony_ci}
4922d43be4eSopenharmony_ci
4932d43be4eSopenharmony_ciexport default data;
494