All Downloads are FREE. Search and download functionalities are using the official Maven repository.

pl.grzeslowski.jsupla.protocol.api.encoders.ChannelConfigOCREncoder Maven / Gradle / Ivy

The newest version!
package pl.grzeslowski.jsupla.protocol.api.encoders;

import lombok.val;
import pl.grzeslowski.jsupla.protocol.api.encoders.PrimitiveEncoder;
import pl.grzeslowski.jsupla.protocol.api.structs.ChannelConfigOCR;
import static pl.grzeslowski.jsupla.protocol.api.JavaConsts.*;
import static pl.grzeslowski.jsupla.protocol.api.consts.ProtoConsts.*;

@javax.annotation.Generated(value="Struct original name: TChannelConfig_OCR", date = "2024-09-06T08:44:37.847Z[Etc/UTC]")
@lombok.NoArgsConstructor(access = lombok.AccessLevel.PRIVATE)
public class ChannelConfigOCREncoder implements pl.grzeslowski.jsupla.protocol.api.encoders.ProtoWithSizeEncoder {
	public static final ChannelConfigOCREncoder INSTANCE = new ChannelConfigOCREncoder();

   @Override
	public byte[] encode(ChannelConfigOCR proto) {
final byte[] bytes = new byte[proto.size()];
int offset = 0;

		offset += PrimitiveEncoder.INSTANCE.writeByteArray(proto.authKey, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeByteArray(proto.host, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeUnsignedInt(proto.photoIntervalSec, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeUnsignedLong(proto.lightingMode, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeUnsignedByte(proto.lightingLevel, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeUnsignedLong(proto.maximumIncrement, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeUnsignedLong(proto.availableLightingModes, bytes, offset);
		offset += PrimitiveEncoder.INSTANCE.writeUnsignedByteArray(proto.reserved, bytes, offset);
		
	    return bytes;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy