diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index e7bf7a8cc3d937e3be925cbec191d1328c7192f0..7eb74f1cbd78a903ee34fea86e01dcd4bc196e04 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -36,9 +36,23 @@ generate_static_abc("base_transfer") { files = [ "./transfer/@ohos.transfer.ets", "./transfer/register.ets", + "./transfer/kitRegister/abilitykit.ets", + "./transfer/kitRegister/arkui.ets", "./transfer/kitRegister/arkts.ets", + "./transfer/kitRegister/arkweb.ets", "./transfer/kitRegister/registerMain.ets", - "./transfer/kitRegister/arkui.ets", + "./transfer/kitRegister/resourceManager.ets", + "./transfer/kitRegister/basicServicesKit.ets", + "./transfer/kitRegister/osAccount.ets", + "./transfer/kitRegister/window.ets", + "./transfer/kitRegister/display.ets", + "./transfer/kitRegister/screen.ets", + "./transfer/kitRegister/imageKit.ets", + "./transfer/kitRegister/cameraKit.ets", + "./transfer/kitRegister/pasteboard.ets", + "./transfer/kitRegister/effectKit.ets", + "./transfer/kitRegister/mediaLibraryKit.ets", + "./transfer/kitRegister/drawing.ets", ] is_boot_abc = "True" device_dst_file = "/system/framework/base_transfer.abc" diff --git a/base_sdk/ets/@ohos.base.ets b/base_sdk/ets/@ohos.base.ets index cd88297a2bb5eb641f65f50050883e26dab32dd2..5668f3b97058e66e7f50d8e16dac278e08e79a9b 100644 --- a/base_sdk/ets/@ohos.base.ets +++ b/base_sdk/ets/@ohos.base.ets @@ -14,22 +14,22 @@ */ export class BusinessError extends Error { - code: number; - data?: T; + code: int; + data?: T; - constructor() { - super(); - this.code = 0; - } + constructor() { + super(); + this.code = 0; + } - constructor(code: number, error: Error) { - super(error.name, error.message, new ErrorOptions(error.cause)); - this.code = code; - } + constructor(code: int, error: Error) { + super(error.name, error.message, {cause: error.cause} as ErrorOptions); + this.code = code; + } - constructor(code: number, data: T, error: Error) { - super(error.name, error.message, new ErrorOptions(error.cause)); - this.code = code; - this.data = data; - } + constructor(code: int, data: T, error: Error) { + super(error.name, error.message, {cause: error.cause} as ErrorOptions); + this.code = code; + this.data = data; + } } \ No newline at end of file diff --git a/base_sdk/transfer/@ohos.transfer.ets b/base_sdk/transfer/@ohos.transfer.ets index 8fa673a635cba5012589de0dd5f19b6ccd5e975f..2bd36cfbbce60a3933bcabbaeaab7a00d661c87a 100644 --- a/base_sdk/transfer/@ohos.transfer.ets +++ b/base_sdk/transfer/@ohos.transfer.ets @@ -18,7 +18,6 @@ import { registerMain } from './kitRegister/registerMain.ets'; registerMain(); -type Any = Object | undefined | null; const transferErrorCodeId = 10200067; const staticCBCache = new Map(); @@ -29,6 +28,7 @@ const dynamicRegisterMapRef = dynamicRegisterMap; export namespace transfer { export function transferStatic(input: Any, inputName: string): Object { + if (!staticRegisterMapRef.has(inputName)) { throw new BusinessError(transferErrorCodeId, new Error(`Transfer Error. The input name is not supported!`)); diff --git a/base_sdk/transfer/kitRegister/abilitykit.ets b/base_sdk/transfer/kitRegister/abilitykit.ets new file mode 100644 index 0000000000000000000000000000000000000000..d51e6bb087f3aabab9aed96a092f4d324d27aea3 --- /dev/null +++ b/base_sdk/transfer/kitRegister/abilitykit.ets @@ -0,0 +1,35 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerAbilityKit() { + registerStaticCB('AbilityKit.UIAbilityContext', 'application.UIAbilityContext', 'UIAbilityContext', 'transferStatic'); + registerDynamicCB('AbilityKit.UIAbilityContext', 'application.UIAbilityContext', 'UIAbilityContext', 'transferDynamic'); + + registerStaticCB('AbilityKit.Context', 'application.Context', 'Context', 'transferStatic'); + registerDynamicCB('AbilityKit.Context', 'application.Context', 'Context', 'transferDynamic'); + + registerStaticCB('AbilityKit.ApplicationContext', 'application.ApplicationContext', 'ApplicationContext', 'transferStatic'); + registerDynamicCB('AbilityKit.ApplicationContext', 'application.ApplicationContext', 'ApplicationContext', 'transferDynamic'); + + registerStaticCB('AbilityKit.AbilityStageContext', 'application.AbilityStageContext', 'AbilityStageContext', 'transferStatic'); + registerDynamicCB('AbilityKit.AbilityStageContext', 'application.AbilityStageContext', 'AbilityStageContext', 'transferDynamic'); + + registerStaticCB('AbilityKit.Caller', 'application.Caller', 'CallerImpl', 'transferStatic'); + registerDynamicCB('AbilityKit.Caller', 'application.Caller', 'CallerImpl', 'transferDynamic'); + + registerStaticCB('AbilityKit.Callee', 'application.Callee', 'CalleeImpl', 'transferStatic'); + registerDynamicCB('AbilityKit.Callee', 'application.Callee', 'CalleeImpl', 'transferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/arkui.ets b/base_sdk/transfer/kitRegister/arkui.ets index 2eeb615b8461cc5c952ba6fbd46b091625ce1c47..ef06b1c2232a8c22b42a2559721a0c163828307e 100644 --- a/base_sdk/transfer/kitRegister/arkui.ets +++ b/base_sdk/transfer/kitRegister/arkui.ets @@ -15,12 +15,42 @@ import { registerStaticCB, registerDynamicCB } from '../register.ets'; export function registerArkUI() { - registerStaticCB("ArkUI.NavDestinationInfo", "@ohos.observer", "observer.NavDestinationInfo", "transferStatic"); - registerDynamicCB("ArkUI.NavDestinationInfo", "@ohos.observer", "observer.NavDestinationInfo", "transferDynamic"); + registerStaticCB('ArkUI.NavDestinationInfo', '@ohos.arkui.observer', 'uiObserver.NavDestinationInfoImpl', 'transferStatic'); + registerDynamicCB('ArkUI.NavDestinationInfo', '@ohos.arkui.observer', 'uiObserver.NavDestinationInfoImpl', 'transferDynamic'); - registerStaticCB("ArkUI.NavigationInfo", "@ohos.observer", "observer.NavigationInfo", "transferStatic"); - registerDynamicCB("ArkUI.NavigationInfo", "@ohos.observer", "observer.NavigationInfo", "transferDynamic"); + registerStaticCB('ArkUI.NavigationInfo', '@ohos.arkui.observer', 'uiObserver.NavigationInfoImpl', 'transferStatic'); + registerDynamicCB('ArkUI.NavigationInfo', '@ohos.arkui.observer', 'uiObserver.NavigationInfoImpl', 'transferDynamic'); - registerStaticCB("ArkUI.RouterPageInfo", "@ohos.observer", "observer.RouterPageInfo", "transferStatic"); - registerDynamicCB("ArkUI.RouterPageInfo", "@ohos.observer", "observer.RouterPageInfo", "transferDynamic"); + registerStaticCB('ArkUI.RouterPageInfo', '@ohos.arkui.observer', 'uiObserver.RouterPageInfo', 'transferStatic'); + registerDynamicCB('ArkUI.RouterPageInfo', '@ohos.arkui.observer', 'uiObserver.RouterPageInfo', 'transferDynamic'); + + registerStaticCB('ArkUI.Matrix4', '@ohos.matrix4', 'matrix4.Matrix4TransitInner', 'matrixTransferStatic'); + registerDynamicCB('ArkUI.Matrix4', '@ohos.matrix4', 'matrix4.Matrix4TransitInner', 'matrixTransferDynamic'); + + registerStaticCB('ArkUI.Animator', '@ohos.animator', 'AnimatorResultInner', 'animatorTransferStatic'); + registerDynamicCB('ArkUI.Animator', '@ohos.animator', 'AnimatorResultInner', 'animatorTransferDynamic'); + + registerStaticCB('ArkUI.FrameNode', 'arkui.handwritten.transfer.FrameNodeTransfer', 'FrameNodeTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.FrameNode', 'arkui.handwritten.transfer.FrameNodeTransfer', 'FrameNodeTransfer', 'transferDynamic'); + + registerStaticCB('ArkUI.UIContext', 'arkui.handwritten.transfer.UIContextTransfer', 'UIContextTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.UIContext', 'arkui.handwritten.transfer.UIContextTransfer', 'UIContextTransfer', 'transferDynamic'); + + registerStaticCB('ArkUI.LengthMetrics', 'arkui.handwritten.transfer.LengthMetricsTransfer', 'LengthMetricsTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.LengthMetrics', 'arkui.handwritten.transfer.LengthMetricsTransfer', 'LengthMetricsTransfer', 'transferDynamic'); + + registerStaticCB('ArkUI.ShapeClip', 'arkui.handwritten.transfer.ShapeClipTransfer', 'ShapeClipTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.ShapeClip', 'arkui.handwritten.transfer.ShapeClipTransfer', 'ShapeClipTransfer', 'transferDynamic'); + + registerStaticCB('ArkUI.ColorMetrics', 'arkui.handwritten.transfer.ColorMetricsTransfer', 'ColorMetricsTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.ColorMetrics', 'arkui.handwritten.transfer.ColorMetricsTransfer', 'ColorMetricsTransfer', 'transferDynamic'); + + registerStaticCB('ArkUI.ShapeMask', 'arkui.handwritten.transfer.ShapeMaskTransfer', 'ShapeMaskTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.ShapeMask', 'arkui.handwritten.transfer.ShapeMaskTransfer', 'ShapeMaskTransfer', 'transferDynamic'); + + registerStaticCB('Global.Resource', 'arkui.handwritten.transfer.ResourceTransfer', 'ResourceTransfer', 'transferStatic'); + registerDynamicCB('Global.Resource', 'arkui.handwritten.transfer.ResourceTransfer', 'ResourceTransfer', 'transferDynamic'); + + registerStaticCB('ArkUI.RenderNode', 'arkui.handwritten.transfer.RenderNodeTransfer', 'RenderNodeTransfer', 'transferStatic'); + registerDynamicCB('ArkUI.RenderNode', 'arkui.handwritten.transfer.RenderNodeTransfer', 'RenderNodeTransfer', 'transferDynamic'); } diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets new file mode 100644 index 0000000000000000000000000000000000000000..b7528bd23700505b2692b0bf0137f2130d331a9d --- /dev/null +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -0,0 +1,80 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerArkWeb() { + registerStaticCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferScreenCaptureHandlerStatic'); + registerDynamicCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferScreenCaptureHandlerDynamic'); + + registerStaticCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamStatic'); + registerDynamicCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamDynamic'); + + registerStaticCB('ArkWeb.JsGeolocation', 'arkui.component.web', 'ArkWebTransfer', 'transferJsGeolocationStatic'); + registerDynamicCB('ArkWeb.JsGeolocation', 'arkui.component.web', 'ArkWebTransfer', 'transferJsGeolocationDynamic'); + + registerStaticCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultStatic'); + registerDynamicCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultDynamic'); + + registerStaticCB('ArkWeb.EventResult', 'arkui.component.web', 'ArkWebTransfer', 'transferEventResultStatic'); + registerDynamicCB('ArkWeb.EventResult', 'arkui.component.web', 'ArkWebTransfer', 'transferEventResultDynamic'); + + registerStaticCB('ArkWeb.FileSelectorResult', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorResultStatic'); + registerDynamicCB('ArkWeb.FileSelectorResult', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorResultDynamic'); + + registerStaticCB('ArkWeb.WebContextMenuParam', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuParamStatic'); + registerDynamicCB('ArkWeb.WebContextMenuParam', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuParamDynamic'); + + registerStaticCB('ArkWeb.WebContextMenuResult', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuResultStatic'); + registerDynamicCB('ArkWeb.WebContextMenuResult', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuResultDynamic'); + + registerStaticCB('ArkWeb.HttpAuthHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferHttpAuthHandlerToStatic'); + registerDynamicCB('ArkWeb.HttpAuthHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferHttpAuthHandlerToDynamic'); + + registerStaticCB('ArkWeb.WebResourceResponse', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceReponseToStatic'); + registerDynamicCB('ArkWeb.WebResourceResponse', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceReponseToDynamic'); + + registerStaticCB('ArkWeb.WebResourceRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceRequestToStatic'); + registerDynamicCB('ArkWeb.WebResourceRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceRequestToDynamic'); + + registerStaticCB('ArkWeb.ConsoleMessage', 'arkui.component.web', 'ArkWebTransfer', 'transferConsoleMessageToStatic'); + registerDynamicCB('ArkWeb.ConsoleMessage', 'arkui.component.web', 'ArkWebTransfer', 'transferConsoleMessageToDynamic'); + + registerStaticCB('ArkWeb.DataResubmissionHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferDataResubmissionHandlerToStatic'); + registerDynamicCB('ArkWeb.DataResubmissionHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferDataResubmissionHandlerToDynamic'); + + registerStaticCB('ArkWeb.ClientAuthenticationHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferClientAuthenticationHandlerToStatic'); + registerDynamicCB('ArkWeb.ClientAuthenticationHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferClientAuthenticationHandlerToDynamic'); + + registerStaticCB('ArkWeb.SslErrorHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferSslErrorHandlerToStatic'); + registerDynamicCB('ArkWeb.SslErrorHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferSslErrorHandlerToDynamic'); + + registerStaticCB('ArkWeb.BackForwardList', '@ohos.web.webview', 'webview.BackForwardListinner', 'transferBackForwardListToStatic'); + registerDynamicCB('ArkWeb.BackForwardList', '@ohos.web.webview', 'webview.BackForwardListinner', 'transferBackForwardListToDynamic'); + + registerStaticCB('ArkWeb.WebMessagePort', '@ohos.web.webview', 'webview.WebMessagePortInner', 'transferWebMessagePortToStatic'); + registerDynamicCB('ArkWeb.WebMessagePort', '@ohos.web.webview', 'webview.WebMessagePortInner', 'transferWebMessagePortToDynamic'); + + registerStaticCB('ArkWeb.PermissionRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferPermissionRequestStatic'); + registerDynamicCB('ArkWeb.PermissionRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferPermissionRequestDynamic'); + + registerStaticCB('ArkWeb.WebKeyboardController', 'arkui.component.web', 'ArkWebTransfer', 'transferWebKeyboardControllerStatic'); + registerDynamicCB('ArkWeb.WebKeyboardController', 'arkui.component.web', 'ArkWebTransfer', 'transferWebKeyboardControllerDynamic'); + + registerStaticCB('ArkWeb.ControllerHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferControllerHandlerStatic'); + registerDynamicCB('ArkWeb.ControllerHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferControllerHandlerDynamic'); + + registerStaticCB('ArkWeb.NativeMediaPlayerHandler', '@ohos.web.webview', 'webview.NativeMediaPlayerHandlerinner', 'transferNativeMediaPlayerHandlerToStatic'); + registerDynamicCB('ArkWeb.NativeMediaPlayerHandler', '@ohos.web.webview', 'webview.NativeMediaPlayerHandlerinner', 'transferNativeMediaPlayerHandlerToDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/basicServicesKit.ets b/base_sdk/transfer/kitRegister/basicServicesKit.ets new file mode 100644 index 0000000000000000000000000000000000000000..d589f846d04851bbc8efaf4444cfbeee5009f177 --- /dev/null +++ b/base_sdk/transfer/kitRegister/basicServicesKit.ets @@ -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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerCommonEventManager() { + registerStaticCB('CommonEventManager.CommonEventSubscriber', 'commonEvent/commonEventSubscriber', 'CommonEventSubscriberInner', 'transferStatic'); + registerDynamicCB('CommonEventManager.CommonEventSubscriber', 'commonEvent/commonEventSubscriber', 'CommonEventSubscriberInner', 'transferDynamic'); + + registerStaticCB('StaticSubscriberExtensionContext', '@ohos.application.StaticSubscriberExtensionContext', 'StaticSubscriberExtensionContext', 'transferStatic'); + registerDynamicCB('StaticSubscriberExtensionContext', '@ohos.application.StaticSubscriberExtensionContext', 'StaticSubscriberExtensionContext', 'transferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/cameraKit.ets b/base_sdk/transfer/kitRegister/cameraKit.ets new file mode 100644 index 0000000000000000000000000000000000000000..b186a7a73f31b830ce6285de9b608442dbd8419c --- /dev/null +++ b/base_sdk/transfer/kitRegister/cameraKit.ets @@ -0,0 +1,44 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerCameraKit() { + registerStaticCB('CameraKit.CameraInput', '@ohos.multimedia.camera', 'camera', 'cameraInputTransferStatic'); + registerDynamicCB('CameraKit.CameraInput', '@ohos.multimedia.camera', 'camera', 'cameraInputTransferDynamic'); + + registerStaticCB('CameraKit.PhotoOutput', '@ohos.multimedia.camera', 'camera', 'photoOutputTransferStatic'); + registerDynamicCB('CameraKit.PhotoOutput', '@ohos.multimedia.camera', 'camera', 'photoOutputTransferDynamic'); + + registerStaticCB('CameraKit.PreviewOutput', '@ohos.multimedia.camera', 'camera', 'previewOutputTransferStatic'); + registerDynamicCB('CameraKit.PreviewOutput', '@ohos.multimedia.camera', 'camera', 'previewOutputTransferDynamic'); + + registerStaticCB('CameraKit.VideoOutput', '@ohos.multimedia.camera', 'camera', 'videoOutputTransferStatic'); + registerDynamicCB('CameraKit.VideoOutput', '@ohos.multimedia.camera', 'camera', 'videoOutputTransferDynamic'); + + registerStaticCB('CameraKit.MetadataOutput', '@ohos.multimedia.camera', 'camera', 'metadataOutputTransferStatic'); + registerDynamicCB('CameraKit.MetadataOutput', '@ohos.multimedia.camera', 'camera', 'metadataOutputTransferDynamic'); + + registerStaticCB('CameraKit.VideoSession', '@ohos.multimedia.camera', 'camera', 'videoSessionTransferStatic'); + registerDynamicCB('CameraKit.VideoSession', '@ohos.multimedia.camera', 'camera', 'videoSessionTransferDynamic'); + + registerStaticCB('CameraKit.SecureSession', '@ohos.multimedia.camera', 'camera', 'secureSessionTransferStatic'); + registerDynamicCB('CameraKit.SecureSession', '@ohos.multimedia.camera', 'camera', 'secureSessionTransferDynamic'); + + registerStaticCB('CameraKit.PhotoSession', '@ohos.multimedia.camera', 'camera', 'photoSessionTransferStatic'); + registerDynamicCB('CameraKit.PhotoSession', '@ohos.multimedia.camera', 'camera', 'photoSessionTransferDynamic'); + + registerStaticCB('CameraKit.Photo', '@ohos.multimedia.camera', 'camera', 'photoTransferStatic'); + registerDynamicCB('CameraKit.Photo', '@ohos.multimedia.camera', 'camera', 'photoTransferDynamic'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/display.ets b/base_sdk/transfer/kitRegister/display.ets new file mode 100644 index 0000000000000000000000000000000000000000..b4ecc0b6e5060bc46607c3b67080948e2ae33a5b --- /dev/null +++ b/base_sdk/transfer/kitRegister/display.ets @@ -0,0 +1,20 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerDisplay() { + registerStaticCB('ArkUI.Display', '@ohos.display', 'display.DisplayImpl', 'transferStatic'); + registerDynamicCB('ArkUI.Display', '@ohos.display', 'display.DisplayImpl', 'transferDynamic'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/drawing.ets b/base_sdk/transfer/kitRegister/drawing.ets new file mode 100644 index 0000000000000000000000000000000000000000..e2e5705a9af5304046ad43fd029478918f830e34 --- /dev/null +++ b/base_sdk/transfer/kitRegister/drawing.ets @@ -0,0 +1,53 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerDrawing() { + registerStaticCB('ArkGraphics2D.SamplingOptions', '@ohos.graphics.drawing', 'drawing.SamplingOptions', 'samplingOptionsTransferStatic'); + registerDynamicCB('ArkGraphics2D.SamplingOptions', '@ohos.graphics.drawing', 'drawing.SamplingOptions', 'samplingOptionsTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Canvas', '@ohos.graphics.drawing', 'drawing.Canvas', 'canvasTransferStatic'); + registerDynamicCB('ArkGraphics2D.Canvas', '@ohos.graphics.drawing', 'drawing.Canvas', 'canvasTransferDynamic'); + + registerStaticCB('ArkGraphics2D.ColorFilter', '@ohos.graphics.drawing', 'drawing.ColorFilter', 'colorFilterTransferStatic'); + registerDynamicCB('ArkGraphics2D.ColorFilter', '@ohos.graphics.drawing', 'drawing.ColorFilter', 'colorFilterTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Pen', '@ohos.graphics.drawing', 'drawing.Pen', 'penTransferStatic'); + registerDynamicCB('ArkGraphics2D.Pen', '@ohos.graphics.drawing', 'drawing.Pen', 'penTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Brush', '@ohos.graphics.drawing', 'drawing.Brush', 'brushTransferStatic'); + registerDynamicCB('ArkGraphics2D.Brush', '@ohos.graphics.drawing', 'drawing.Brush', 'brushTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Typeface', '@ohos.graphics.drawing', 'drawing.Typeface', 'typefaceTransferStatic'); + registerDynamicCB('ArkGraphics2D.Typeface', '@ohos.graphics.drawing', 'drawing.Typeface', 'typefaceTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Font', '@ohos.graphics.drawing', 'drawing.Font', 'fontTransferStatic'); + registerDynamicCB('ArkGraphics2D.Font', '@ohos.graphics.drawing', 'drawing.Font', 'fontTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Lattice', '@ohos.graphics.drawing', 'drawing.Lattice', 'latticeTransferStatic'); + registerDynamicCB('ArkGraphics2D.Lattice', '@ohos.graphics.drawing', 'drawing.Lattice', 'latticeTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Matrix', '@ohos.graphics.drawing', 'drawing.Matrix', 'matrixTransferStatic'); + registerDynamicCB('ArkGraphics2D.Matrix', '@ohos.graphics.drawing', 'drawing.Matrix', 'matrixTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Path', '@ohos.graphics.drawing', 'drawing.Path', 'pathTransferStatic'); + registerDynamicCB('ArkGraphics2D.Path', '@ohos.graphics.drawing', 'drawing.Path', 'pathTransferDynamic'); + + registerStaticCB('ArkGraphics2D.Region', '@ohos.graphics.drawing', 'drawing.Region', 'regionTransferStatic'); + registerDynamicCB('ArkGraphics2D.Region', '@ohos.graphics.drawing', 'drawing.Region', 'regionTransferDynamic'); + + registerStaticCB('ArkGraphics2D.RoundRect', '@ohos.graphics.drawing', 'drawing.RoundRect', 'roundRectTransferStatic'); + registerDynamicCB('ArkGraphics2D.RoundRect', '@ohos.graphics.drawing', 'drawing.RoundRect', 'roundRectTransferDynamic'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/effectKit.ets b/base_sdk/transfer/kitRegister/effectKit.ets new file mode 100644 index 0000000000000000000000000000000000000000..9d00a08835b384927c5091a2d895b3fd5e0b4b7c --- /dev/null +++ b/base_sdk/transfer/kitRegister/effectKit.ets @@ -0,0 +1,22 @@ +/* + * 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. +*/ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerEffectKit() { + registerStaticCB('ArkGraphics2D.Filter', '@ohos.effectKit','effectKit.FilterInternal','kitTransferStatic');// 1.1 => 1.2对象 + registerDynamicCB('ArkGraphics2D.Filter', '@ohos.effectKit','effectKit.FilterInternal','kitTransferDynamic');// 1.2 => 1.1对象 + registerStaticCB('ArkGraphics2D.ColorPicker', '@ohos.effectKit','effectKit.ColorPickerInternal','kitTransferStatic');// 1.1 => 1.2对象 + registerDynamicCB('ArkGraphics2D.ColorPicker', '@ohos.effectKit','effectKit.ColorPickerInternal','kitTransferDynamic');// 1.2 => 1.1对象 +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/imageKit.ets b/base_sdk/transfer/kitRegister/imageKit.ets new file mode 100644 index 0000000000000000000000000000000000000000..15fab06fb8fa823394877952aa1dc09a671fb45e --- /dev/null +++ b/base_sdk/transfer/kitRegister/imageKit.ets @@ -0,0 +1,38 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerImageKit() { + registerStaticCB('ImageKit.ImageSource', '@ohos.multimedia.image', 'image', 'imageSourceTransferStatic'); + registerDynamicCB('ImageKit.ImageSource', '@ohos.multimedia.image', 'image', 'imageSourceTransferDynamic'); + + registerStaticCB('ImageKit.ImagePacker', '@ohos.multimedia.image', 'image', 'imagePackerTransferStatic'); + registerDynamicCB('ImageKit.ImagePacker', '@ohos.multimedia.image', 'image', 'imagePackerTransferDynamic'); + + registerStaticCB('ImageKit.Picture', '@ohos.multimedia.image', 'image', 'pictureTransferStatic'); + registerDynamicCB('ImageKit.Picture', '@ohos.multimedia.image', 'image', 'pictureTransferDynamic'); + + registerStaticCB('ImageKit.AuxiliaryPicture', '@ohos.multimedia.image', 'image', 'auxiliaryPictureTransferStatic'); + registerDynamicCB('ImageKit.AuxiliaryPicture', '@ohos.multimedia.image', 'image', 'auxiliaryPictureTransferDynamic'); + + registerStaticCB('ImageKit.ImageReceiver', '@ohos.multimedia.image', 'image', 'imageReceiverTransferStatic'); + registerDynamicCB('ImageKit.ImageReceiver', '@ohos.multimedia.image', 'image', 'imageReceiverTransferDynamic'); + + registerStaticCB('ImageKit.ImageCreator', '@ohos.multimedia.image', 'image', 'imageCreatorTransferStatic'); + registerDynamicCB('ImageKit.ImageCreator', '@ohos.multimedia.image', 'image', 'imageCreatorTransferDynamic'); + + registerStaticCB('ImageKit.PixelMap', '@ohos.multimedia.image', 'image', 'pixelMapTransferStatic'); + registerDynamicCB('ImageKit.PixelMap', '@ohos.multimedia.image', 'image', 'pixelMapTransferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/mediaLibraryKit.ets b/base_sdk/transfer/kitRegister/mediaLibraryKit.ets new file mode 100644 index 0000000000000000000000000000000000000000..4f1b7827c91cbe561565df272465627e4486dade --- /dev/null +++ b/base_sdk/transfer/kitRegister/mediaLibraryKit.ets @@ -0,0 +1,33 @@ +/* + * 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. + */ + +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerMediaLibraryKit() { + registerStaticCB('MediaLibraryKit.PhotoAsset', '@ohos.file.photoAccessHelper.photoAccessHelper', 'PhotoAssetHandle', 'transferStatic'); + registerDynamicCB('MediaLibraryKit.PhotoAsset', '@ohos.file.photoAccessHelper.photoAccessHelper', 'PhotoAssetHandle', 'transferDynamic'); + + registerStaticCB('MediaLibraryKit.Album', '@ohos.file.photoAccessHelper.photoAccessHelper', 'AlbumHandle', 'transferStatic'); + registerDynamicCB('MediaLibraryKit.Album', '@ohos.file.photoAccessHelper.photoAccessHelper', 'AlbumHandle', 'transferDynamic'); + + registerStaticCB('MediaLibraryKit.AbsAlbum', '@ohos.file.photoAccessHelper.photoAccessHelper', 'AlbumHandle', 'transferStatic'); + registerDynamicCB('MediaLibraryKit.AbsAlbum', '@ohos.file.photoAccessHelper.photoAccessHelper', 'AlbumHandle', 'transferDynamic'); + + registerStaticCB('MediaLibraryKit.FetchResult', '@ohos.file.photoAccessHelper.photoAccessHelper', 'FetchResultHandle', 'transferStatic'); + registerDynamicCB('MediaLibraryKit.FetchResult', '@ohos.file.photoAccessHelper.photoAccessHelper', 'FetchResultHandle', 'transferDynamic'); + + registerStaticCB('MediaLibraryKit.MovingPhoto', '@ohos.file.photoAccessHelper.photoAccessHelper', 'MovingPhotoHandle', 'transferStatic'); + registerDynamicCB('MediaLibraryKit.MovingPhoto', '@ohos.file.photoAccessHelper.photoAccessHelper', 'MovingPhotoHandle', 'transferDynamic'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/osAccount.ets b/base_sdk/transfer/kitRegister/osAccount.ets new file mode 100644 index 0000000000000000000000000000000000000000..425aa0e35de737178a32d45dd3428db0c21dcb48 --- /dev/null +++ b/base_sdk/transfer/kitRegister/osAccount.ets @@ -0,0 +1,20 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerOsAccount() { + registerStaticCB('BasicServicesKit.IInputData', '@ohos.account.transfer.osAccount', 'Transfer', 'iInputDataTransferStatic'); + registerDynamicCB('BasicServicesKit.IInputData', '@ohos.account.transfer.osAccount', 'Transfer', 'iInputDataTransferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/pasteboard.ets b/base_sdk/transfer/kitRegister/pasteboard.ets new file mode 100644 index 0000000000000000000000000000000000000000..f9649fc1902a405e4885d1c147a6eacb01d06d75 --- /dev/null +++ b/base_sdk/transfer/kitRegister/pasteboard.ets @@ -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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerPasteboard() { + registerStaticCB('BasicServicesKit.PasteData', '@ohos.pasteboard', 'pasteboard', 'pasteDataTransferStatic'); + registerDynamicCB('BasicServicesKit.PasteData', '@ohos.pasteboard', 'pasteboard', 'pasteDataTransferDynamic'); + + registerStaticCB('BasicServicesKit.PasteDataRecord', '@ohos.pasteboard', 'pasteboard', 'pasteDataRecordTransferStatic'); + registerDynamicCB('BasicServicesKit.PasteDataRecord', '@ohos.pasteboard', 'pasteboard', 'pasteDataRecordTransferDynamic'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/registerMain.ets b/base_sdk/transfer/kitRegister/registerMain.ets index 8320f58bbd9671036d2ea2f06452eff13ce6cb25..c4c5abc288b1e19512081efe056de19171b7cbad 100644 --- a/base_sdk/transfer/kitRegister/registerMain.ets +++ b/base_sdk/transfer/kitRegister/registerMain.ets @@ -12,10 +12,39 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { registerArkTS } from './arkts.ets'; import { registerArkUI } from './arkui.ets'; +import { registerWindow } from './window.ets'; +import { registerAbilityKit } from './abilitykit.ets'; +import { registerOsAccount } from './osAccount.ets'; +import { registerArkWeb } from './arkweb.ets'; +import { registerCommonEventManager } from './basicServicesKit.ets'; +import { registerResourceManager } from './resourceManager.ets'; +import { registerDisplay } from './display.ets'; +import { registerScreen } from './screen.ets'; +import { registerImageKit } from './imageKit.ets'; +import { registerCameraKit } from './cameraKit.ets'; +import { registerPasteboard } from './pasteboard.ets'; +import { registerEffectKit } from './effectKit.ets'; +import { registerMediaLibraryKit } from './mediaLibraryKit.ets' +import { registerDrawing } from './drawing.ets' export function registerMain(){ registerArkTS(); registerArkUI(); + registerWindow(); + registerAbilityKit(); + registerOsAccount(); + registerArkWeb(); + registerCommonEventManager(); + registerResourceManager(); + registerDisplay(); + registerScreen(); + registerImageKit(); + registerCameraKit(); + registerPasteboard(); + registerEffectKit(); + registerMediaLibraryKit(); + registerDrawing(); } \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/resourceManager.ets b/base_sdk/transfer/kitRegister/resourceManager.ets new file mode 100644 index 0000000000000000000000000000000000000000..43fea0ab7d449e596c87a6bcdd7f77c3bc48ecd1 --- /dev/null +++ b/base_sdk/transfer/kitRegister/resourceManager.ets @@ -0,0 +1,20 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerResourceManager() { + registerStaticCB('LocalizationKit.ResourceManager', '@ohos.resourceManager', 'resourceManager', 'transferToStaticResource'); + registerDynamicCB('LocalizationKit.ResourceManager', '@ohos.resourceManager', 'resourceManager', 'transferToDynamicResource'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/screen.ets b/base_sdk/transfer/kitRegister/screen.ets new file mode 100644 index 0000000000000000000000000000000000000000..aa71c727a6c542861f08d7aed1c3798acd21c4cc --- /dev/null +++ b/base_sdk/transfer/kitRegister/screen.ets @@ -0,0 +1,20 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerScreen() { + registerStaticCB('ArkUI.Screen', '@ohos.screen', 'screen.ScreenImpl', 'transferStatic'); + registerDynamicCB('ArkUI.Screen', '@ohos.screen', 'screen.ScreenImpl', 'transferDynamic'); +} \ No newline at end of file diff --git a/base_sdk/transfer/kitRegister/window.ets b/base_sdk/transfer/kitRegister/window.ets new file mode 100644 index 0000000000000000000000000000000000000000..55e42e8760ae1bcdd08eeca8f4724591397cf6ab --- /dev/null +++ b/base_sdk/transfer/kitRegister/window.ets @@ -0,0 +1,22 @@ +/* + * 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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerWindow() { + registerStaticCB('window.WindowStage', '@ohos.window', 'window.WindowStageInternal', 'transferStatic'); + registerDynamicCB('window.WindowStage', '@ohos.window', 'window.WindowStageInternal', 'transferDynamic'); + registerStaticCB('window.Window', '@ohos.window', 'window.WindowInternal', 'transferStatic'); + registerDynamicCB('window.Window', '@ohos.window', 'window.WindowInternal', 'transferDynamic'); +} diff --git a/base_sdk/transfer/register.ets b/base_sdk/transfer/register.ets index 24a234050450e6e0e9802a3002f767cf6da662fd..7ec84456e4c1217c357f0bf01e75bfb222c57d84 100644 --- a/base_sdk/transfer/register.ets +++ b/base_sdk/transfer/register.ets @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -type Any = Object | undefined | null; export interface CallbackUrl { key: string; diff --git a/bundle.json b/bundle.json index a113f5879925083ef34d5e4a99c767fa287b2fba..21129c8a27160a803c28cf6e76c50667c5b46179 100644 --- a/bundle.json +++ b/bundle.json @@ -66,7 +66,8 @@ "icu", "openssl", "libxml2", - "typescript" + "typescript", + "runtime_core" ], "third_party": [] },