summaryrefslogtreecommitdiffstats
path: root/java
Commit message (Collapse)AuthorAgeFilesLines
...
* JNI on DBT*: Hold the JNIGlobalRef shared_ptr<JavaAnon> while inside JNI ↵Sven Gothel2022-05-044-14/+29
| | | | | | call, avoiding their destructions This is added for GATT retrieval functions only .. for now.
* Add test using fat fat `Direct-BT Jaulib Fat Jar`: TestBringup00 [ loading ↵Sven Gothel2022-04-241-0/+83
| | | | | | | | | | native libs, show all adapter, no extra permissions ] Notable, the unit tests within the `test` package are using the fat jar files which include the native libraries. The unit tests within the `trial` package, e.g. `TestDBTClientServer00`, use the non-fat Direct-BT jar file only plus selected jaulib jar files for testing framework. In these trials, the native libraries are loaded 'natively', i.e. via given library path.
* DBTManager.java: DEBUG: Br verbose about ShutdownHookSven Gothel2022-04-241-1/+4
| | | | Note: Not called via unit testing, but installed.
* 'Fix' OpenJDK 17 deprecated and removal warningsSven Gothel2022-04-233-7/+15
|
* DBTAdapter.java: Fix BTAdapter::removeStatusListener() return valueSven Gothel2022-04-231-1/+1
|
* noexcept: BTGattChar + BTGattDescSven Gothel2022-04-231-1/+4
|
* Expose original AD_IND and AD_SCAN_RSP EIR in BTDevice, uniquely indicated ↵Sven Gothel2022-04-206-2/+117
| | | | by its EInfoReport::Source and use it to complete exact advertising in dbt_repeater00
* BTDevice::connectLE(): Fix default conn_interval_min 15ms -> 10ms, matching ↵v2.6.5Sven Gothel2022-04-191-1/+1
| | | | Connection_Parameter.md and unit tests (v2.6.5)
* DBTManager.cxx: Adopt to jaulib FunctionDef changesSven Gothel2022-04-181-2/+2
|
* Fix and document default connection paramter, leaning to higher performance ↵Sven Gothel2022-04-141-4/+4
| | | | side - add documentation file
* Align C++ -> Java BTGattChar::get[ClientCharConfig,UserDescription]() and ↵Sven Gothel2022-04-113-48/+70
| | | | | | add API doc Reorder the java code a little to better match C++
* Cleanup Gatt numbers: Merge GattTypes.hpp into GattNumbers.hpp, remove ↵Sven Gothel2022-04-112-0/+2
| | | | redundant and unrelated BTGattDesc::Type
* BTGattCmd: Fix DEBUG mode: Check rsp_data @ string conversion and use ↵Sven Gothel2022-04-091-2/+6
| | | | BTUtils.bytesHexString(..) for string conversion
* DBTGattChar.findGattDesc() (java): Fix wrong comparison (inverse, typo)Sven Gothel2022-04-091-1/+1
|
* *::setDefaultConnParam(): Fix API doc, remove copy/paste fragmentSven Gothel2022-04-081-1/+1
|
* API doc: Fix DiscoveryPolicy::PAUSE_CONNECTED_UNTIL_READY and ↵Sven Gothel2022-02-092-5/+2
| | | | | | | | | | | PAUSE_CONNECTED_UNTIL_PAIRED, which is without GATT service discovery .. GATT service discovery is not included anymore, since user is required to call BTDevice::getGattServices() to initiate MTU exchange and the GATT service discovery. See new to old: - commit 1443d3a084342fffacd405fae3c44ef290bd438e - commit ab9f3dec2d06b9e39241c497e8aa00aaa23966c3
* BDAddressAndType: Document equals(..) methodSven Gothel2022-02-081-0/+6
|
* BT[Adapter|Device].java: Document equals(..) methodSven Gothel2022-02-083-13/+31
|
* Refactor TestDBTClientServer* (reuse tasks); Adding server-adapter for ↵Sven Gothel2022-02-071-1/+5
| | | | client-mode discovery test post client connection
* Adopt jaulib detailed git version info: Using VERSION_COMMITS and ↵Sven Gothel2022-02-072-7/+7
| | | | VERSION_SHA1_SHORT. VERSION_LONG reflects post-tag and dirty.
* Fix commit ecaa2cf69208586da5305cd0289820a88859eb6b: Eclipse erroneous added ↵Sven Gothel2022-02-071-4/+0
| | | | junit packages to import
* Doxygen: Add 'trial' source path, disable CALL_GRAPH (CALLER_GRAPH is ↵Sven Gothel2022-02-071-0/+21
| | | | enough), add \example TestDBTClientServer*.java
* BTDevice: Replace EInfoReport when disconnected w/ empty one (avoid ↵Sven Gothel2022-02-071-0/+2
| | | | accumulation across connects w/o removeDevice), incl in unit test
* Fix DBTAdapter.removeAllStatusListener(): Remove DBTDevice listener and have ↵Sven Gothel2022-02-072-31/+13
| | | | | | | | | (re-added) DBTAdapter update DBTDevice.isConnected Completes commit bac686561fdaf10813738d489f01b557a3812259. This change set allows using BTAdapter.removeAllStatusListener() while having the internal functionality preserved.
* BTAdapter/HCIHandler: Reflect: Advertising is active until either disabled ↵Sven Gothel2022-02-061-0/+11
| | | | | | | | | | | via stopAdvertising() or _a_connection_ has been made. This fix set's HCIHandler's 'advertisingEnabled' flags to 'false' after a 'connection complete' event had occured. Further, HCIHandler::le_enable_adv(..) overrides a potential erroneous HCI failure when: - disabling advertising when already disabled, or - enabling advertising when already enabled as stated in spec 'BT Core Spec v5.2: Vol 4 HCI, Part E HCI Functional: 7.8.9 LE Set Advertising Enable command'
* BTFactory: Expose getManifest() .. helper function to retrieve a Manifest ↵Sven Gothel2022-02-061-1/+4
| | | | instance
* DBTAdapter: Fix removeAllStatusListener(): Re-add internal listener to ↵Sven Gothel2022-02-062-3/+8
| | | | maintain functionality.
* DBTAdapter: Use BTUtils.println(..) instead of System.err.println(..)Sven Gothel2022-02-061-11/+11
|
* DBT[Adapter|Manager].java: Add 'final' qualifier to public methodsSven Gothel2022-02-062-40/+40
|
* BTAdapter.java: API doc: Replace HTML tag with Markup listSven Gothel2022-02-061-24/+19
|
* Add invocation example to dbt_peripheral00.cpp and dbt_repeater00.cpp (and ↵Sven Gothel2022-02-051-0/+3
| | | | remark on their Java counterpart, if existing)
* Custom GATT Processing: MTU and remote GATT Services shall be processed at ↵Sven Gothel2022-02-024-12/+18
| | | | | | | | | | | | | request only via BTDevice::getGattServices() This reverts MTU/GATT-Services 'push up' from getGattServices() -> connectGATT() of commit ab9f3dec2d06b9e39241c497e8aa00aaa23966c3. Objective of this revert and hence removal of the unconditional MTU/GATT-Services query is to allow user to use custom operations. Hence only getGattServices() will trigger the 'auto config' mechanism on the user's request.
* BTAdapter::startAdvertising(): Set default adv_interval from 1.28s -> 400ms ↵Sven Gothel2022-02-023-7/+7
| | | | avoiding long delays (detection + connect), use in peripheral00 example;
* Refine dbt_scanner10/DBTScanner10: Title, PERF status and QUIET flagSven Gothel2022-02-021-3/+2
|
* JNI DBGatt[Server|Service|Char]_ctorImpl(): Add platform agnostic conversion ↵Sven Gothel2022-01-291-25/+28
| | | | | | | | | from long to a pointer of pointer-array (32-bit safe) We need to: `Type *service_ref = (Type *) (intptr_t) jlong_service_ref_array[i];` instead of just casting the pointer-array type to target, which only works on 64-bit platforms.
* BTAdapter: Expose `getBTMajorVersion()` in C++ and Java, removing ↵Sven Gothel2022-01-293-0/+17
| | | | hasHCIExtScan(), hasHCIExtConn() and hasHCIExtAdv()
* DBGatt[Char|Desc]: Fix API doc typoSven Gothel2022-01-282-2/+2
|
* DBGatt[Char|Desc] (Server): Add setValue(..), allowing user to safely ↵Sven Gothel2022-01-284-1/+97
| | | | | | | | | | | overwrite (initial) value server side. Also refine getValue() API doc. Implemented on C++ and Java side. Peripheral00 example uses this facility to set the DEVICE_NAME GATT value using the current adapter name.
* Expose BTUtils.hexStringBytes(..) from jaulibSven Gothel2022-01-271-0/+15
|
* Fix DBGatt[Char|Desc].getValue(..) JNI code: Need to use DBGattValue class ↵Sven Gothel2022-01-271-2/+5
| | | | to construct
* Expose BTManager::setDefaultConnParam(..) via ↵Sven Gothel2022-01-253-0/+52
| | | | BTAdapter::setDefaultConnParam(..), essential in server mode
* Refine BTAdapter API and doc on commands in powerd-off state only: setName() ↵Sven Gothel2022-01-253-11/+25
| | | | and setSecureConnections()
* Define BTDevice::getName(): Set by the advertised EInfoReport if available, ↵Sven Gothel2022-01-251-3/+8
| | | | otherwise by the GATT GenericAccess data post connection
* EInfoReport: Use via share_ptr to allow CoW replacement and copy once (via ↵Sven Gothel2022-01-256-57/+134
| | | | Java as well); Drop JavaUplink, not used.
* Add DBGattServer::Listener::write[Char|Desc]ValueDone() (C++/Java), ↵Sven Gothel2022-01-242-0/+46
| | | | | | | | | | | | | | | notifyies completion of single or bulk writeCharValue() .. BTGattHandler maintains a handle list 'writeDataQueueHandles', grouping all queued writes (PREPARE_WRITE_REQ). Final EXECUTE_WRITE_REQ will issue one applyWrite(..) per queued write-req. If all were successful (accepted and performed), one signalWriteDone() will be issued per handle. This allows the user to react on a completed write-queue having the full data set available. +++
* Enhance API doc: DBGattServer::Listener (C++) and DBGattServer.Listener (java)Sven Gothel2022-01-241-0/+13
|
* GattNumbers.hpp/DBGattChar.java: Add GENERIC_ATTRIBUTE's Characteristic ↵Sven Gothel2022-01-241-0/+5
| | | | GattCharacteristicType::SERVICE_CHANGED / DBGattChar.UUID16.SERVICE_CHANGED
* DBTDevice::getEIRImpl(): Just copy instance w/o clear and setSven Gothel2022-01-181-2/+1
|
* getHCIConnSupervisorTimeout(): Revise types and add overload (Java)Sven Gothel2022-01-181-5/+24
|
* DBTDevice.java/cxx: Reuse EInfoReport instance and clear before retrieving dataSven Gothel2022-01-182-5/+6
|