Tim Eves
29a5fa6d2e
Add more convert function use, psuh_persist actions and various tidy-ups
2018-12-17 23:40:44 +07:00
Tim Eves
18ce72e7c8
Refactor keyboard processor initialisation code.
...
Turn the keyboard class backing the km_kbp_keyboard and km_kbp_keyboard_attr objects into just keyboard_attributes.
Move the abstract_processor and sublcasses as the objects that back km_kbp_keyboard and make keyboard_attrs a member of the asbtract_processor.
Move kmx_processor and mock_processor declarations into their own headers.
Make all vector<km_kbp_option_item> into vector<option> to handle memory management, moving and copying correctly.
Update test cases accordingly
2018-12-17 06:02:22 +07:00
Tim Eves
ca150e099f
Add add path::native() to get system native character type
...
Also normalise path separators from '/' to '\\' on windows and correct
path separator.
2018-12-14 01:59:51 +07:00
Tim Eves
08bab354bd
Add a path handling class since std::filesystem is not reliably available
...
It's not there on Xcode yet and different platforms and compiler put it
into different library files.
2018-12-14 00:50:04 +07:00
Marc Durdin
09620cb311
[common] Basic options functionality (rework to match api model)
2018-11-20 10:00:29 +11:00
Marc Durdin
ac4448f350
[Common] Refactor KPAPI to support multiple processors (kmx, mock, ldml?)
2018-11-14 11:58:44 +11:00
Marc Durdin
1ab04f681a
[Common] Code Review updates, some minor changes to API, mostly comments and tests; one bug fix
2018-11-12 19:12:59 +11:00
Tim Eves
6e09aa4a06
Add comments for namespace closing braces that are far from their opening statements
2018-11-07 05:15:25 +07:00
Tim Eves
61f90b172e
Fix path handling so it's wchar_t const * on windows and char const * on linux
2018-11-07 04:49:56 +07:00
Tim Eves
b27fc67259
Rework keyboard API and add more robust checking.
2018-11-07 03:04:45 +07:00
Tim Eves
242105216a
Rename options_set -> options and option -> option_item
2018-11-07 02:13:40 +07:00
Tim Eves
93c76c14df
Move headers into include/keyman from include/
...
Necessary to allow keyboardprocessor.h to refer to auxillary headers as
<keyboard/header.h>
2018-11-06 16:19:14 +07:00
Tim Eves
5ac0c3ff9b
Ensure that the keyboard object has an empty option_set instead of null
...
Make sure the default_options attribute points to something, so we don't
crash the json debug output.
2018-10-31 16:01:48 +07:00
Tim Eves
aa7027fa66
Add keyboard-api test to kmnkmd unit tests
2018-10-30 13:09:31 +07:00
Tim Eves
5ab060974f
Fix build bugs on Windows
2018-10-29 13:20:36 +07:00
Tim Eves
ef548606aa
Move keyboardprocessor into it's new toplevel under common/engine
2018-10-25 13:43:28 +07:00