diff --git a/api/@ohos.distributedHardware.mechanicManager.d.ts b/api/@ohos.distributedHardware.mechanicManager.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3f1a337d49c7b23c283b2db59429c4071a4c2cb3 --- /dev/null +++ b/api/@ohos.distributedHardware.mechanicManager.d.ts @@ -0,0 +1,868 @@ +/* + * 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. + */ + +/** + * @file + * @kit MechanicKit + * @arkts 1.1&1.2 + */ + +import type { Callback } from './@ohos.base'; + +/** + * Provides capabilities for controlling and interacting with mechanical devices connected to this device. + * The capabilities cover connection management, control, and monitoring. + * + * @namespace mechanicManager + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + +declare namespace mechanicManager { + + /** + * Subscribes to device attachment state change events. + * @param { 'attachStateChange' } type Event type. + * @param { Callback } callback Callback used to return the state change. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + function on(type: 'attachStateChange', callback: Callback): void; + + /** + * Unsubscribes from device attachment state change events. + * @param { 'attachStateChange' } type Event type. + * @param { Callback } [callback] Callback used to return the state change. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + function off(type: 'attachStateChange', callback?: Callback): void; + + /** + * Obtain the list of connected mechanical devices. + * @returns { MechInfo[] } List of connected mechanical devices. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + function getAttachedMechDevices(): MechInfo[]; + + /** + * Sets a user operation. + * @param { Operation } operation Operation type. + * @param { string } mac MAC address. + * @param { string } params Operation parameters. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function setUserOperation(operation: Operation, mac: string, params: string): void; + + /** + * Enables or disables camera tracking. + * @param { boolean } isEnabled Whether to enable camera tracking. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @throws { BusinessError } 33300003 - Device not supported. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + + function setCameraTrackingEnabled(isEnabled: boolean): void; + + /** + * Checks whether camera tracking is enabled for this mechanical device. + * @returns { boolean } Enabled status. The value true means that camera tracking is enabled, and false means + * the opposite. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + + function getCameraTrackingEnabled(): boolean; + + /** + * Subscribes to tracking events. + * @param { 'trackingStateChange' } type Event type. + * @param { Callback } callback Callback used to return the tracking event information. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + function on(type: 'trackingStateChange', callback: Callback): void; + + /** + * Unsubscribes from tracking events. + * @param { 'trackingStateChange' } type Event type. + * @param { Callback } [callback] Callback used to return the tracking event information. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + function off(type: 'trackingStateChange', callback?: Callback): void; + + /** + * Sets the camera tracking layout for this mechanical device. + * @param { CameraTrackingLayout } trackingLayout Camera tracking layout. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @throws { BusinessError } 33300003 - Device not supported. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + function setCameraTrackingLayout(trackingLayout: CameraTrackingLayout): void; + + /** + * Obtains the camera tracking layout of this mechanical device. + * @returns { CameraTrackingLayout } Camera tracking layout obtained. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + function getCameraTrackingLayout(): CameraTrackingLayout; + + /** + * Rotates a mechanical device to the relative angles. + * @param { int } mechId ID of the mechanical device. + * @param { RotationAngles } angles Relative angles. + * @param { int } duration Rotation duration. Unit: millisecond. + * @returns { Promise } Promise that return the execution result. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + function rotate(mechId: int, angles: RotationAngles, duration: int): Promise; + + /** + * Rotates a mechanical device to the absolute angles. + * @param { int } mechId ID of the mechanical device. + * @param { EulerAngles } angles Absolute angles. + * @param { int } duration Rotation duration. Unit: millisecond. + * @returns { Promise } Promise that return the execution result. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + function rotateToEulerAngles(mechId: int, angles: EulerAngles, duration: int): Promise; + + /** + * Obtains the maximum continuous rotation duration of a mechanical device. + * + * @param { int } mechId ID of the mechanical device. + * @returns { int } Maximum rotation duration. Unit: millisecond. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function getMaxRotationTime(mechId: int): int; + + /** + * Obtains the maximum rotation speed of a mechanical device. + * + * @param { int } mechId ID of the mechanical device. + * @returns { RotationSpeed } Maximum speed. Only the absolute value of the speed is returned. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function getMaxRotationSpeed(mechId: int): RotationSpeed; + + /** + * Stops a mechanical device from moving. + * @param { int } mechId ID of the mechanical device. + * @returns { Promise } Promise that returns no value. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function stopMoving(mechId: int): Promise; + + /** + * Obtains the current angles of a mechanical device. + * @param { int } mechId ID of the mechanical device. + * @returns { EulerAngles } Rotation angles. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + function getCurrentAngles(mechId: int): EulerAngles; + + /** + * Obtains the maximum rotation angles relative to the reference point for the specified mechanical device. + * + * @param { int } mechId ID of the mechanical device. + * @returns { RotationLimits } Maximum rotation angles. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + function getRotationLimits(mechId: int): RotationLimits; + + /** + * Obtains the status of the rotation axes. + * @param { int } mechId ID of the mechanical device. + * @returns { RotationAxesStatus } Rotation axis status. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @throws { BusinessError } 33300002 - Device not connected. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function getRotationAxesStatus(mechId: int): RotationAxesStatus; + + + /** + * Register a listener for axis state changes. + * The status of the rotation axis changes dynamically, which needs to be monitored. + * + * @param { 'rotationAxesStatusChange' } type - Event type. + * @param { Callback } callback - Rotate axis state changes callback. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function on(type: 'rotationAxesStatusChange', callback: Callback): void; + + /** + * Unregister a listener for axis state changes. + * + * @param { 'rotationAxesStatusChange' } type - Event type. + * @param { Callback } [callback] - Rotate axis state changes callback. + * @throws { BusinessError } 202 - Not system application. + * @throws { BusinessError } 33300001 - Service exception. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + function off(type: 'rotationAxesStatusChange', callback?: Callback): void; + + /** + * Mechanical device information. + * @typedef MechInfo + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + export interface MechInfo { + /** + * ID of the mechanical device. + * @type { int } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + mechId: int; + + + /** + * Type of the mechanical device. + * @type { MechDeviceType } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + mechDeviceType: MechDeviceType; + + /** + * Name of the mechanical device. + * @type { string } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + mechName: string; + } + + + /** + * The rotion angles, relative to the current position. + * @typedef RotationAngles + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export interface RotationAngles { + /** + * Yaw angle, ranging from -2π to 2*π, measured in radians. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + yaw?: double; + + /** + * Roll angle, ranging from -2π to 2*π, measured in radians. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + roll?: double; + + /** + * Pitch angle, ranging from -2π to 2*π, measured in radians. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + pitch?: double; + } + + /** + * Absolute euler angles relative to the home position. + * + * @typedef EulerAngles + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export interface EulerAngles { + /** + * Yaw angle, ranging from -π to π, measured in radians. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + yaw?: double; + + /** + * Roll angle, ranging from -π to π, measured in radians. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + roll?: double; + + /** + * Pitch angle, ranging from -π to π, measured in radians. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + pitch?: double; + } + + /** + * Rotational speed. A negative value indicates a clockwise rotation, and a positive value indicates a + * counterclockwise rotation. + * @typedef RotationSpeed + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + export interface RotationSpeed { + /** + * Yaw speed, measured in radians per second. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + yawSpeed?: double; + + /** + * Roll speed, measured in radians per second. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + rollSpeed?: double; + + /** + * Pitch speed, measured in radians per second. + * @type { ?double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + pitchSpeed?: double; + } + + + /** + * Rotation angle limits relative to the reference point. + * @typedef RotationLimits + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + + export interface RotationLimits { + /** + * Maximum yaw rotation angles in the negative direction, ranging from -2*Math.PI to 0, measured in radians. + * If the value is less than or equal to -2*Math.PI, there is no restriction. + * @type { double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + negativeYawMax: double; + + /** + * Maximum yaw rotation angles in the positive direction, ranging from 0 to 2*Math.PI, measured in radians. + * If the value is greater than or equal to 2*Math.PI, there is no restriction. + * @type { double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + positiveYawMax: double; + + /** + * Maximum roll rotation angles in the negative direction, ranging from -2*Math.PI to 0, measured in radians. + * If the value is less than or equal to -2*Math.PI, there is no restriction. + * @type { double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + negativeRollMax: double; + + /** + * Maximum roll rotation angles in the positive direction, ranging from 0 to 2*Math.PI, measured in radians. + * If the value is greater than or equal to 2*Math.PI, there is no restriction. + * @type { double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + positiveRollMax: double; + + /** + * Maximum pitch rotation angles in the negative direction, ranging from -2*Math.PI to 0, measured in radians. + * If the value is less than or equal to -2*Math.PI, there is no restriction. + * @type { double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + negativePitchMax: double; + + /** + * Maximum pitch rotation angles in the positive direction, ranging from 0 to 2*Math.PI, measured in radians. + * If the value is greater than or equal to 2*Math.PI, there is no restriction. + * @type { double } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + positivePitchMax: double; + } + + /** + * Rotation axes status + * + * @typedef RotationAxesStatus + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export interface RotationAxesStatus { + /** + * Whether the yaw axis is enabled. + * @type { boolean } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + yawEnabled: boolean; + + /** + * Whether the roll axis is enabled. + * @type { boolean } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + rollEnabled: boolean; + + /** + * Whether the pitch axis is enabled. + * @type { boolean } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + pitchEnabled: boolean; + + /** + * Whether the yaw axis is limited. + * @type { ?RotationAxisLimited } RotationAxisLimited + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + yawLimited?: RotationAxisLimited; + + /** + * Whether the roll axis is limited. + * @type { ?RotationAxisLimited } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + rollLimited?: RotationAxisLimited; + + /** + * Whether the pitch axis is limited. + * @type { ?RotationAxisLimited } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + pitchLimited?: RotationAxisLimited; + } + + /** + * Enumerates the rotation axis limit states. + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export enum RotationAxisLimited { + /** + * Not limited. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + NOT_LIMITED = 0, + + /** + * Negative limited. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + NEGATIVE_LIMITED = 1, + + /** + * Positive limited. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + POSITIVE_LIMITED = 2, + } + + /** + * Rotation axes state change information. + * @typedef RotationAxesStateChangeInfo + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export interface RotationAxesStateChangeInfo { + /** + * ID of the mechanical device. + * @type { int } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + mechId: int; + + /** + * Rotate axis status. + * @type { RotationAxesStatus } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + status: RotationAxesStatus, + } + + /** + * Tracking event callback info. + * + * @typedef TrackingEventInfo + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + export interface TrackingEventInfo { + /** + * Tracking event. + * @type { TrackingEvent } Tracking event. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + event: TrackingEvent; + } + + /** + * Callback information about the device attachment state change. + * @typedef AttachStateChangeInfo + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + export interface AttachStateChangeInfo { + + /** + * Device attachment state. + * @type { AttachState } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + state: AttachState; + + /** + * Mechanical device information. + * @type { MechInfo } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + mechInfo: MechInfo, + } + + /** + * Enumerates the user operations. + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export enum Operation { + /** + * Connection operation. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + CONNECT = 0, + + /** + * Disconnection operation. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + DISCONNECT = 1 + } + + /** + * Enumerates the tracking events. + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + + export enum TrackingEvent { + /** + * Camera tracking enabled by user. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + CAMERA_TRACKING_USER_ENABLED = 0, + + /** + * Camera tracking disabled by user. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + CAMERA_TRACKING_USER_DISABLED = 1, + + /** + * Camera tracking layout changed. You can call getCameraTrackingLayout to obtain the new layout. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + CAMERA_TRACKING_LAYOUT_CHANGED = 2, + } + + /** + * Rotation execution results. + * + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export enum Result { + /** + * Rotation completed. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + COMPLETED = 0, + + /** + * Rotation was interrupted. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + INTERRUPTED = 1, + + /** + * Device reached limitation. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + LIMITED = 2, + + /** + * Rotation time out. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + TIMEOUT = 3, + + /** + * Rotation failed due to system error. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + SYSTEM_ERROR = 100 + } + + /** + * Enumerates the mechanical device types. + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + + export enum MechDeviceType { + /** + * Gimbal device. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + + GIMBAL_DEVICE = 0 + } + + /** + * Device attach states. + * + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + export enum AttachState { + + /** + * Device attached. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + ATTACHED = 0, + + /** + * Device detached. + * @syscap SystemCapability.Mechanic.Core + * @since 20 + */ + DETACHED = 1 + } + + /** + * Enumerates the camera tracking layouts. + * @enum { number } + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + export enum CameraTrackingLayout { + /** + * Default layout. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + DEFAULT = 0, + + /** + * Left-side layout. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + LEFT = 1, + + /** + * Middle layout. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + MIDDLE = 2, + + /** + * Right-side layout. + * @syscap SystemCapability.Mechanic.Core + * @systemapi + * @since 20 + */ + RIGHT = 3 + } + +} + +export default mechanicManager; \ No newline at end of file diff --git a/api/device-define/default.json b/api/device-define/default.json index de616b6b1632b78738462334650155e9be1171d1..9db411bbdcba56e2831c05e3aae737030e64ef5e 100644 --- a/api/device-define/default.json +++ b/api/device-define/default.json @@ -235,6 +235,7 @@ "SystemCapability.Ability.AppStartup", "SystemCapability.Ability.AppExtension.PhotoEditorExtension", "SystemCapability.Resourceschedule.BackgroundProcessManager", - "SystemCapability.Test.PerfTest" + "SystemCapability.Test.PerfTest", + "SystemCapability.Mechanic.Core" ] } diff --git a/api/device-define/tablet.json b/api/device-define/tablet.json index 898f1579b4624763ca4b6dd7cb2ec0f7bee9fbda..34dfcbda61add1732b6ea3beb19a1b6395311d7d 100644 --- a/api/device-define/tablet.json +++ b/api/device-define/tablet.json @@ -226,6 +226,7 @@ "SystemCapability.Ability.AppStartup", "SystemCapability.Ability.AppExtension.PhotoEditorExtension", "SystemCapability.Resourceschedule.BackgroundProcessManager", - "SystemCapability.Test.PerfTest" + "SystemCapability.Test.PerfTest", + "SystemCapability.Mechanic.Core" ] } diff --git a/build-tools/api_check_plugin/code_style_rule.json b/build-tools/api_check_plugin/code_style_rule.json index 1a591601fd7872b0e4f81bfa1255cd99cc6bde1c..e27b5ced4a362fb244369c823997e9055cec83fd 100644 --- a/build-tools/api_check_plugin/code_style_rule.json +++ b/build-tools/api_check_plugin/code_style_rule.json @@ -375,7 +375,8 @@ "SystemCapability.Security.CryptoFramework.MessageDigest", "SystemCapability.Security.CryptoFramework.Mac", "SystemCapability.Security.CryptoFramework.Kdf", - "SystemCapability.Security.CryptoFramework.Rand" + "SystemCapability.Security.CryptoFramework.Rand", + "SystemCapability.Mechanic.Core" ] }, "administrators": [ diff --git a/kits/@kit.MechanicKit.d.ts b/kits/@kit.MechanicKit.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..8f70c78e1182dbb0b5d53884e1539a1369d5560c --- /dev/null +++ b/kits/@kit.MechanicKit.d.ts @@ -0,0 +1,23 @@ +/* + * 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. + */ + +/** + * @file + * @kit MechanicKit + */ + +import mechanicManager from '@ohos.distributedHardware.mechanicManager'; + +export { mechanicManager }; \ No newline at end of file