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 istream_operator.h
18 *
19 * @brief Declares APIs for stream operations.
20 *
21 * @since 5.0
22 * @version 1.3
23 */
24
25package ohos.hdi.camera.v1_3;
26
27import ohos.hdi.camera.v1_2.IStreamOperator;
28
29interface IStreamOperator extends ohos.hdi.camera.v1_2.IStreamOperator {
30
31    /**
32     * @brief Enables metadata reporting and other information.
33     *
34     * Only metadata that is enabled can be reported by using {@link OnResult}.
35     *
36     * @param results Indicates the metadata and other information for which reporting are to be enabled.
37     * @param streamId Indicates the ID of the stream to enable metadata reporting.
38     *
39     * @return Returns <b>NO_ERROR</b> if the operation is successful; returns an error code defined
40     * in {@link CamRetCode} otherwise.
41     *
42     * @since 5.0
43     * @version 1.0
44     */
45    EnableResult([in] int streamId, [in] unsigned char[] results);
46
47    /**
48     * @brief Disable metadata reporting and other information.
49     *
50     * After metadata reporting is disabled, the metadata is not reported by calling {@link OnResult}.
51     * To enable metadata reporting, you must call {@link EnableResult}.
52     *
53     * @param results Indicates the metadata and other information for which reporting are to be disabled.
54     * @param streamId Indicates the ID of the stream to disable metadata reporting.
55     *
56     * @return Returns <b>NO_ERROR</b> if the operation is successful; returns an error code defined
57     * in {@link CamRetCode} otherwise.
58     *
59     * @since 5.0
60     * @version 1.0
61     */
62    DisableResult([in] int streamId, [in] unsigned char[] results);
63}