/* * 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. */ sequenceable active_info..OHOS.Sensors.ActiveInfo; sequenceable OHOS.IRemoteObject; sequenceable sensor..OHOS.Sensors.Sensor; sequenceable sensor..OHOS.Sensors.SensorDescriptionIPC; interface OHOS.Sensors.ISensorService { void EnableSensor([in] struct SensorDescriptionIPC sensorDesc, [in] long samplingPeriodNs, [in] long maxReportDelayNs); void DisableSensor([in] struct SensorDescriptionIPC sensorDesc); void GetSensorList([out] Sensor[] sensorList); void GetSensorListByDevice([in] int deviceId, [out] Sensor[] singleDevSensors); void TransferDataChannel([in] FileDescriptor sendFd, [in] IRemoteObject sensorClient); void DestroySensorChannel([in] IRemoteObject sensorClient); void SuspendSensors([in] int pid); void ResumeSensors([in] int pid); void GetActiveInfoList([in] int pid, [out] ActiveInfo[] activeInfoList); void CreateSocketChannel([in] IRemoteObject sensorClient, [out] FileDescriptorSan clientFd); void DestroySocketChannel([in] IRemoteObject sensorClient); void EnableActiveInfoCB(); void DisableActiveInfoCB(); void ResetSensors(); void SetDeviceStatus([in] unsigned int deviceStatus); void TransferClientRemoteObject([in] IRemoteObject sensorClient); void DestroyClientRemoteObject([in] IRemoteObject sensorClient); }