/*
* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package OHOS.CameraStandard;
import CameraTypes;
import ICameraDeviceServiceCallback;
sequenceable CameraMetadataInfo..OHOS.Camera.CameraMetadata;
option_stub_hooks on;
interface ICameraDeviceService {
[ipccode 0] void Open();
[ipccode 1] void Close();
[ipccode 2] void Release();
[ipccode 3] void SetCallback([in] ICameraDeviceServiceCallback callbackFunc);
[ipccode 4] void UpdateSetting([in] sharedptr<CameraMetadata> settings);
[ipccode 5] void GetEnabledResults([out] int[] results);
[ipccode 6] void EnableResult([in] int[] results);
[ipccode 7] void DisableResult([in] int[] results);
[ipccode 8] void GetStatus([in] sharedptr<CameraMetadata> metaIn, [out] sharedptr<CameraMetadata> metaOut);
[ipccode 9] void SetUsedAsPosition([in] unsigned char value);
[ipccode 10] void closeDelayed();
[ipccode 11] void UnSetCallback();
[ipccode 12] void Open([in] int concurrentTypeofcamera);
[ipccode 13] void SetDeviceRetryTime();
[ipccode 14] void OpenSecureCamera([out] unsigned long secureSeqId);
[ipccode 15] void SetUsePhysicalCameraOrientation([in] boolean isUsed);
[ipccode 16] void GetNaturalDirectionCorrect([out] boolean isNaturalDirectionCorrect);
[ipccode 17] void SetMdmCheck([in] boolean mdmCheck);
[ipccode 18] void SetCameraIdTransform([in] String originCameraId);
[ipccode 19] void SetFirstCallerTokenID([in] unsigned int tokenId);
[ipccode 20] void Open([in] CallerDeviceInfo callerInfo);
}