Skip to content

Commit 5d1b8f1

Browse files
committed
feat(api): provide a flavor of api using stdbool
API type: RimeApi_stdbool API entry function: rime_get_api_stdbool
1 parent 771c94a commit 5d1b8f1

8 files changed

+1525
-1420
lines changed

CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ install(FILES cmake/RimeConfig.cmake
224224
DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/cmake/rime)
225225

226226
file(GLOB rime_public_header_files ${PROJECT_SOURCE_DIR}/src/*.h)
227+
list(FILTER rime_public_header_files EXCLUDE REGEX .*_impl\.h$)
227228
install(FILES ${rime_public_header_files}
228229
DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR})
229230
if(INSTALL_PRIVATE_HEADERS)

src/rime/setup.cc

+8-12
Original file line numberDiff line numberDiff line change
@@ -39,31 +39,27 @@ RIME_API void LoadModules(const char* module_names[]) {
3939
}
4040
}
4141

42-
// assume member is a non-null pointer in struct *p.
43-
#define PROVIDED(p, member) \
44-
((p) && RIME_STRUCT_HAS_MEMBER(*(p), (p)->member) && (p)->member)
45-
4642
RIME_API void SetupDeployer(RimeTraits* traits) {
4743
if (!traits)
4844
return;
4945
Deployer& deployer(Service::instance().deployer());
50-
if (PROVIDED(traits, shared_data_dir))
46+
if (RIME_PROVIDED(traits, shared_data_dir))
5147
deployer.shared_data_dir = path(traits->shared_data_dir);
52-
if (PROVIDED(traits, user_data_dir))
48+
if (RIME_PROVIDED(traits, user_data_dir))
5349
deployer.user_data_dir = path(traits->user_data_dir);
54-
if (PROVIDED(traits, distribution_name))
50+
if (RIME_PROVIDED(traits, distribution_name))
5551
deployer.distribution_name = traits->distribution_name;
56-
if (PROVIDED(traits, distribution_code_name))
52+
if (RIME_PROVIDED(traits, distribution_code_name))
5753
deployer.distribution_code_name = traits->distribution_code_name;
58-
if (PROVIDED(traits, distribution_version))
54+
if (RIME_PROVIDED(traits, distribution_version))
5955
deployer.distribution_version = traits->distribution_version;
60-
if (PROVIDED(traits, app_name))
56+
if (RIME_PROVIDED(traits, app_name))
6157
deployer.app_name = traits->app_name;
62-
if (PROVIDED(traits, prebuilt_data_dir))
58+
if (RIME_PROVIDED(traits, prebuilt_data_dir))
6359
deployer.prebuilt_data_dir = path(traits->prebuilt_data_dir);
6460
else
6561
deployer.prebuilt_data_dir = deployer.shared_data_dir / "build";
66-
if (PROVIDED(traits, staging_dir))
62+
if (RIME_PROVIDED(traits, staging_dir))
6763
deployer.staging_dir = path(traits->staging_dir);
6864
else
6965
deployer.staging_dir = deployer.user_data_dir / "build";

0 commit comments

Comments
 (0)