Corentin Wallez
fffe6dfa16
Split backend/common in backend/ and common/
...
This directory used to contain both the state tracking code for the
backends, and the common utilities that could be used both by the
backends and the rest of the code. Things are now:
- src/common is utility code for the whole repo
- src/backend contains libNXT's code
- src/utils is utility code that we don't want in libNXT
This commit also changes all includes to use global paths from src/
bacause it had to touch a bunch of #include statements anyway.
2017-07-06 17:54:52 -04:00
Corentin Wallez
5e03aec75a
Remove some unused variables
2017-07-06 16:30:20 -04:00
Corentin Wallez
dbb5729e64
Add Device::Tick for periodic work
2017-06-15 13:27:50 -07:00
Corentin Wallez
367cb3515c
Fix MapRead error callback being called with a valid pointer
...
This happened when a request resulted in an error while the buffer was
already mapped. Adds a test that catches the error.
2017-06-13 08:30:01 -07:00
Corentin Wallez
9388b23212
Implement Buffer::MapReadAsync in the wire
2017-06-13 08:30:01 -07:00
Corentin Wallez
b1c19eeb4f
Add Buffer::MapReadAsync state-tracking
2017-06-13 08:30:01 -07:00
Corentin Wallez
944b60fb75
Fix compilation on Windows
...
There are still a bunch of warning that we should remove.
2017-05-30 10:48:32 -07:00
Corentin Wallez
635d7d599f
Generate an nxtcpp_traits.h with metaprogramming helpers
...
The files currently has Builder and BuiltObject template type aliases to
go from builder type to built object type or vice-versa.
2017-05-30 10:40:43 -07:00
Corentin Wallez
a0a9f633ce
Fix ObjectBase's move constructor not setting handle to nullptr
...
This caused a crash because if handle was set to garbage then the
move-constructor would try to call the Release function on it.
2017-05-30 10:40:43 -07:00
Corentin Wallez
75bbcec543
Add wire test for the maybe monad
2017-05-19 10:41:36 +02:00
Corentin Wallez
42f2d3c5f2
Add wire tests for *SetErrorCallback
2017-05-19 10:41:36 +02:00
Corentin Wallez
1b7c5e3f70
Mock API: special case the SetErrorCallback procs.
...
Also add a suppression for these procs in wiretests, unless we are
specifically testing them.
2017-05-19 10:41:36 +02:00
Kai Ninomiya
314f3852a3
Fix Linux build
2017-05-16 21:09:14 +02:00
Corentin Wallez
36cf2dd54b
Make autogenerated validation produce device or builder errors
2017-05-11 11:31:54 +02:00
Corentin Wallez
f79df0c62d
Print builder errors by default.
2017-05-11 11:31:54 +02:00
Corentin Wallez
cd0ea35889
Implement builder callback forwarding in the wire
2017-05-11 11:31:54 +02:00
Corentin Wallez
7f96177289
Implement the builder error callback in the backends
...
This makes the Builder base class retain the error status, if any, and
call the callback on GetResult (or ~Builder, whichever comes first).
2017-05-11 11:31:54 +02:00
Corentin Wallez
4b410a33ca
Implement the device error callback.
...
This adds support for "natively defined" API types like callbacks that
will have to be implemented manually for each target language. Also this
splits the concept of "native method" into a set of native methods per
language.
Removes the "Synchronous error" concept that was used to make builders
work in the maybe Monad, this will have to be reinroduced with builder
callbacks.
2017-05-11 11:31:54 +02:00
Corentin Wallez
682a8250b3
Plumb the server->client wire
2017-05-11 11:31:54 +02:00
Corentin Wallez
a2d4d14bd4
mock_api: Only mock methods with less than 10 arguments
...
GoogleMock only handles up to 10 arguments, but functions this big
probably won't be used in mocked tests so we can just skip them.
2017-05-10 19:49:52 +02:00
Corentin Wallez
5473d719f7
Update blink generators for the big Blink rename.
2017-04-26 15:17:03 -04:00
Corentin Wallez
f07e3bd4c9
Initial commit of all the NXT integration.
...
More like squashed history, contributors were:
- Kai Ninomiya
- Corentin Wallez
2017-04-20 14:38:20 -04:00