]> git.basschouten.com Git - openhab-addons.git/blob
5b2d1c2cd8ddacd9b811f5ccd284337cbeca2d7b
[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.attributedb;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.binding.bluetooth.bluegiga.internal.BlueGigaResponse;
17
18 /**
19  * Class to implement the BlueGiga command <b>attributeStatusEvent</b>.
20  * <p>
21  * This event indicates attribute status flags have changed. For example, this even is
22  * generated at the module acting as the GATT Server whenever the remote GATT Client changes the
23  * Client Characteristic Configuration to start or stop notification or indications from the
24  * Server.
25  * <p>
26  * This class provides methods for processing BlueGiga API commands.
27  * <p>
28  * Note that this code is autogenerated. Manual changes may be overwritten.
29  *
30  * @author Chris Jackson - Initial contribution of Java code generator
31  */
32 @NonNullByDefault
33 public class BlueGigaAttributeStatusEvent extends BlueGigaResponse {
34     public static final int COMMAND_CLASS = 0x02;
35     public static final int COMMAND_METHOD = 0x02;
36
37     /**
38      * Attribute handle
39      * <p>
40      * BlueGiga API type is <i>uint16</i> - Java type is {@link int}
41      */
42     private int handle;
43
44     /**
45      * Attribute status flags. See: Attribute Status Flags
46      * <p>
47      * BlueGiga API type is <i>uint8</i> - Java type is {@link int}
48      */
49     private int flags;
50
51     /**
52      * Event constructor
53      */
54     public BlueGigaAttributeStatusEvent(int[] inputBuffer) {
55         // Super creates deserializer and reads header fields
56         super(inputBuffer);
57
58         event = (inputBuffer[0] & 0x80) != 0;
59
60         // Deserialize the fields
61         handle = deserializeUInt16();
62         flags = deserializeUInt8();
63     }
64
65     /**
66      * Attribute handle
67      * <p>
68      * BlueGiga API type is <i>uint16</i> - Java type is {@link int}
69      *
70      * @return the current handle as {@link int}
71      */
72     public int getHandle() {
73         return handle;
74     }
75
76     /**
77      * Attribute status flags. See: Attribute Status Flags
78      * <p>
79      * BlueGiga API type is <i>uint8</i> - Java type is {@link int}
80      *
81      * @return the current flags as {@link int}
82      */
83     public int getFlags() {
84         return flags;
85     }
86
87     @Override
88     public String toString() {
89         final StringBuilder builder = new StringBuilder();
90         builder.append("BlueGigaAttributeStatusEvent [handle=");
91         builder.append(handle);
92         builder.append(", flags=");
93         builder.append(flags);
94         builder.append(']');
95         return builder.toString();
96     }
97 }