1/* 2 * Copyright (c) 2025 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 16sequenceable light_agent_type..LightColor; 17sequenceable light_animation_ipc..OHOS.Sensors.LightAnimationIPC; 18sequenceable light_info_ipc..OHOS.Sensors.LightInfoIPC; 19sequenceable OHOS.IRemoteObject; 20sequenceable raw_file_descriptor..OHOS.Sensors.RawFileDescriptor; 21sequenceable vibrator_infos..OHOS.Sensors.VibrateParameter; 22sequenceable vibrator_infos..OHOS.Sensors.VibratePattern; 23sequenceable vibrator_infos..OHOS.Sensors.VibratorCapacity; 24 25interface OHOS.Sensors.IMiscdeviceService { 26 void Vibrate([in] int vibratorId, [in] int timeOut, [in] int usage, [in] boolean systemUsage); 27 void PlayVibratorEffect([in] int vibratorId, [in] String effect, [in] int loopCount, [in] int usage, [in] boolean systemUsage); 28 void PlayVibratorCustom([in] int vibratorId, [in] FileDescriptor fd, [in] long offset, [in] long length, [in] int usage, [in] boolean systemUsage, [in] VibrateParameter parameter); 29 void StopVibrator([in] int vibratorId); 30 void StopVibratorByMode([in] int vibratorId, [in] String mode); 31 void IsSupportEffect([in] String effect, [out] boolean state); 32 void GetLightList([out] LightInfoIPC[] lightInfoIpcList); 33 void TurnOn([in] int lightId, [in] int singleColor, [in] LightAnimationIPC animation); 34 void TurnOff([in] int lightId); 35 void GetDelayTime([out] int delayTime); 36 void PlayPattern([in] VibratePattern pattern, [in] int usage, [in] boolean systemUsage, [in] VibrateParameter parameter); 37 void TransferClientRemoteObject([in] IRemoteObject vibratorClient); 38 void PlayPrimitiveEffect([in] int vibratorId, [in] String effect, [in] int intensity, [in] int usage, [in] boolean systemUsage, [in] int count); 39 void GetVibratorCapacity([out] VibratorCapacity capacity); 40}