
com.github.besherman.lifx.impl.entities.internal.structle.LxProtocolWifi Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of lifx-sdk-java Show documentation
Show all versions of lifx-sdk-java Show documentation
A port of "LIFX Android SDK" to Java
The newest version!
/*
* The MIT License
*
* Created by Jarrod Boyes on 24/03/14.
* Copyright (c) 2014 LIFX Labs. All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package com.github.besherman.lifx.impl.entities.internal.structle;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.github.besherman.lifx.impl.entities.internal.structle.StructleTypes.Bool8;
import com.github.besherman.lifx.impl.entities.internal.structle.StructleTypes.Int16;
import com.github.besherman.lifx.impl.entities.internal.structle.StructleTypes.LxProtocolTypeBase;
import com.github.besherman.lifx.impl.entities.internal.structle.StructleTypes.UInt16;
import com.github.besherman.lifx.impl.entities.internal.structle.StructleTypes.UInt32;
import com.github.besherman.lifx.impl.entities.internal.structle.StructleTypes.UInt8;
@SuppressWarnings("unused")
public class LxProtocolWifi {
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::Interface
////////////////////////////////////////////////////////////////////////////
public enum Interface {
LX_PROTOCOL_WIFI_INTERFACE_SOFT_AP, // LX_PROTOCOL_WIFI_INTERFACE_SOFT_AP = 1
LX_PROTOCOL_WIFI_INTERFACE_STATION, // LX_PROTOCOL_WIFI_INTERFACE_STATION = 2
};
public static final HashMap interfaceValueMap;
public static final HashMap interfaceMap;
////////////////////////////////////////////////////////////////////////////
// Enum Lx::Protocol::Wifi::Security
////////////////////////////////////////////////////////////////////////////
public enum Security {
LX_PROTOCOL_WIFI_SECURITY_UNKNOWN, // LX_PROTOCOL_WIFI_SECURITY_UNKNOWN = 0
LX_PROTOCOL_WIFI_SECURITY_OPEN, // LX_PROTOCOL_WIFI_SECURITY_OPEN = 1
LX_PROTOCOL_WIFI_SECURITY_WEP_PSK, // LX_PROTOCOL_WIFI_SECURITY_WEP_PSK = 2
LX_PROTOCOL_WIFI_SECURITY_WPA_TKIP_PSK, // LX_PROTOCOL_WIFI_SECURITY_WPA_TKIP_PSK = 3
LX_PROTOCOL_WIFI_SECURITY_WPA_AES_PSK, // LX_PROTOCOL_WIFI_SECURITY_WPA_AES_PSK = 4
LX_PROTOCOL_WIFI_SECURITY_WPA2_AES_PSK, // LX_PROTOCOL_WIFI_SECURITY_WPA2_AES_PSK = 5
LX_PROTOCOL_WIFI_SECURITY_WPA2_TKIP_PSK, // LX_PROTOCOL_WIFI_SECURITY_WPA2_TKIP_PSK = 6
LX_PROTOCOL_WIFI_SECURITY_WPA2_MIXED_PSK, // LX_PROTOCOL_WIFI_SECURITY_WPA2_MIXED_PSK = 7
};
public static final HashMap securityValueMap;
public static final HashMap securityMap;
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::Status
////////////////////////////////////////////////////////////////////////////
public enum Status {
LX_PROTOCOL_WIFI_STATUS_CONNECTING, // LX_PROTOCOL_WIFI_STATUS_CONNECTING = 0
LX_PROTOCOL_WIFI_STATUS_CONNECTED, // LX_PROTOCOL_WIFI_STATUS_CONNECTED = 1
LX_PROTOCOL_WIFI_STATUS_FAILED, // LX_PROTOCOL_WIFI_STATUS_FAILED = 2
LX_PROTOCOL_WIFI_STATUS_OFF, // LX_PROTOCOL_WIFI_STATUS_OFF = 3
};
public static final HashMap statusValueMap;
public static final HashMap statusMap;
static {
interfaceValueMap = new HashMap();
interfaceMap = new HashMap();
interfaceValueMap.put(Interface.LX_PROTOCOL_WIFI_INTERFACE_SOFT_AP, 1);
interfaceMap.put(1, Interface.LX_PROTOCOL_WIFI_INTERFACE_SOFT_AP);
interfaceValueMap.put(Interface.LX_PROTOCOL_WIFI_INTERFACE_STATION, 2);
interfaceMap.put(2, Interface.LX_PROTOCOL_WIFI_INTERFACE_STATION);
securityValueMap = new HashMap();
securityMap = new HashMap();
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_UNKNOWN, 0);
securityMap.put(0, Security.LX_PROTOCOL_WIFI_SECURITY_UNKNOWN);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_OPEN, 1);
securityMap.put(1, Security.LX_PROTOCOL_WIFI_SECURITY_OPEN);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_WEP_PSK, 2);
securityMap.put(2, Security.LX_PROTOCOL_WIFI_SECURITY_WEP_PSK);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_WPA_TKIP_PSK, 3);
securityMap.put(3, Security.LX_PROTOCOL_WIFI_SECURITY_WPA_TKIP_PSK);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_WPA_AES_PSK, 4);
securityMap.put(4, Security.LX_PROTOCOL_WIFI_SECURITY_WPA_AES_PSK);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_WPA2_AES_PSK, 5);
securityMap.put(5, Security.LX_PROTOCOL_WIFI_SECURITY_WPA2_AES_PSK);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_WPA2_TKIP_PSK, 6);
securityMap.put(6, Security.LX_PROTOCOL_WIFI_SECURITY_WPA2_TKIP_PSK);
securityValueMap.put(Security.LX_PROTOCOL_WIFI_SECURITY_WPA2_MIXED_PSK, 7);
securityMap.put(7, Security.LX_PROTOCOL_WIFI_SECURITY_WPA2_MIXED_PSK);
statusValueMap = new HashMap();
statusMap = new HashMap();
statusValueMap.put(Status.LX_PROTOCOL_WIFI_STATUS_CONNECTING, 0);
statusMap.put(0, Status.LX_PROTOCOL_WIFI_STATUS_CONNECTING);
statusValueMap.put(Status.LX_PROTOCOL_WIFI_STATUS_CONNECTED, 1);
statusMap.put(1, Status.LX_PROTOCOL_WIFI_STATUS_CONNECTED);
statusValueMap.put(Status.LX_PROTOCOL_WIFI_STATUS_FAILED, 2);
statusMap.put(2, Status.LX_PROTOCOL_WIFI_STATUS_FAILED);
statusValueMap.put(Status.LX_PROTOCOL_WIFI_STATUS_OFF, 3);
statusMap.put(3, Status.LX_PROTOCOL_WIFI_STATUS_OFF);
}
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::Get
////////////////////////////////////////////////////////////////////////////
public static class Get extends LxProtocolTypeBase {
// Fields: interface;
private UInt8 interfacetype; // Field: interfacetype - Structle::Uint8 byte offset: 0
private static final int PAYLOAD_SIZE = 1;
public Get(byte[] bytes) {
this(bytes, 0);
}
public Get(byte[] bytes, int initialOffset) {
if(bytes.length != 36 + PAYLOAD_SIZE) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,
String.format("payload has more data than advertised: %s", StructleTypes.bytesToString(bytes)));
}
byte[] member0Data = new byte[1];
member0Data[0] = bytes[initialOffset + 0];
interfacetype = new UInt8(member0Data);
}
public Get(Object padding, UInt8 interfacetype) {
this.interfacetype = interfacetype;
}
public UInt8 getInterfacetype() {
return interfacetype;
}
@Override
public void printMessageData() {
interfacetype.printValue("interfacetype"); // Field: interfacetype - Structle::Uint8 byte offset: 1
}
public static void loadMessageDataWithPayloadAtOffset(byte[] messageData, int offset, UInt8 interfacetype) {
byte[] memberData; // = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
}
public static void loadMessageDataWithPayloadAtDefaultOffset(byte[] messageData, UInt8 interfacetype) {
int offset = PAYLOAD_OFFSET;
loadMessageDataWithPayloadAtOffset(messageData, offset, interfacetype);
}
@Override
public byte[] getBytes() {
int offset = 0;
byte[] bytes = new byte[getPayloadSize()];
byte[] memberData;
// = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
return bytes;
}
public static int getPayloadSize() {
return PAYLOAD_SIZE;
}
}
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::Set
////////////////////////////////////////////////////////////////////////////
public static class Set extends LxProtocolTypeBase {
// Fields: interface, active;
private UInt8 interfacetype; // Field: interfacetype - Structle::Uint8 byte offset: 0
private Bool8 active; // Field: active - Structle::Bool byte offset: 1
private static final int PAYLOAD_SIZE = 2;
public Set(byte[] bytes) {
this(bytes, 0);
}
public Set(byte[] bytes, int initialOffset) {
if(bytes.length != 36 + PAYLOAD_SIZE) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,
String.format("payload has more data than advertised: %s", StructleTypes.bytesToString(bytes)));
}
byte[] member0Data = new byte[1];
member0Data[0] = bytes[initialOffset + 0];
interfacetype = new UInt8(member0Data);
byte[] member1Data = new byte[1];
member1Data[0] = bytes[initialOffset + 1];
active = new Bool8(member1Data);
}
public Set(Object padding, UInt8 interfacetype, Bool8 active) {
this.interfacetype = interfacetype;
this.active = active;
}
public UInt8 getInterfacetype() {
return interfacetype;
}
public Bool8 getActive() {
return active;
}
@Override
public void printMessageData() {
interfacetype.printValue("interfacetype"); // Field: interfacetype - Structle::Uint8 byte offset: 2
active.printValue("active"); // Field: active - Structle::Bool byte offset: 2
}
public static void loadMessageDataWithPayloadAtOffset(byte[] messageData, int offset, UInt8 interfacetype, Bool8 active) {
byte[] memberData; // = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = active.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
}
public static void loadMessageDataWithPayloadAtDefaultOffset(byte[] messageData, UInt8 interfacetype, Bool8 active) {
int offset = PAYLOAD_OFFSET;
loadMessageDataWithPayloadAtOffset(messageData, offset, interfacetype, active);
}
@Override
public byte[] getBytes() {
int offset = 0;
byte[] bytes = new byte[getPayloadSize()];
byte[] memberData;
// = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = active.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
return bytes;
}
public static int getPayloadSize() {
return PAYLOAD_SIZE;
}
}
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::State
////////////////////////////////////////////////////////////////////////////
public static class State extends LxProtocolTypeBase {
// Fields: interface, status, ipv4, ipv6;
private UInt8 interfacetype; // Field: interfacetype - Structle::Uint8 byte offset: 0
private UInt8 status; // Field: status - Structle::Uint8 byte offset: 1
private UInt32 ipv4; // Field: ipv4 - Structle::Uint32 byte offset: 2
private byte[] ipv6 = new byte[16]; // Field: ipv6 - Structle::Bytes byte offset: 6
private static final int PAYLOAD_SIZE = 22;
public State(byte[] bytes) {
this(bytes, 0);
}
public State(byte[] bytes, int initialOffset) {
if(bytes.length != 36 + PAYLOAD_SIZE) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,
String.format("payload has more data than advertised: %s", StructleTypes.bytesToString(bytes)));
}
byte[] member0Data = new byte[1];
member0Data[0] = bytes[initialOffset + 0];
interfacetype = new UInt8(member0Data);
byte[] member1Data = new byte[1];
member1Data[0] = bytes[initialOffset + 1];
status = new UInt8(member1Data);
byte[] member2Data = new byte[4];
member2Data[0] = bytes[initialOffset + 2];
member2Data[1] = bytes[initialOffset + 3];
member2Data[2] = bytes[initialOffset + 4];
member2Data[3] = bytes[initialOffset + 5];
ipv4 = new UInt32(member2Data);
byte[] member3Data = new byte[16];
member3Data[0] = bytes[initialOffset + 6];
member3Data[1] = bytes[initialOffset + 7];
member3Data[2] = bytes[initialOffset + 8];
member3Data[3] = bytes[initialOffset + 9];
member3Data[4] = bytes[initialOffset + 10];
member3Data[5] = bytes[initialOffset + 11];
member3Data[6] = bytes[initialOffset + 12];
member3Data[7] = bytes[initialOffset + 13];
member3Data[8] = bytes[initialOffset + 14];
member3Data[9] = bytes[initialOffset + 15];
member3Data[10] = bytes[initialOffset + 16];
member3Data[11] = bytes[initialOffset + 17];
member3Data[12] = bytes[initialOffset + 18];
member3Data[13] = bytes[initialOffset + 19];
member3Data[14] = bytes[initialOffset + 20];
member3Data[15] = bytes[initialOffset + 21];
ipv6 = member3Data;
}
public State(Object padding, UInt8 interfacetype, UInt8 status, UInt32 ipv4, byte[] ipv6) {
this.interfacetype = interfacetype;
this.status = status;
this.ipv4 = ipv4;
this.ipv6 = ipv6;
}
public UInt8 getInterfacetype() {
return interfacetype;
}
public UInt8 getStatus() {
return status;
}
public UInt32 getIpv4() {
return ipv4;
}
public byte[] getIpv6() {
return ipv6;
}
@Override
public void printMessageData() {
interfacetype.printValue("interfacetype"); // Field: interfacetype - Structle::Uint8 byte offset: 22
status.printValue("status"); // Field: status - Structle::Uint8 byte offset: 22
ipv4.printValue("ipv4"); // Field: ipv4 - Structle::Uint32 byte offset: 22
Logger.getLogger(State.class.getName()).log(Level.FINE, "Byte Array Print not currently supported");
}
public static void loadMessageDataWithPayloadAtOffset(byte[] messageData, int offset, UInt8 interfacetype, UInt8 status, UInt32 ipv4, byte[] ipv6) {
byte[] memberData; // = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = status.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = ipv4.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = ipv6;
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
}
public static void loadMessageDataWithPayloadAtDefaultOffset(byte[] messageData, UInt8 interfacetype, UInt8 status, UInt32 ipv4, byte[] ipv6) {
int offset = PAYLOAD_OFFSET;
loadMessageDataWithPayloadAtOffset(messageData, offset, interfacetype, status, ipv4, ipv6);
}
@Override
public byte[] getBytes() {
int offset = 0;
byte[] bytes = new byte[getPayloadSize()];
byte[] memberData;
// = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = status.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = ipv4.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = ipv6;
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
return bytes;
}
public static int getPayloadSize() {
return PAYLOAD_SIZE;
}
}
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::GetAccessPoint
////////////////////////////////////////////////////////////////////////////
public static class GetAccessPoint extends LxProtocolTypeBase {
private static final int PAYLOAD_SIZE = 0;
public GetAccessPoint(byte[] bytes) {
this(bytes, 0);
}
public GetAccessPoint(byte[] bytes, int initialOffset) {
if(bytes.length != 36 + PAYLOAD_SIZE) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,
String.format("payload has more data than advertised: %s", StructleTypes.bytesToString(bytes)));
}
}
public GetAccessPoint(Object padding) {
}
@Override
public void printMessageData() {
}
public static void loadMessageDataWithPayloadAtOffset(byte[] messageData, int offset) {
byte[] memberData; // = name.getBytes();
}
public static void loadMessageDataWithPayloadAtDefaultOffset(byte[] messageData) {
int offset = PAYLOAD_OFFSET;
loadMessageDataWithPayloadAtOffset(messageData, offset);
}
@Override
public byte[] getBytes() {
int offset = 0;
byte[] bytes = new byte[getPayloadSize()];
byte[] memberData;
return bytes;
}
public static int getPayloadSize() {
return PAYLOAD_SIZE;
}
}
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::SetAccessPoint
////////////////////////////////////////////////////////////////////////////
public static class SetAccessPoint extends LxProtocolTypeBase {
// Fields: interface, ssid, pass, security;
private UInt8 interfacetype; // Field: interfacetype - Structle::Uint8 byte offset: 0
private String ssid; // Field: ssid - Structle::String byte offset: 1
private String pass; // Field: pass - Structle::String byte offset: 33
private UInt8 security; // Field: security - Structle::Uint8 byte offset: 97
private static final int PAYLOAD_SIZE = 98;
public SetAccessPoint(byte[] bytes) {
this(bytes, 0);
}
public SetAccessPoint(byte[] bytes, int initialOffset) {
if(bytes.length != 36 + PAYLOAD_SIZE) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,
String.format("payload has more data than advertised: %s", StructleTypes.bytesToString(bytes)));
}
byte[] member0Data = new byte[1];
member0Data[0] = bytes[initialOffset + 0];
interfacetype = new UInt8(member0Data);
byte[] member1Data = new byte[32];
member1Data[0] = bytes[initialOffset + 1];
member1Data[1] = bytes[initialOffset + 2];
member1Data[2] = bytes[initialOffset + 3];
member1Data[3] = bytes[initialOffset + 4];
member1Data[4] = bytes[initialOffset + 5];
member1Data[5] = bytes[initialOffset + 6];
member1Data[6] = bytes[initialOffset + 7];
member1Data[7] = bytes[initialOffset + 8];
member1Data[8] = bytes[initialOffset + 9];
member1Data[9] = bytes[initialOffset + 10];
member1Data[10] = bytes[initialOffset + 11];
member1Data[11] = bytes[initialOffset + 12];
member1Data[12] = bytes[initialOffset + 13];
member1Data[13] = bytes[initialOffset + 14];
member1Data[14] = bytes[initialOffset + 15];
member1Data[15] = bytes[initialOffset + 16];
member1Data[16] = bytes[initialOffset + 17];
member1Data[17] = bytes[initialOffset + 18];
member1Data[18] = bytes[initialOffset + 19];
member1Data[19] = bytes[initialOffset + 20];
member1Data[20] = bytes[initialOffset + 21];
member1Data[21] = bytes[initialOffset + 22];
member1Data[22] = bytes[initialOffset + 23];
member1Data[23] = bytes[initialOffset + 24];
member1Data[24] = bytes[initialOffset + 25];
member1Data[25] = bytes[initialOffset + 26];
member1Data[26] = bytes[initialOffset + 27];
member1Data[27] = bytes[initialOffset + 28];
member1Data[28] = bytes[initialOffset + 29];
member1Data[29] = bytes[initialOffset + 30];
member1Data[30] = bytes[initialOffset + 31];
member1Data[31] = bytes[initialOffset + 32];
int endOfStringIndex;
byte[] subString;
endOfStringIndex = member1Data.length;
for (int i = 0; i < member1Data.length; i++) {
if (member1Data[i] == 0x00) {
endOfStringIndex = i;
break;
}
}
subString = new byte[endOfStringIndex];
for (int i = 0; i < endOfStringIndex; i++) {
subString[i] = member1Data[i];
}
ssid = new String(subString);
byte[] member2Data = new byte[64];
member2Data[0] = bytes[initialOffset + 33];
member2Data[1] = bytes[initialOffset + 34];
member2Data[2] = bytes[initialOffset + 35];
member2Data[3] = bytes[initialOffset + 36];
member2Data[4] = bytes[initialOffset + 37];
member2Data[5] = bytes[initialOffset + 38];
member2Data[6] = bytes[initialOffset + 39];
member2Data[7] = bytes[initialOffset + 40];
member2Data[8] = bytes[initialOffset + 41];
member2Data[9] = bytes[initialOffset + 42];
member2Data[10] = bytes[initialOffset + 43];
member2Data[11] = bytes[initialOffset + 44];
member2Data[12] = bytes[initialOffset + 45];
member2Data[13] = bytes[initialOffset + 46];
member2Data[14] = bytes[initialOffset + 47];
member2Data[15] = bytes[initialOffset + 48];
member2Data[16] = bytes[initialOffset + 49];
member2Data[17] = bytes[initialOffset + 50];
member2Data[18] = bytes[initialOffset + 51];
member2Data[19] = bytes[initialOffset + 52];
member2Data[20] = bytes[initialOffset + 53];
member2Data[21] = bytes[initialOffset + 54];
member2Data[22] = bytes[initialOffset + 55];
member2Data[23] = bytes[initialOffset + 56];
member2Data[24] = bytes[initialOffset + 57];
member2Data[25] = bytes[initialOffset + 58];
member2Data[26] = bytes[initialOffset + 59];
member2Data[27] = bytes[initialOffset + 60];
member2Data[28] = bytes[initialOffset + 61];
member2Data[29] = bytes[initialOffset + 62];
member2Data[30] = bytes[initialOffset + 63];
member2Data[31] = bytes[initialOffset + 64];
member2Data[32] = bytes[initialOffset + 65];
member2Data[33] = bytes[initialOffset + 66];
member2Data[34] = bytes[initialOffset + 67];
member2Data[35] = bytes[initialOffset + 68];
member2Data[36] = bytes[initialOffset + 69];
member2Data[37] = bytes[initialOffset + 70];
member2Data[38] = bytes[initialOffset + 71];
member2Data[39] = bytes[initialOffset + 72];
member2Data[40] = bytes[initialOffset + 73];
member2Data[41] = bytes[initialOffset + 74];
member2Data[42] = bytes[initialOffset + 75];
member2Data[43] = bytes[initialOffset + 76];
member2Data[44] = bytes[initialOffset + 77];
member2Data[45] = bytes[initialOffset + 78];
member2Data[46] = bytes[initialOffset + 79];
member2Data[47] = bytes[initialOffset + 80];
member2Data[48] = bytes[initialOffset + 81];
member2Data[49] = bytes[initialOffset + 82];
member2Data[50] = bytes[initialOffset + 83];
member2Data[51] = bytes[initialOffset + 84];
member2Data[52] = bytes[initialOffset + 85];
member2Data[53] = bytes[initialOffset + 86];
member2Data[54] = bytes[initialOffset + 87];
member2Data[55] = bytes[initialOffset + 88];
member2Data[56] = bytes[initialOffset + 89];
member2Data[57] = bytes[initialOffset + 90];
member2Data[58] = bytes[initialOffset + 91];
member2Data[59] = bytes[initialOffset + 92];
member2Data[60] = bytes[initialOffset + 93];
member2Data[61] = bytes[initialOffset + 94];
member2Data[62] = bytes[initialOffset + 95];
member2Data[63] = bytes[initialOffset + 96];
endOfStringIndex = member2Data.length;
for (int i = 0; i < member2Data.length; i++) {
if (member2Data[i] == 0x00) {
endOfStringIndex = i;
break;
}
}
subString = new byte[endOfStringIndex];
for (int i = 0; i < endOfStringIndex; i++) {
subString[i] = member2Data[i];
}
pass = new String(subString);
byte[] member3Data = new byte[1];
member3Data[0] = bytes[initialOffset + 97];
security = new UInt8(member3Data);
}
public SetAccessPoint(Object padding, UInt8 interfacetype, String ssid, String pass, UInt8 security) {
this.interfacetype = interfacetype;
this.ssid = ssid;
this.pass = pass;
this.security = security;
}
public UInt8 getInterfacetype() {
return interfacetype;
}
public String getSsid() {
return ssid;
}
public String getPass() {
return pass;
}
public UInt8 getSecurity() {
return security;
}
@Override
public void printMessageData() {
interfacetype.printValue("interfacetype"); // Field: interfacetype - Structle::Uint8 byte offset: 98
// System.out.println( ssid); // Field: ssid - Structle::String byte offset: 98
// System.out.println( pass); // Field: pass - Structle::String byte offset: 98
Logger.getLogger(SetAccessPoint.class.getName()).log(Level.FINE, ssid);
Logger.getLogger(SetAccessPoint.class.getName()).log(Level.FINE, pass);
security.printValue("security"); // Field: security - Structle::Uint8 byte offset: 98
}
public static void loadMessageDataWithPayloadAtOffset(byte[] messageData, int offset, UInt8 interfacetype, String ssid, String pass, UInt8 security) {
byte[] memberData; // = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
char[] ssidchars = ssid.toCharArray();
//byte[] ssidBytes = new byte[ssidchars.length];
byte[] ssidBytes = new byte[32];
for (int i = 0; i < 32; i++) {
ssidBytes[i] = 0x00;
}
for (int i = 0; i < ssidchars.length; i++) {
ssidBytes[i] = (byte) ssidchars[i];
}
memberData = ssidBytes;
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
char[] passchars = pass.toCharArray();
//byte[] passBytes = new byte[passchars.length];
byte[] passBytes = new byte[64];
for (int i = 0; i < 64; i++) {
passBytes[i] = 0x00;
}
for (int i = 0; i < passchars.length; i++) {
passBytes[i] = (byte) passchars[i];
}
memberData = passBytes;
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = security.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
}
public static void loadMessageDataWithPayloadAtDefaultOffset(byte[] messageData, UInt8 interfacetype, String ssid, String pass, UInt8 security) {
int offset = PAYLOAD_OFFSET;
loadMessageDataWithPayloadAtOffset(messageData, offset, interfacetype, ssid, pass, security);
}
@Override
public byte[] getBytes() {
int offset = 0;
byte[] bytes = new byte[getPayloadSize()];
byte[] memberData;
// = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
char[] ssidchars = ssid.toCharArray();
//byte[] ssidBytes = new byte[ssidchars.length];
byte[] ssidBytes = new byte[32];
for (int i = 0; i < 32; i++) {
ssidBytes[i] = 0x00;
}
for (int i = 0; i < ssidchars.length; i++) {
ssidBytes[i] = (byte) ssidchars[i];
}
memberData = ssidBytes;
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
char[] passchars = pass.toCharArray();
//byte[] passBytes = new byte[passchars.length];
byte[] passBytes = new byte[64];
for (int i = 0; i < 64; i++) {
passBytes[i] = 0x00;
}
for (int i = 0; i < passchars.length; i++) {
passBytes[i] = (byte) passchars[i];
}
memberData = passBytes;
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = security.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
return bytes;
}
public static int getPayloadSize() {
return PAYLOAD_SIZE;
}
}
////////////////////////////////////////////////////////////////////////////
// Lx::Protocol::Wifi::StateAccessPoint
////////////////////////////////////////////////////////////////////////////
public static class StateAccessPoint extends LxProtocolTypeBase {
// Fields: interface, ssid, security, strength, channel;
private UInt8 interfacetype; // Field: interfacetype - Structle::Uint8 byte offset: 0
private String ssid; // Field: ssid - Structle::String byte offset: 1
private UInt8 security; // Field: security - Structle::Uint8 byte offset: 33
private Int16 strength; // Field: strength - Structle::Int16 byte offset: 34
private UInt16 channel; // Field: channel - Structle::Uint16 byte offset: 36
private static final int PAYLOAD_SIZE = 38;
public StateAccessPoint(byte[] bytes) {
this(bytes, 0);
}
public StateAccessPoint(byte[] bytes, int initialOffset) {
if(bytes.length != 36 + PAYLOAD_SIZE) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,
String.format("payload has more data than advertised: %s", StructleTypes.bytesToString(bytes)));
}
byte[] member0Data = new byte[1];
member0Data[0] = bytes[initialOffset + 0];
interfacetype = new UInt8(member0Data);
byte[] member1Data = new byte[32];
member1Data[0] = bytes[initialOffset + 1];
member1Data[1] = bytes[initialOffset + 2];
member1Data[2] = bytes[initialOffset + 3];
member1Data[3] = bytes[initialOffset + 4];
member1Data[4] = bytes[initialOffset + 5];
member1Data[5] = bytes[initialOffset + 6];
member1Data[6] = bytes[initialOffset + 7];
member1Data[7] = bytes[initialOffset + 8];
member1Data[8] = bytes[initialOffset + 9];
member1Data[9] = bytes[initialOffset + 10];
member1Data[10] = bytes[initialOffset + 11];
member1Data[11] = bytes[initialOffset + 12];
member1Data[12] = bytes[initialOffset + 13];
member1Data[13] = bytes[initialOffset + 14];
member1Data[14] = bytes[initialOffset + 15];
member1Data[15] = bytes[initialOffset + 16];
member1Data[16] = bytes[initialOffset + 17];
member1Data[17] = bytes[initialOffset + 18];
member1Data[18] = bytes[initialOffset + 19];
member1Data[19] = bytes[initialOffset + 20];
member1Data[20] = bytes[initialOffset + 21];
member1Data[21] = bytes[initialOffset + 22];
member1Data[22] = bytes[initialOffset + 23];
member1Data[23] = bytes[initialOffset + 24];
member1Data[24] = bytes[initialOffset + 25];
member1Data[25] = bytes[initialOffset + 26];
member1Data[26] = bytes[initialOffset + 27];
member1Data[27] = bytes[initialOffset + 28];
member1Data[28] = bytes[initialOffset + 29];
member1Data[29] = bytes[initialOffset + 30];
member1Data[30] = bytes[initialOffset + 31];
member1Data[31] = bytes[initialOffset + 32];
int endOfStringIndex;
byte[] subString;
endOfStringIndex = member1Data.length;
for (int i = 0; i < member1Data.length; i++) {
if (member1Data[i] == 0x00) {
endOfStringIndex = i;
break;
}
}
subString = new byte[endOfStringIndex];
for (int i = 0; i < endOfStringIndex; i++) {
subString[i] = member1Data[i];
}
ssid = new String(subString);
byte[] member2Data = new byte[1];
member2Data[0] = bytes[initialOffset + 33];
security = new UInt8(member2Data);
byte[] member3Data = new byte[2];
member3Data[0] = bytes[initialOffset + 34];
member3Data[1] = bytes[initialOffset + 35];
strength = new Int16(member3Data);
byte[] member4Data = new byte[2];
member4Data[0] = bytes[initialOffset + 36];
member4Data[1] = bytes[initialOffset + 37];
channel = new UInt16(member4Data);
}
public StateAccessPoint(Object padding, UInt8 interfacetype, String ssid, UInt8 security, Int16 strength, UInt16 channel) {
this.interfacetype = interfacetype;
this.ssid = ssid;
this.security = security;
this.strength = strength;
this.channel = channel;
}
public UInt8 getInterfacetype() {
return interfacetype;
}
public String getSsid() {
return ssid;
}
public UInt8 getSecurity() {
return security;
}
public Int16 getStrength() {
return strength;
}
public UInt16 getChannel() {
return channel;
}
@Override
public void printMessageData() {
interfacetype.printValue("interfacetype"); // Field: interfacetype - Structle::Uint8 byte offset: 38
//System.out.println( ssid); // Field: ssid - Structle::String byte offset: 38
Logger.getLogger(StateAccessPoint.class.getName()).log(Level.FINE, ssid);
security.printValue("security"); // Field: security - Structle::Uint8 byte offset: 38
strength.printValue("strength"); // Field: strength - Structle::Int16 byte offset: 38
channel.printValue("channel"); // Field: channel - Structle::Uint16 byte offset: 38
}
public static void loadMessageDataWithPayloadAtOffset(byte[] messageData, int offset, UInt8 interfacetype, String ssid, UInt8 security, Int16 strength, UInt16 channel) {
byte[] memberData; // = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
char[] ssidchars = ssid.toCharArray();
//byte[] ssidBytes = new byte[ssidchars.length];
byte[] ssidBytes = new byte[32];
for (int i = 0; i < 32; i++) {
ssidBytes[i] = 0x00;
}
for (int i = 0; i < ssidchars.length; i++) {
ssidBytes[i] = (byte) ssidchars[i];
}
memberData = ssidBytes;
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = security.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = strength.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
memberData = channel.getBytes();
for (int i = 0; i < (memberData.length); i++) {
messageData[(offset + i)] = memberData[i];
}
offset += memberData.length;
}
public static void loadMessageDataWithPayloadAtDefaultOffset(byte[] messageData, UInt8 interfacetype, String ssid, UInt8 security, Int16 strength, UInt16 channel) {
int offset = PAYLOAD_OFFSET;
loadMessageDataWithPayloadAtOffset(messageData, offset, interfacetype, ssid, security, strength, channel);
}
@Override
public byte[] getBytes() {
int offset = 0;
byte[] bytes = new byte[getPayloadSize()];
byte[] memberData;
// = name.getBytes();
memberData = interfacetype.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
char[] ssidchars = ssid.toCharArray();
//byte[] ssidBytes = new byte[ssidchars.length];
byte[] ssidBytes = new byte[32];
for (int i = 0; i < 32; i++) {
ssidBytes[i] = 0x00;
}
for (int i = 0; i < ssidchars.length; i++) {
ssidBytes[i] = (byte) ssidchars[i];
}
memberData = ssidBytes;
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = security.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = strength.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
// = name.getBytes();
memberData = channel.getBytes();
for (int i = 0; i < (memberData.length); i++) {
bytes[(offset + i)] = memberData[i];
}
offset += memberData.length;
return bytes;
}
public static int getPayloadSize() {
return PAYLOAD_SIZE;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy