]> git.basschouten.com Git - openhab-addons.git/blob
37e53bd3b9878b1092947c7e954968f07311e804
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
7  * This program and the accompanying materials are made available under the
8  * terms of the Eclipse Public License 2.0 which is available at
9  * http://www.eclipse.org/legal/epl-2.0
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.bluetooth.bluegiga.internal.command.connection;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.bluetooth.bluegiga.internal.BlueGigaDeviceCommand;
17
18 /**
19  * Class to implement the BlueGiga command <b>disconnect</b>.
20  * <p>
21  * This command disconnects an active connection. Bluetooth When link is disconnected a
22  * Disconnected event is produced.
23  * <p>
24  * This class provides methods for processing BlueGiga API commands.
25  * <p>
26  * Note that this code is autogenerated. Manual changes may be overwritten.
27  *
28  * @author Chris Jackson - Initial contribution of Java code generator
29  * @author Pauli Anttila - Added message builder
30  */
31 @NonNullByDefault
32 public class BlueGigaDisconnectCommand extends BlueGigaDeviceCommand {
33     public static int COMMAND_CLASS = 0x03;
34     public static int COMMAND_METHOD = 0x00;
35
36     private BlueGigaDisconnectCommand(CommandBuilder builder) {
37         super.setConnection(builder.connection);
38     }
39
40     @Override
41     public int[] serialize() {
42         // Serialize the header
43         serializeHeader(COMMAND_CLASS, COMMAND_METHOD);
44
45         // Serialize the fields
46         serializeUInt8(connection);
47
48         return getPayload();
49     }
50
51     @Override
52     public String toString() {
53         final StringBuilder builder = new StringBuilder();
54         builder.append("BlueGigaDisconnectCommand [connection=");
55         builder.append(connection);
56         builder.append(']');
57         return builder.toString();
58     }
59
60     public static class CommandBuilder {
61         private int connection;
62
63         /**
64          * Set connection handle.
65          *
66          * @param connection the connection to set as {@link int}
67          */
68         public final CommandBuilder withConnection(int connection) {
69             this.connection = connection;
70             return this;
71         }
72
73         public BlueGigaDisconnectCommand build() {
74             return new BlueGigaDisconnectCommand(this);
75         }
76     }
77 }