public String encodeCapability(CapabilityValue c) { StringBuffer s = new StringBuffer(""); switch (c.getCapabilityValueType()) { case CapabilityValue.LOCAL_OPTION_VALUE: LocalOptVal localOptVal = (LocalOptVal) c; LocalOptionValue localOptionValue = localOptVal.getLocalOptionValue(); s.append(encodeLocalOptionVale(localOptionValue)); break; case CapabilityValue.SUPPORTED_PACKAGES: s.append("v:"); SupportedPackages supportedPackages = (SupportedPackages) c; PackageName[] packageNameList = supportedPackages.getSupportedPackageNames(); s.append(encodePackageNameList(packageNameList)); break; case CapabilityValue.SUPPORTED_MODES: s.append("m:"); SupportedModes supportedModes = (SupportedModes) c; ConnectionMode[] connectionModeList = supportedModes.getSupportedModes(); s.append(encodeConnectionModeList(connectionModeList)); break; } return s.toString(); }
public static int encode(byte[] destination,int offset,CapabilityValue capabilityValue) { switch (capabilityValue.getCapabilityValueType()) { case CapabilityValue.LOCAL_OPTION_VALUE: LocalOptVal localOptVal = (LocalOptVal) capabilityValue; LocalOptionValue localOptionValue = localOptVal.getLocalOptionValue(); return LocalOptionValueHandler.encode(destination,offset,localOptionValue); case CapabilityValue.SUPPORTED_PACKAGES: destination[offset]=StringFunctions.LOW_V_BYTE; destination[offset+1]=StringFunctions.COLON_BYTE; SupportedPackages supportedPackages = (SupportedPackages) capabilityValue; PackageName[] packageNameList = supportedPackages.getSupportedPackageNames(); return PackageNameHandler.encodeList(destination,offset+2,packageNameList)+2; case CapabilityValue.SUPPORTED_MODES: destination[offset]=StringFunctions.LOW_M_BYTE; destination[offset+1]=StringFunctions.COLON_BYTE; SupportedModes supportedModes = (SupportedModes) capabilityValue; ConnectionMode[] connectionModeList = supportedModes.getSupportedModes(); return ConnectionModeHandler.encodeList(destination,offset+2,connectionModeList)+2; default: return 0; } }
public static int encode(byte[] destination,int offset,CapabilityValue capabilityValue) { switch (capabilityValue.getCapabilityValueType()) { case CapabilityValue.LOCAL_OPTION_VALUE: LocalOptVal localOptVal = (LocalOptVal) capabilityValue; LocalOptionValue localOptionValue = localOptVal.getLocalOptionValue(); return LocalOptionValueHandler.encode(destination,offset,localOptionValue); case CapabilityValue.SUPPORTED_PACKAGES: destination[offset]=StringFunctions.LOW_V_BYTE; destination[offset+1]=StringFunctions.COLON_BYTE; SupportedPackages supportedPackages = (SupportedPackages) capabilityValue; PackageName[] packageNameList = supportedPackages.getSupportedPackageNames(); return PackageNameHandler.encodeList(destination,offset+2,packageNameList)+2; case CapabilityValue.SUPPORTED_MODES: destination[offset]=StringFunctions.LOW_M_BYTE; destination[offset+1]=StringFunctions.COLON_BYTE; SupportedModes supportedModes = (SupportedModes) capabilityValue; ConnectionMode[] connectionModeList = supportedModes.getSupportedModes(); return ConnectionModeHandler.encodeList(destination,offset+2,connectionModeList)+2; default: return 0; } }