Line data Source code
1 : /*
2 : * Package : mqtt_client
3 : * Author : S. Hamblett <steve.hamblett@linux.com>
4 : * Date : 15/06/2017
5 : * Copyright : S.Hamblett
6 : */
7 :
8 : part of mqtt_client;
9 :
10 : /// Message that indicates a connection acknowledgement.
11 : class MqttConnectAckMessage extends MqttMessage {
12 : /// Initializes a new instance of the MqttConnectAckMessage class.
13 : /// Only called via the MqttMessage.Create operation during processing of an Mqtt message stream.
14 4 : MqttConnectAckMessage() {
15 12 : this.header = new MqttHeader().asType(MqttMessageType.connectAck);
16 8 : this.variableHeader = new MqttConnectAckVariableHeader();
17 8 : this.variableHeader.returnCode = MqttConnectReturnCode.connectionAccepted;
18 : }
19 :
20 : /// Gets or sets the variable header contents. Contains extended metadata about the message
21 : MqttConnectAckVariableHeader variableHeader;
22 :
23 : /// Initializes a new instance of the MqttConnectAckMessage class.
24 : MqttConnectAckMessage.fromByteBuffer(MqttHeader header,
25 4 : MqttByteBuffer messageStream) {
26 4 : this.header = header;
27 4 : readFrom(messageStream);
28 : }
29 :
30 : /// Reads a message from the supplied stream.
31 : void readFrom(MqttByteBuffer messageStream) {
32 4 : super.readFrom(messageStream);
33 4 : this.variableHeader =
34 4 : new MqttConnectAckVariableHeader.fromByteBuffer(messageStream);
35 : }
36 :
37 : /// Writes a message to the supplied stream.
38 : void writeTo(MqttByteBuffer messageStream) {
39 16 : this.header.writeTo(variableHeader.getWriteLength(), messageStream);
40 8 : this.variableHeader.writeTo(messageStream);
41 : }
42 :
43 : /// Sets the return code of the Variable Header.
44 : MqttConnectAckMessage withReturnCode(MqttConnectReturnCode returnCode) {
45 8 : this.variableHeader.returnCode = returnCode;
46 : return this;
47 : }
48 :
49 : String toString() {
50 4 : final StringBuffer sb = new StringBuffer();
51 8 : sb.write(super.toString());
52 12 : sb.writeln(variableHeader.toString());
53 4 : return sb.toString();
54 : }
55 : }
|