Thad House
067b1f3ee0
Adds a way to get the native handle from SafeThread ( #198 )
...
Useful to wpilib to enable easier changing of RT priorities.
2017-05-09 22:04:57 -07:00
Thad House
9a2ec13ba4
Fixes SetIntArrayRegion template for windows builds ( #178 )
2017-01-02 22:29:56 -08:00
Peter Johnson
e3f99a4a22
JStringRef: ensure string is null terminated so c_str() works correctly.
2016-12-26 14:13:15 -08:00
Peter Johnson
bb9f5b7491
jni_util: Add JException wrapper class.
...
This allows more natural C++ Throw semantics (for a variety of string
data types) for any java exception that just takes a String argument.
2016-12-15 21:54:36 -08:00
Peter Johnson
57d053a8fb
jni_util: Make JStringRef and JArrayRef null-safe.
...
They return empty string and empty array (to avoid crashes) but also
report an error with backtrace to stderr when called in that manner.
2016-12-14 23:59:06 -08:00
Peter Johnson
0e43765c53
jni_util: Add GetJavaStackTrace.
2016-12-14 23:59:02 -08:00
Peter Johnson
12aee3e022
Make JLocal and JArrayRef movable but non-copyable.
2016-12-14 23:29:23 -08:00
Peter Johnson
498a8e2b7d
Fix JArrayRef DirectBuffer destructor.
...
Previously it would try to release array elements even if the DirectBuffer
constructor was used.
2016-12-14 23:29:23 -08:00
Peter Johnson
4568156bdf
Make JClass more useful and use it in ntcore JNI.
2016-12-14 23:29:18 -08:00
Peter Johnson
558b2ffa41
NetworkStream: Add setBlocking() and getNativeHandle(). ( #161 )
...
Also add checking for "would block" errors in send() and receive().
Check for set nonblocking failures in TCPConnector as well (generate warnings rather than errors)
2016-11-27 19:59:52 -08:00
Thad House
2657d89178
Adds a c_str method to StringRef ( #155 )
...
The StringRef class does not ensure the string is null terminated. As there is
no defined way to actually check for a null terminator, we determine
if it is null terminated based on the constructor type. Then if on c_str
it is not known to be null terminated, we use a passed in buffer to copy
the string and ensure null termination.
2016-11-14 22:51:52 -08:00
Peter Johnson
b12658afc2
Make SafeThreadOwner moveable. ( #153 )
...
This allows it to be used in data structures such as std::vector.
Also make GetThread() const.
2016-11-11 22:18:52 -08:00
Thad House
3d1f69075a
Adds a size parameter to JStringRef ( #152 )
...
Want to use that for some allwpilib JNI cleanups and potential bug fixes
2016-11-07 19:35:48 -08:00
Peter Johnson
28c8678ea2
SafeThread: Use atomic for m_active.
2016-11-04 23:39:09 -07:00
Thad House
d1065f0bd1
Moves deprecation definition to wpiutil ( #149 )
2016-11-03 20:08:47 -07:00
Peter Johnson
e4234f5198
raw_istream: Add std::istream style in_avail(). ( #135 )
2016-10-21 22:50:38 -07:00
Peter Johnson
7b3f6eeae2
Add raw_fd_istream. ( #121 )
2016-10-08 16:03:33 -07:00
Peter Johnson
d4bbd5cc6f
Make raw_socket_istream constructor explicit.
2016-09-25 19:48:49 -07:00
Peter Johnson
7463e02080
Logger: Use raw_ostream and SmallString.
2016-09-25 19:48:49 -07:00
Peter Johnson
f711ced4ca
Add raw_socket_ostream.
...
This wraps NetworkStream in a llvm::raw_ostream.
2016-09-25 19:48:49 -07:00
Peter Johnson
a92b7298f9
Add 1-character read to raw_istream.
2016-09-25 19:48:49 -07:00
Peter Johnson
4c6c096c50
Change API of raw_istream to be more similar to raw_ostream.
2016-09-25 19:48:49 -07:00
Peter Johnson
b2e1291973
Refactor JNI helpers into wpiutil (support/jni_util.h). ( #105 )
2016-09-25 19:29:17 -07:00
Peter Johnson
760d6a26d3
Make SafeThread header-only. ( #117 )
2016-09-25 18:21:29 -07:00
Peter Johnson
d8ee44349c
Update to latest LLVM code ( #88 )
...
* Update to latest LLVM code.
* Add LLVM's raw_ostream.
* MathExtras.h: Include cmath for log2.
2016-09-25 17:49:01 -07:00
Peter Johnson
d90cf843e8
Move common utility classes to wpiutil library. ( #79 )
...
This is a breaking change to dependencies that use the static ntcore
library. Unless the wpiutil library is also linked, linker errors will
result. This does not affect the shared ntcore library.
2016-09-25 17:23:39 -07:00