Peter Johnson
90ce262bb3
C++ NetworkTable: Provide SetPort() method.
...
This was previously only available in Java.
2015-09-19 11:44:14 -07:00
Peter Johnson
23448c8277
NetworkTable interface: Provide method to set persistent filename.
2015-09-19 11:40:31 -07:00
Peter Johnson
d9fa086ec0
Include the ARM JDK JNI headers.
...
These are GPL-licensed. This removes the dependency on the ARM JDK being
installed.
Fixes #24 .
2015-09-19 08:30:40 -07:00
Peter Johnson
3b91fac192
ntcore.def: Add JNI getEntries function.
2015-09-17 21:39:42 -07:00
Peter Johnson
e42f9b0603
Add EntryInfo class (missed in previous commit).
2015-09-16 00:53:14 -07:00
Peter Johnson
c5d456f3a6
Add ITable/NetworkTable GetKeys and GetSubTables accessors.
2015-09-16 00:51:05 -07:00
Peter Johnson
6cbc219427
Add ITable/NetworkTable accessors for new features.
2015-09-15 23:43:42 -07:00
Peter Johnson
4b06e74a14
Java: Return boolean from put functions.
...
The put functions return false if the key already exists with a different type.
2015-09-15 22:23:34 -07:00
Peter Johnson
42f973ebe0
Java: Don't raise illegal state exceptions unless really necessary.
...
- Ignore no-op calls to setServerMode() / setClientMode().
- Duplicate calls to initialize() act as a restart.
- shutdown() silently does nothing if not running.
2015-09-15 22:03:11 -07:00
Peter Johnson
84e7d5906c
Java: Use Global instead of WeakGlobal for callbacks.
...
For some reason, weak globals don't work as they (unexpectedly) are
getting destroyed even though we save the callback in a map at the Java
level.
2015-09-15 21:32:51 -07:00
Peter Johnson
51eb96903c
Java: Improve robustness against JVM crashes on exit.
...
The JVM doesn't always do a good job of telling JNI modules that the JVM
is going away, which results in a crash in the JavaGlobal and/or
JavaWeakGlobal destructors as they try to delete the associated references
after the JVM has already gone away.
To protect against this, the Notifier now has a static variable that's set
when the Notifier instance (a singleton) is destroyed. This is used by
JavaGlobal and JavaWeakGlobal to detect when a process exit is in process.
2015-09-14 22:00:22 -07:00
Peter Johnson
6d8e796932
Disable logging on static instance destruction.
...
This avoids possible deadlocks on exit when a logger callback exists.
2015-09-12 21:44:51 -07:00
Peter Johnson
f7e603c7db
Add DEBUG4 message for messages received during client handshake.
2015-09-11 19:19:15 -07:00
Peter Johnson
30ad381b6c
Notify on entries created/modified during handshake.
2015-09-11 19:18:50 -07:00
Peter Johnson
5181c4e5be
Java: Don't free locals after detaching thread.
...
We use a smart pointer to hold local java variables, and it was getting
destructed after DetachCurrentThread() was called, causing a JVM crash.
2015-09-11 16:28:58 -07:00
Peter Johnson
a2ec638db8
Java: Use empty string as default IP rather than null.
...
Using null can crash the JVM if initialize() is called before setIPAddress.
2015-09-11 12:06:22 -07:00
Peter Johnson
953a2ce807
Implement keep-alives.
2015-09-08 23:17:11 -07:00
Peter Johnson
e1efb7364e
Don't allow update intervals slower than 1 second.
2015-09-06 11:41:35 -07:00
Peter Johnson
123ba9c670
Use SmallVector instead of malloc buffers for WireEncoder.
2015-09-06 11:00:44 -07:00
Peter Johnson
d3e63e0078
Change cmake to output same jar name (ntcore) as gradle.
2015-09-05 23:19:22 -07:00
Fredric Silberberg
21e21d3b8b
Fixed the Windows build. Also added ensuring that vs2012 is installed if
...
vs2015 is detecting, and printing an error that actually makes sense if it
is not. Finally, added a .gitreview file, so that git-review will be able
to autodetect the host and project for ntcore automatically.
Change-Id: I3cb9910d03d4742619770c91c06e3d5d1ee0f031
2015-09-06 01:12:19 -04:00
Peter Johnson
702b6de734
Java: Fix crash on JVM exit.
...
Fixes #22 .
2015-09-05 11:05:02 -07:00
Peter Johnson
6233b3477b
Java: Fix fallback on external library.
2015-09-05 10:57:37 -07:00
Peter Johnson
07942bf422
Notifier: fix Stop() so it actually notifies the thread.
2015-09-05 10:55:24 -07:00
Peter Johnson
66f9f73cb3
Add gradle wrapper.
2015-09-03 21:31:31 -07:00
Peter Johnson
2dd9eafa4f
Enable "make test" on cmake.
2015-09-03 21:31:31 -07:00
Fredric Silberberg
b1783cc1db
Integrate googletest and googlemock.
2015-09-03 21:31:26 -07:00
Peter Johnson
c5c615b7d3
Add sublime text files to .gitignore.
2015-09-03 21:13:33 -07:00
Peter Johnson
897420a5f4
Reindent build.gradle.
2015-09-03 20:44:32 -07:00
Peter Johnson
550b04cff8
Merge pull request #21 from ThadHouse/master
...
Documents the C API
2015-08-31 21:05:26 -07:00
Thad House
46e0ac1258
Added documentation to the C interface
...
Client/Server functions.
2015-08-31 19:12:45 -07:00
Thad House
22d984a6bd
Comments the interop functions in the C interface.
...
Properly space the comments.
2015-08-31 18:56:05 -07:00
Peter Johnson
8d6f96adb9
Add NT_FreeCharArray.
2015-08-29 08:58:53 -07:00
Peter Johnson
1f431754a9
Simplify C entry point function names.
...
Rename GetEntry*FromValue to GetValue*.
Rename a couple of NTStringArray to simply StringArray.
2015-08-29 08:48:36 -07:00
Peter Johnson
40093df91f
Remove NT_AllocateNTString from ntcore.def.
2015-08-29 08:43:57 -07:00
Peter Johnson
f3bfee149c
Change NT_GetEntry*FromValue to return copies.
...
Previously they returned references to the strings/arrays within the passed
NT_Value, which is different from the GetEntry* functions and risks
double-frees.
2015-08-29 08:39:40 -07:00
Peter Johnson
9b9b41f40e
Reformat to match coding style. No functional changes.
2015-08-29 08:30:40 -07:00
Peter Johnson
a451fd3f04
Make string/raw getters/setters use char*+len instead of NT_String.
...
Also remove NT_AllocateString.
This avoids passing and returning struct NT_String by value.
Also make GetEntry*FromValue take a const NT_Value*.
2015-08-29 08:25:48 -07:00
Peter Johnson
7565207242
StartClient(): Make a local copy of server_name.
...
Previously we just held onto the const char* provided by the user.
This does not work in cases such as Java which provide a temporary
string.
2015-08-29 00:07:10 -07:00
Peter Johnson
e516200e09
Java: Add shutdown method to NetworkTable.
2015-08-28 23:57:37 -07:00
Peter Johnson
5beaf45773
TCPConnector: Add more info to debug messages.
2015-08-28 23:57:18 -07:00
Peter Johnson
1ca0157768
Java: Add backwards compat shims for array types.
2015-08-28 21:09:46 -07:00
Peter Johnson
dbe4168d8d
Java: allow both object arrays and native arrays.
...
This allows easier use of things like ArrayList<Double>.
2015-08-28 20:48:29 -07:00
Peter Johnson
969916851c
Need to return nullptr, not false.
2015-08-28 17:17:20 -07:00
Peter Johnson
b00b4cb185
Avoid warnings by using sprintf_s on MSVC.
...
Also use std::snprintf on other platforms.
2015-08-28 14:16:49 -07:00
Peter Johnson
2b9e7c6af1
Silence MSVC warnings regarding bool conversions.
2015-08-28 14:07:51 -07:00
Peter Johnson
0d9aaa86c6
Silence unused variable warning.
2015-08-28 14:07:18 -07:00
Peter Johnson
28b613d60c
Silence MSVC winsock deprecated warnings.
2015-08-28 14:06:46 -07:00
Peter Johnson
b971c741d7
Fix JNI for Windows and implement JNI getValue functions.
2015-08-28 13:52:16 -07:00
Peter Johnson
ecadb117da
Merge pull request #5 from ThadHouse/master
...
Add Getters, Setters, and Allocators to the C interface
2015-08-28 13:40:21 -07:00