package com.limegroup.gnutella.messages.vendor; import java.io.ByteArrayOutputStream; import com.limegroup.gnutella.ByteOrder; import com.limegroup.gnutella.GUID; public class CapabilitiesVMStubHelper { public static CapabilitiesVM.SupportedMessageBlock makeSMB(byte[] capability, int version) { return new CapabilitiesVM.SupportedMessageBlock(capability, version); } public static CapabilitiesVM makeCapVM(int simppNumber) throws Exception { //1. prepare the SMB CapabilitiesVM.SupportedMessageBlock simppSMB = makeSMB(new byte[] { 'I', 'M', 'P', 'P' }, simppNumber); //2. make the payload ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteOrder.short2leb((short)1, baos); simppSMB.encode(baos); byte[] payload = baos.toByteArray(); byte[] guid = GUID.makeGuid(); return new CapabilitiesVM(guid, (byte)1, (byte)0, 1, payload); } public static CapabilitiesVM makeUpdateVM(int id) throws Exception { //1. prepare the SMB CapabilitiesVM.SupportedMessageBlock smb = makeSMB(new byte[] { 'L', 'M', 'U', 'P' }, id); //2. make the payload ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteOrder.short2leb((short)1, baos); smb.encode(baos); byte[] payload = baos.toByteArray(); byte[] guid = GUID.makeGuid(); return new CapabilitiesVM(guid, (byte)1, (byte)0, 1, payload); } }