Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
DBTServerTest.java
Go to the documentation of this file.
1/**
2 * Author: Sven Gothel <sgothel@jausoft.com>
3 * Copyright (c) 2022 Gothel Software e.K.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sublicense, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be
14 * included in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 */
24package trial.org.direct_bt;
25
26import org.direct_bt.BTAdapter;
27import org.direct_bt.BTRole;
28import org.direct_bt.BTSecurityLevel;
29import org.direct_bt.HCIStatusCode;
30import org.junit.Assert;
31
32public interface DBTServerTest extends DBTEndpoint {
33
35
37
38 public static void startAdvertising(final DBTServerTest server, final boolean current_exp_advertising_state, final String msg) {
39 final BTAdapter adapter = server.getAdapter();
40 Assert.assertEquals(current_exp_advertising_state, adapter.isAdvertising());
41 Assert.assertFalse(adapter.isDiscovering());
42
43 Assert.assertEquals( HCIStatusCode.SUCCESS, server.startAdvertising(msg) );
44 Assert.assertTrue(adapter.isAdvertising());
45 Assert.assertFalse(adapter.isDiscovering());
46 Assert.assertEquals( BTRole.Slave, adapter.getRole() );
47 Assert.assertEquals( server.getName(), adapter.getName() );
48
49 }
50
51 public static void stop(final DBTServerTest server, final String msg) {
52 final BTAdapter adapter = server.getAdapter();
53 Assert.assertFalse(adapter.isDiscovering());
54 Assert.assertEquals( BTRole.Slave, adapter.getRole() ); // kept
55
56 // Stopping advertising and serving even if stopped must be OK!
57 server.close(msg);
58 Assert.assertFalse(adapter.isAdvertising());
59 Assert.assertFalse(adapter.isDiscovering());
60 Assert.assertEquals( BTRole.Slave, adapter.getRole() ); // kept
61 }
62}
Bluetooth roles from the perspective of the link layer (connection initiator).
Definition: BTRole.java:36
Slave
Slave or peripheral role, advertising and waiting for connections to accept.
Definition: BTRole.java:42
Bluetooth Security Level.
BT Core Spec v5.2: Vol 1, Part F Controller Error Codes: 1.3 List of Error Codes.
BTAdapter represents one local Bluetooth Controller.
Definition: BTAdapter.java:48
String getName()
Returns the name.
boolean isAdvertising()
Returns the adapter's current advertising state.
boolean isDiscovering()
Returns true if the meta discovering state is not ScanType#NONE.
BTRole getRole()
Return the current BTRole of this adapter.
String getName()
Return name of this endpoint, which becomes the adapter's name.
void close(final String msg)
BTAdapter getAdapter()
Return the adapter for this endpoint.
BTSecurityLevel getSecurityLevel()
static void startAdvertising(final DBTServerTest server, final boolean current_exp_advertising_state, final String msg)
HCIStatusCode startAdvertising(String msg)
static void stop(final DBTServerTest server, final String msg)