• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2024 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/**
17 * @file
18 * @kit InputKit
19 */
20
21/**
22 * Declares the APIs for configuring attributes of the IR emitter.
23 *
24 * @namespace infraredEmitter
25 * @syscap SystemCapability.MultimodalInput.Input.InfraredEmitter
26 * @since 12
27 */
28declare namespace infraredEmitter {
29  /**
30   * Infrared frequency range supported by the IR emitter.
31   *
32   * @interface InfraredFrequency
33   * @syscap SystemCapability.MultimodalInput.Input.InfraredEmitter
34   * @systemapi hide for inner use
35   * @since 12
36   */
37  interface InfraredFrequency {
38    /**
39     * Maximum frequency.
40     *
41     * @type { number }
42     * @syscap SystemCapability.MultimodalInput.Input.InfraredEmitter
43     * @systemapi hide for inner use
44     * @since 12
45     */
46    max: number;
47
48    /**
49     * Minimum frequency.
50     *
51     * @type { number }
52     * @syscap SystemCapability.MultimodalInput.Input.InfraredEmitter
53     * @systemapi hide for inner use
54     * @since 12
55     */
56    min: number;
57  }
58
59  /**
60   * Transmitted IR signal.
61   *
62   * @permission ohos.permission.MANAGE_INPUT_INFRARED_EMITTER
63   * @param { number} infraredFrequency - IR infrared frequency, in Hz.
64   * @param { Array<number>} pattern - Pattern of signal transmission in alternate on/off mode, in microseconds.
65   * @throws { BusinessError } 201 - Permission denied.
66   * @throws { BusinessError } 202 - Not system application.
67   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
68   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
69   * @syscap SystemCapability.MultimodalInput.Input.InfraredEmitter
70   * @systemapi hide for inner use
71   * @since 12
72   */
73  function transmitInfrared(infraredFrequency: number, pattern: Array<number>): void;
74
75  /**
76   * Obtains the infrared frequency supported by the IR emitter.
77   *
78   * @permission ohos.permission.MANAGE_INPUT_INFRARED_EMITTER
79   * @returns { Array<InfraredFrequency> } The return value is an array of InfraredFrequency objects, indicating the infrared frequency ranges supported by the IR emitter.
80   * @throws { BusinessError } 201 - Permission denied.
81   * @throws { BusinessError } 202 - Not system application.
82   * @syscap SystemCapability.MultimodalInput.Input.InfraredEmitter
83   * @systemapi hide for inner use
84   * @since 12
85   */
86  function getInfraredFrequencies(): Array<InfraredFrequency>;
87}
88
89export default infraredEmitter;
90