Skip to content

refactor(core): split context API from Core primary API 🌱#10401

Merged
mcdurdin merged 2 commits intoepic/core/9999-normalizationfrom
refactor/core/9999-split-context-apis
Jan 18, 2024
Merged

refactor(core): split context API from Core primary API 🌱#10401
mcdurdin merged 2 commits intoepic/core/9999-normalizationfrom
refactor/core/9999-split-context-apis

Conversation

@mcdurdin
Copy link
Copy Markdown
Member

Relates to #9999.
Fixes #10384.

The context API endpoints should no longer be considered as part of the standard Core API. The only consumers that have a need to access these APIs are the IMX integration in Engine for Windows, and the Keyman Developer Debugger.

These symbols are currently used by Developer:

  • km_core_context struct
  • km_core_context_type enum
  • km_core_context_item struct
  • KM_CORE_CONTEXT_ITEM_END macro
  • km_core_state_context()
  • km_core_context_set()
  • km_core_context_clear()

These symbols are currently used by Windows IMX:

  • km_core_context struct
  • km_core_context_type enum
  • km_core_context_item struct
  • KM_CORE_CONTEXT_ITEM_END macro
  • km_core_context_items_dispose()
  • km_core_context_item_list_size()
  • km_core_state_get_intermediate_context()

The following functions and symbols are moving to keyman_core_api_context.h:

  • km_core_context struct
  • km_core_context_type enum
  • km_core_context_item struct
  • KM_CORE_CONTEXT_ITEM_END macro
  • km_core_state_context() function
  • km_core_state_get_intermediate_context() function
  • km_core_context_set() function
  • km_core_context_clear() function
  • km_core_context_get() function
  • km_core_context_items_from_utf16() function
  • km_core_context_items_from_utf8() function
  • km_core_context_items_to_utf8() function
  • km_core_context_items_to_utf16() function
  • km_core_context_items_to_utf32() function
  • km_core_context_items_dispose() function
  • km_core_context_length() function
  • km_core_context_append() function
  • km_core_context_shrink() function
  • km_core_context_item_list_size() function

@keymanapp-test-bot skip

@keymanapp-test-bot
Copy link
Copy Markdown

keymanapp-test-bot bot commented Jan 16, 2024

User Test Results

Test specification and instructions

User tests are not required

@keymanapp-test-bot keymanapp-test-bot bot changed the title refactor(core): split context API from Core primary API refactor(core): split context API from Core primary API 🌱 Jan 16, 2024
@keymanapp-test-bot keymanapp-test-bot bot added this to the A17S30 milestone Jan 16, 2024
@mcdurdin mcdurdin marked this pull request as ready for review January 16, 2024 05:20
@mcdurdin mcdurdin linked an issue Jan 16, 2024 that may be closed by this pull request
@mcdurdin mcdurdin force-pushed the refactor/mac/9999-remove-legacy-context-api-calls branch from 7b44175 to 823b772 Compare January 17, 2024 03:44
Relates to #9999.
Fixes #10384.

The context API endpoints should no longer be considered as part of the
standard Core API. The only consumers that have a need to access these
APIs are the IMX integration in Engine for Windows, and the Keyman
Developer Debugger.

These symbols are currently used by Developer:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()`
* `km_core_context_set()`
* `km_core_context_clear()`

These symbols are currently used by Windows IMX:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_context_items_dispose()`
* `km_core_context_item_list_size()`
* `km_core_state_get_intermediate_context()`

The following functions and symbols are moving to
keyman_core_api_context.h:
* `km_core_context` struct
* `km_core_context_type` enum
* `km_core_context_item` struct
* `KM_CORE_CONTEXT_ITEM_END` macro
* `km_core_state_context()` function
* `km_core_state_get_intermediate_context()` function
* `km_core_context_set()` function
* `km_core_context_clear()` function
* `km_core_context_get()` function
* `km_core_context_items_from_utf16()` function
* `km_core_context_items_from_utf8()` function
* `km_core_context_items_to_utf8()` function
* `km_core_context_items_to_utf16()` function
* `km_core_context_items_to_utf32()` function
* `km_core_context_items_dispose()` function
* `km_core_context_length()` function
* `km_core_context_append()` function
* `km_core_context_shrink()` function
* `km_core_context_item_list_size()` function
@mcdurdin mcdurdin force-pushed the refactor/core/9999-split-context-apis branch from e5c2525 to 671973b Compare January 17, 2024 03:44
Base automatically changed from refactor/mac/9999-remove-legacy-context-api-calls to epic/core/9999-normalization January 18, 2024 03:46
@mcdurdin mcdurdin merged commit d1e1baf into epic/core/9999-normalization Jan 18, 2024
@mcdurdin mcdurdin deleted the refactor/core/9999-split-context-apis branch January 18, 2024 03:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(core): Remove KM Core public access to context APIs 🌱

2 participants