package andraus.bluetoothhidemu.sock.payload; import andraus.bluetoothhidemu.BluetoothHidEmuActivity; /** * Generic payload implementation. * * TODO: ref. for PS3 blu-ray remote: http://fedoraproject.org/wiki/Features/PlayStationBDRemote * */ public abstract class HidPayload { protected static final String TAG = BluetoothHidEmuActivity.TAG; protected byte[] mPayload = null; /** * * @param size */ protected HidPayload(int size) { mPayload = new byte[size]; } /** * * @return */ public byte[] getPayload() { return mPayload; } /** * * @param index * @param value * @return */ protected boolean setByte(int index, int value) { if (index < mPayload.length) { mPayload[index] = (byte) value; } else { return false; } return true; } /** * */ public abstract void resetBytes(); /** * Assemble a HID payload byte array for disconnect request. * @return */ public static byte[] disconnectReq() { byte[] bytes = new byte[10]; bytes[0] = (byte)0xa1; bytes[1] = (byte)0x06; // Disconnection Request bytes[2] = (byte)0x00; bytes[3] = (byte)0x00; bytes[4] = (byte)0x00; bytes[5] = (byte)0x00; bytes[6] = (byte)0x00; bytes[7] = (byte)0x00; bytes[8] = (byte)0x00; bytes[9] = (byte)0x00; return bytes; } }