no message
This commit is contained in:
233
cocos/bindings/manual/jsb_module_register.cpp
Normal file
233
cocos/bindings/manual/jsb_module_register.cpp
Normal file
@@ -0,0 +1,233 @@
|
||||
/****************************************************************************
|
||||
Copyright (c) 2017-2023 Xiamen Yaji Software Co., Ltd.
|
||||
|
||||
http://www.cocos.com
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
****************************************************************************/
|
||||
|
||||
#include "cocos/bindings/manual/jsb_module_register.h"
|
||||
#include "cocos/base/DeferredReleasePool.h"
|
||||
#include "cocos/bindings/auto/jsb_2d_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_assets_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_cocos_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_extension_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_geometry_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_gfx_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_gi_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_network_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_pipeline_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_render_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_scene_auto.h"
|
||||
#include "cocos/bindings/dop/jsb_dop.h"
|
||||
#include "cocos/bindings/jswrapper/SeApi.h"
|
||||
#include "cocos/bindings/manual/jsb_assets_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_cocos_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_conversions.h"
|
||||
#include "cocos/bindings/manual/jsb_geometry_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_gfx_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_global.h"
|
||||
#include "cocos/bindings/manual/jsb_network_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_pipeline_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_platform.h"
|
||||
#include "cocos/bindings/manual/jsb_scene_manual.h"
|
||||
#include "cocos/bindings/manual/jsb_xmlhttprequest.h"
|
||||
|
||||
#if USE_GFX_RENDERER
|
||||
#endif
|
||||
|
||||
#if CC_USE_SOCKET
|
||||
#include "cocos/bindings/manual/jsb_socketio.h"
|
||||
#include "cocos/bindings/manual/jsb_websocket.h"
|
||||
#endif // CC_USE_SOCKET
|
||||
|
||||
#if CC_USE_AUDIO
|
||||
#include "cocos/bindings/auto/jsb_audio_auto.h"
|
||||
#include "cocos/bindings/manual/jsb_audio_manual.h"
|
||||
#endif
|
||||
|
||||
#if CC_USE_XR
|
||||
#include "cocos/bindings/auto/jsb_xr_auto.h"
|
||||
#include "cocos/bindings/auto/jsb_xr_extension_auto.h"
|
||||
#endif
|
||||
|
||||
#if CC_USE_AR_MODULE
|
||||
#include "cocos/bindings/auto/jsb_ar_auto.h"
|
||||
#include "cocos/bindings/manual/jsb_ar_manual.h"
|
||||
#endif
|
||||
|
||||
#if (CC_PLATFORM == CC_PLATFORM_IOS || CC_PLATFORM == CC_PLATFORM_MACOS)
|
||||
#include "cocos/bindings/manual/JavaScriptObjCBridge.h"
|
||||
#endif
|
||||
|
||||
#if (CC_PLATFORM == CC_PLATFORM_ANDROID || CC_PLATFORM == CC_PLATFORM_OHOS)
|
||||
#include "cocos/bindings/manual/JavaScriptJavaBridge.h"
|
||||
#endif
|
||||
|
||||
#if(CC_PLATFORM == CC_PLATFORM_OPENHARMONY)
|
||||
#if CC_USE_WEBVIEW
|
||||
#include "cocos/bindings/auto/jsb_webview_auto.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if (CC_PLATFORM == CC_PLATFORM_IOS || CC_PLATFORM == CC_PLATFORM_ANDROID || CC_PLATFORM == CC_PLATFORM_OHOS)
|
||||
|
||||
#if CC_USE_VIDEO
|
||||
#include "cocos/bindings/auto/jsb_video_auto.h"
|
||||
#endif
|
||||
|
||||
#if CC_USE_WEBVIEW
|
||||
#include "cocos/bindings/auto/jsb_webview_auto.h"
|
||||
#endif
|
||||
|
||||
#endif // (CC_PLATFORM == CC_PLATFORM_IOS || CC_PLATFORM == CC_PLATFORM_ANDROID)
|
||||
|
||||
#if CC_USE_SOCKET && CC_USE_WEBSOCKET_SERVER
|
||||
#include "cocos/bindings/manual/jsb_websocket_server.h"
|
||||
#endif
|
||||
|
||||
#if CC_USE_MIDDLEWARE
|
||||
#include "cocos/bindings/auto/jsb_editor_support_auto.h"
|
||||
|
||||
#if CC_USE_SPINE
|
||||
#include "cocos/bindings/auto/jsb_spine_auto.h"
|
||||
#include "cocos/bindings/manual/jsb_spine_manual.h"
|
||||
#endif
|
||||
|
||||
#if CC_USE_DRAGONBONES
|
||||
#include "cocos/bindings/auto/jsb_dragonbones_auto.h"
|
||||
#include "cocos/bindings/manual/jsb_dragonbones_manual.h"
|
||||
#endif
|
||||
|
||||
#endif // CC_USE_MIDDLEWARE
|
||||
|
||||
#if CC_USE_PHYSICS_PHYSX
|
||||
#include "cocos/bindings/auto/jsb_physics_auto.h"
|
||||
#endif
|
||||
|
||||
bool jsb_register_all_modules() {
|
||||
se::ScriptEngine *se = se::ScriptEngine::getInstance();
|
||||
|
||||
se->addBeforeCleanupHook([se]() {
|
||||
se->garbageCollect();
|
||||
cc::DeferredReleasePool::clear();
|
||||
se->garbageCollect();
|
||||
cc::DeferredReleasePool::clear();
|
||||
});
|
||||
|
||||
se->addRegisterCallback(jsb_register_global_variables);
|
||||
se->addRegisterCallback(register_all_engine);
|
||||
se->addRegisterCallback(register_all_cocos_manual);
|
||||
se->addRegisterCallback(register_platform_bindings);
|
||||
se->addRegisterCallback(register_all_gfx);
|
||||
se->addRegisterCallback(register_all_gfx_manual);
|
||||
|
||||
se->addRegisterCallback(register_all_network);
|
||||
se->addRegisterCallback(register_all_network_manual);
|
||||
se->addRegisterCallback(register_all_xmlhttprequest);
|
||||
// extension depend on network
|
||||
se->addRegisterCallback(register_all_extension);
|
||||
se->addRegisterCallback(register_all_dop_bindings);
|
||||
se->addRegisterCallback(register_all_assets);
|
||||
se->addRegisterCallback(register_all_assets_manual);
|
||||
// pipeline depend on asset
|
||||
se->addRegisterCallback(register_all_pipeline);
|
||||
se->addRegisterCallback(register_all_pipeline_manual);
|
||||
se->addRegisterCallback(register_all_geometry);
|
||||
se->addRegisterCallback(register_all_geometry_manual);
|
||||
se->addRegisterCallback(register_all_scene);
|
||||
se->addRegisterCallback(register_all_gi);
|
||||
se->addRegisterCallback(register_all_scene_manual);
|
||||
se->addRegisterCallback(register_all_render);
|
||||
se->addRegisterCallback(register_all_native2d);
|
||||
|
||||
#if (CC_PLATFORM == CC_PLATFORM_IOS || CC_PLATFORM == CC_PLATFORM_MACOS)
|
||||
se->addRegisterCallback(register_javascript_objc_bridge);
|
||||
se->addRegisterCallback(register_script_native_bridge);
|
||||
#endif
|
||||
|
||||
#if (CC_PLATFORM == CC_PLATFORM_ANDROID || CC_PLATFORM == CC_PLATFORM_OHOS)
|
||||
se->addRegisterCallback(register_javascript_java_bridge);
|
||||
se->addRegisterCallback(register_script_native_bridge);
|
||||
#endif
|
||||
|
||||
#if CC_USE_AUDIO
|
||||
se->addRegisterCallback(register_all_audio);
|
||||
se->addRegisterCallback(register_all_audio_manual);
|
||||
#endif
|
||||
|
||||
#if CC_USE_XR
|
||||
se->addRegisterCallback(register_all_xr);
|
||||
se->addRegisterCallback(register_all_xr_extension);
|
||||
#endif
|
||||
|
||||
#if CC_USE_SOCKET
|
||||
se->addRegisterCallback(register_all_websocket);
|
||||
se->addRegisterCallback(register_all_socketio);
|
||||
#endif
|
||||
|
||||
#if CC_USE_MIDDLEWARE
|
||||
se->addRegisterCallback(register_all_editor_support);
|
||||
|
||||
#if CC_USE_SPINE
|
||||
se->addRegisterCallback(register_all_spine);
|
||||
se->addRegisterCallback(register_all_spine_manual);
|
||||
#endif
|
||||
|
||||
#if CC_USE_DRAGONBONES
|
||||
se->addRegisterCallback(register_all_dragonbones);
|
||||
se->addRegisterCallback(register_all_dragonbones_manual);
|
||||
#endif
|
||||
|
||||
#endif // CC_USE_MIDDLEWARE
|
||||
|
||||
#if CC_USE_PHYSICS_PHYSX
|
||||
se->addRegisterCallback(register_all_physics);
|
||||
#endif
|
||||
|
||||
#if CC_USE_AR_MODULE
|
||||
se->addRegisterCallback(register_all_ar);
|
||||
se->addRegisterCallback(register_all_ar_manual);
|
||||
#endif // CC_USE_AR_MODULE
|
||||
#if (CC_PLATFORM == CC_PLATFORM_OPENHARMONY)
|
||||
#if CC_USE_WEBVIEW
|
||||
se->addRegisterCallback(register_all_webview);
|
||||
#endif
|
||||
#endif
|
||||
#if (CC_PLATFORM == CC_PLATFORM_IOS || CC_PLATFORM == CC_PLATFORM_ANDROID || CC_PLATFORM == CC_PLATFORM_OHOS)
|
||||
|
||||
#if CC_USE_VIDEO
|
||||
se->addRegisterCallback(register_all_video);
|
||||
#endif
|
||||
|
||||
#if CC_USE_WEBVIEW
|
||||
se->addRegisterCallback(register_all_webview);
|
||||
#endif
|
||||
|
||||
#endif // (CC_PLATFORM == CC_PLATFORM_IOS || CC_PLATFORM == CC_PLATFORM_ANDROID)
|
||||
|
||||
#if CC_USE_SOCKET && CC_USE_WEBSOCKET_SERVER
|
||||
se->addRegisterCallback(register_all_websocket_server);
|
||||
#endif
|
||||
se->addAfterCleanupHook([]() {
|
||||
cc::DeferredReleasePool::clear();
|
||||
JSBClassType::cleanup();
|
||||
});
|
||||
return true;
|
||||
}
|
||||
Reference in New Issue
Block a user