]> git.basschouten.com Git - openhab-addons.git/blob
f7d7f301bfe8d238a9448ce59b9512278d439630
[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.security;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.bluetooth.bluegiga.internal.BlueGigaCommand;
17
18 /**
19  * Class to implement the BlueGiga command <b>passKey</b>.
20  * <p>
21  * This command is used to enter a passkey required for Man-in-the-Middle pairing. It should be
22  * sent as a response to Passkey Request event.
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  */
30 @NonNullByDefault
31 public class BlueGigaPassKeyCommand extends BlueGigaCommand {
32     public static int COMMAND_CLASS = 0x05;
33     public static int COMMAND_METHOD = 0x04;
34
35     /**
36      * Connection handle
37      * <p>
38      * BlueGiga API type is <i>uint8</i> - Java type is {@link int}
39      */
40     private int handle;
41
42     /**
43      * Passkey. Range: 000000-999999
44      * <p>
45      * BlueGiga API type is <i>uint32</i> - Java type is {@link long}
46      */
47     private long passkey;
48
49     /**
50      * Connection handle
51      *
52      * @param handle the handle to set as {@link int}
53      */
54     public void setHandle(int handle) {
55         this.handle = handle;
56     }
57
58     /**
59      * Passkey. Range: 000000-999999
60      *
61      * @param passkey the passkey to set as {@link long}
62      */
63     public void setPasskey(long passkey) {
64         this.passkey = passkey;
65     }
66
67     @Override
68     public int[] serialize() {
69         // Serialize the header
70         serializeHeader(COMMAND_CLASS, COMMAND_METHOD);
71
72         // Serialize the fields
73         serializeUInt8(handle);
74         serializeUInt32(passkey);
75
76         return getPayload();
77     }
78
79     @Override
80     public String toString() {
81         final StringBuilder builder = new StringBuilder();
82         builder.append("BlueGigaPassKeyCommand [handle=");
83         builder.append(handle);
84         builder.append(", passkey=");
85         builder.append(passkey);
86         builder.append(']');
87         return builder.toString();
88     }
89 }