2
0

ZT_jnicache.h 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. //
  2. // Created by Brenton Bostick on 1/18/23.
  3. //
  4. #ifndef ZEROTIERANDROID_JNICACHE_H
  5. #define ZEROTIERANDROID_JNICACHE_H
  6. #include <jni.h>
  7. //
  8. // Classes
  9. //
  10. extern jclass ArrayList_class;
  11. extern jclass DataStoreGetListener_class;
  12. extern jclass DataStorePutListener_class;
  13. extern jclass EventListener_class;
  14. extern jclass Event_class;
  15. extern jclass Inet4Address_class;
  16. extern jclass Inet6Address_class;
  17. extern jclass InetAddress_class;
  18. extern jclass InetSocketAddress_class;
  19. extern jclass NodeStatus_class;
  20. extern jclass Node_class;
  21. extern jclass PacketSender_class;
  22. extern jclass PathChecker_class;
  23. extern jclass PeerPhysicalPath_class;
  24. extern jclass PeerRole_class;
  25. extern jclass Peer_class;
  26. extern jclass ResultCode_class;
  27. extern jclass Version_class;
  28. extern jclass VirtualNetworkConfigListener_class;
  29. extern jclass VirtualNetworkConfigOperation_class;
  30. extern jclass VirtualNetworkConfig_class;
  31. extern jclass VirtualNetworkDNS_class;
  32. extern jclass VirtualNetworkFrameListener_class;
  33. extern jclass VirtualNetworkRoute_class;
  34. extern jclass VirtualNetworkStatus_class;
  35. extern jclass VirtualNetworkType_class;
  36. //
  37. // Instance methods
  38. //
  39. extern jmethodID ArrayList_add_method;
  40. extern jmethodID ArrayList_ctor;
  41. extern jmethodID DataStoreGetListener_onDataStoreGet_method;
  42. extern jmethodID DataStorePutListener_onDataStorePut_method;
  43. extern jmethodID DataStorePutListener_onDelete_method;
  44. extern jmethodID EventListener_onEvent_method;
  45. extern jmethodID EventListener_onTrace_method;
  46. extern jmethodID InetAddress_getAddress_method;
  47. extern jmethodID InetSocketAddress_ctor;
  48. extern jmethodID InetSocketAddress_getAddress_method;
  49. extern jmethodID InetSocketAddress_getPort_method;
  50. extern jmethodID NodeStatus_ctor;
  51. extern jmethodID PacketSender_onSendPacketRequested_method;
  52. extern jmethodID PathChecker_onPathCheck_method;
  53. extern jmethodID PathChecker_onPathLookup_method;
  54. extern jmethodID PeerPhysicalPath_ctor;
  55. extern jmethodID Peer_ctor;
  56. extern jmethodID Version_ctor;
  57. extern jmethodID VirtualNetworkConfigListener_onNetworkConfigurationUpdated_method;
  58. extern jmethodID VirtualNetworkConfig_ctor;
  59. extern jmethodID VirtualNetworkDNS_ctor;
  60. extern jmethodID VirtualNetworkFrameListener_onVirtualNetworkFrame_method;
  61. extern jmethodID VirtualNetworkRoute_ctor;
  62. //
  63. // Static methods
  64. //
  65. extern jmethodID Event_fromInt_method;
  66. extern jmethodID InetAddress_getByAddress_method;
  67. extern jmethodID PeerRole_fromInt_method;
  68. extern jmethodID ResultCode_fromInt_method;
  69. extern jmethodID VirtualNetworkConfigOperation_fromInt_method;
  70. extern jmethodID VirtualNetworkStatus_fromInt_method;
  71. extern jmethodID VirtualNetworkType_fromInt_method;
  72. //
  73. // Enums
  74. //
  75. extern jobject ResultCode_RESULT_FATAL_ERROR_INTERNAL_enum;
  76. extern jobject ResultCode_RESULT_OK_enum;
  77. void setupJNICache(JavaVM *vm);
  78. void teardownJNICache(JavaVM *vm);
  79. #endif // ZEROTIERANDROID_JNICACHE_H