1c5e268c6Sopenharmony_ci/* 2c5e268c6Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 3c5e268c6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c5e268c6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c5e268c6Sopenharmony_ci * You may obtain a copy of the License at 6c5e268c6Sopenharmony_ci * 7c5e268c6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c5e268c6Sopenharmony_ci * 9c5e268c6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c5e268c6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c5e268c6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c5e268c6Sopenharmony_ci * See the License for the specific language governing permissions and 13c5e268c6Sopenharmony_ci * limitations under the License. 14c5e268c6Sopenharmony_ci */ 15c5e268c6Sopenharmony_ci 16c5e268c6Sopenharmony_ci/** 17c5e268c6Sopenharmony_ci * @file iimage_process_session.h 18c5e268c6Sopenharmony_ci * 19c5e268c6Sopenharmony_ci * @brief Declares APIs for image process session. 20c5e268c6Sopenharmony_ci * 21c5e268c6Sopenharmony_ci * @since 4.1 22c5e268c6Sopenharmony_ci * @version 1.2 23c5e268c6Sopenharmony_ci */ 24c5e268c6Sopenharmony_ci 25c5e268c6Sopenharmony_cipackage ohos.hdi.camera.v1_2; 26c5e268c6Sopenharmony_ci 27c5e268c6Sopenharmony_ciimport ohos.hdi.camera.v1_2.Types; 28c5e268c6Sopenharmony_ci 29c5e268c6Sopenharmony_ciinterface IImageProcessSession { 30c5e268c6Sopenharmony_ci /** 31c5e268c6Sopenharmony_ci * @brief Get coucurrency task count of the process session with the spacific post-procession execution mode. 32c5e268c6Sopenharmony_ci * 33c5e268c6Sopenharmony_ci * @param mode Indicates execution mode. 34c5e268c6Sopenharmony_ci * @param taskCount Indicates coucurrency task count. 35c5e268c6Sopenharmony_ci * 36c5e268c6Sopenharmony_ci * @since 4.1 37c5e268c6Sopenharmony_ci * @version 1.2 38c5e268c6Sopenharmony_ci */ 39c5e268c6Sopenharmony_ci GetCoucurrency([in] enum ExecutionMode mode, [out] int taskCount); 40c5e268c6Sopenharmony_ci 41c5e268c6Sopenharmony_ci /** 42c5e268c6Sopenharmony_ci * @brief Get the IDs of the pending images which are unprocessed. 43c5e268c6Sopenharmony_ci * 44c5e268c6Sopenharmony_ci * @param imageIds Indicates the IDs of the pending images. 45c5e268c6Sopenharmony_ci * 46c5e268c6Sopenharmony_ci * @since 4.1 47c5e268c6Sopenharmony_ci * @version 1.2 48c5e268c6Sopenharmony_ci */ 49c5e268c6Sopenharmony_ci GetPendingImages([out] List<String> imageIds); 50c5e268c6Sopenharmony_ci 51c5e268c6Sopenharmony_ci /** 52c5e268c6Sopenharmony_ci * @brief Set the post-procession execution mode. 53c5e268c6Sopenharmony_ci * 54c5e268c6Sopenharmony_ci * @param mode Indicates the execution mode. 55c5e268c6Sopenharmony_ci * 56c5e268c6Sopenharmony_ci * @since 4.1 57c5e268c6Sopenharmony_ci * @version 1.2 58c5e268c6Sopenharmony_ci */ 59c5e268c6Sopenharmony_ci SetExecutionMode([in] ExecutionMode mode); 60c5e268c6Sopenharmony_ci 61c5e268c6Sopenharmony_ci /** 62c5e268c6Sopenharmony_ci * @brief Process the specific image by image ID. 63c5e268c6Sopenharmony_ci * 64c5e268c6Sopenharmony_ci * @param imageId Indicates image ID. 65c5e268c6Sopenharmony_ci * 66c5e268c6Sopenharmony_ci * @since 4.1 67c5e268c6Sopenharmony_ci * @version 1.2 68c5e268c6Sopenharmony_ci */ 69c5e268c6Sopenharmony_ci ProcessImage([in] String imageId); 70c5e268c6Sopenharmony_ci 71c5e268c6Sopenharmony_ci /** 72c5e268c6Sopenharmony_ci * @brief Remove the specific image by image ID. 73c5e268c6Sopenharmony_ci * 74c5e268c6Sopenharmony_ci * @param imageId Indicates image ID. 75c5e268c6Sopenharmony_ci * 76c5e268c6Sopenharmony_ci * @since 4.1 77c5e268c6Sopenharmony_ci * @version 1.2 78c5e268c6Sopenharmony_ci */ 79c5e268c6Sopenharmony_ci RemoveImage([in] String imageId); 80c5e268c6Sopenharmony_ci 81c5e268c6Sopenharmony_ci /** 82c5e268c6Sopenharmony_ci * @brief Interrupt the process session. 83c5e268c6Sopenharmony_ci * 84c5e268c6Sopenharmony_ci * @since 4.1 85c5e268c6Sopenharmony_ci * @version 1.2 86c5e268c6Sopenharmony_ci */ 87c5e268c6Sopenharmony_ci Interrupt(); 88c5e268c6Sopenharmony_ci 89c5e268c6Sopenharmony_ci /** 90c5e268c6Sopenharmony_ci * @brief Reset the process session. 91c5e268c6Sopenharmony_ci * 92c5e268c6Sopenharmony_ci * @since 4.1 93c5e268c6Sopenharmony_ci * @version 1.2 94c5e268c6Sopenharmony_ci */ 95c5e268c6Sopenharmony_ci Reset(); 96c5e268c6Sopenharmony_ci}