Harmony port: entrypoint

This commit is contained in:
Jack253-png 2025-06-01 08:25:47 +08:00
parent 0f2b280c76
commit a9109972bf
No known key found for this signature in database
GPG Key ID: 51EA61206B02D886
1 changed files with 23 additions and 0 deletions

View File

@ -1,6 +1,8 @@
#include "SDL3/SDL_log.h"
#include "SDL_internal.h"
#include <EGL/egl.h>
#include <EGL/eglplatform.h>
#include <dlfcn.h>
#include <js_native_api.h>
#include <js_native_api_types.h>
#include <node_api.h>
@ -189,7 +191,28 @@ static napi_value sdlCallbackInit(napi_env env, napi_callback_info info)
static napi_value sdlLaunchMain(napi_env env, napi_callback_info info)
{
size_t argc = 2;
napi_value args[2] = { NULL, NULL };
napi_get_cb_info(env, info, &argc, args, NULL, NULL);
size_t libstringSize = 0;
napi_get_value_string_utf8(env, args[0], NULL, 0, &libstringSize);
char* libname = SDL_malloc(libstringSize + 1);
napi_get_value_string_utf8(env, args[0], libname, libstringSize + 1, &libstringSize);
size_t fstringSize = 0;
napi_get_value_string_utf8(env, args[1], NULL, 0, &fstringSize);
char* fname = SDL_malloc(fstringSize + 1);
napi_get_value_string_utf8(env, args[1], libname, fstringSize + 1, &fstringSize);
void* lib = dlopen(libname, RTLD_LAZY);
void* func = dlsym(lib, fname);
SDL_Log("Main func: %lld", (long long)func);
dlclose(lib);
napi_value result;
napi_create_int32(env, 0, &result);
return result;
}
static void OnSurfaceCreatedCB(OH_NativeXComponent *component, void *window)