Skip to content

Commit 4d331f4

Browse files
committed
OpenHarmony: locale subsystem
1 parent eac69a2 commit 4d331f4

File tree

3 files changed

+22
-0
lines changed

3 files changed

+22
-0
lines changed

CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1534,6 +1534,9 @@ elseif(OHOS)
15341534
endif()
15351535
endif()
15361536

1537+
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/locale/ohos/*.c")
1538+
set(HAVE_SDL_LOCALE TRUE)
1539+
15371540
set(SDL_LOADSO_DLOPEN 1)
15381541
sdl_glob_sources("${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c")
15391542
set(HAVE_SDL_LOADSO TRUE)

src/core/ohos/SDL_ohos.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,14 @@ static napi_value sdlCallbackInit(napi_env env, napi_callback_info info)
271271
napi_value resName = NULL;
272272
napi_create_string_utf8(env, "SDLThreadSafe", NAPI_AUTO_LENGTH, &resName);
273273
napi_create_threadsafe_function(env, args[0], NULL, resName, 0, 1, NULL, NULL, NULL, sdlJSCallback, &napiEnv.func);
274+
275+
napiCallbackData *data = SDL_malloc(sizeof(napiCallbackData));
276+
SDL_memset(data, 0, sizeof(napiCallbackData));
277+
data->func = "test";
278+
data->argCount = 0;
279+
data->type = Int;
280+
281+
napi_call_threadsafe_function(napiEnv.func, data, napi_tsfn_nonblocking);
274282

275283
napi_value result;
276284
napi_create_int32(env, 0, &result);

src/locale/ohos/SDL_syslocale.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#include "SDL_internal.h"
2+
#include "../SDL_syslocale.h"
3+
#include "../../core/ohos/SDL_ohos.h"
4+
5+
bool SDL_SYS_GetPreferredLocales(char *buf, size_t buflen)
6+
{
7+
const char* result = OHOS_Locale();
8+
SDL_memcpy(buf, result, buflen);
9+
SDL_Log("target %s", buf);
10+
return true;
11+
}

0 commit comments

Comments
 (0)