package com.cgcl.cloudesk.manage.packet; import com.cgcl.cloudesk.manage.config.PacketConfig; import com.cgcl.cloudesk.manage.util.Serializer; public class CustomizeAppPacket extends PacketBase { private String userID = null; private String[] appIDs = null; public CustomizeAppPacket() { super(PacketConfig.kCustomizeAppPacketType, PacketConfig.kAuthorizeModuleId); } public CustomizeAppPacket(String userID, String[] appIDs) { super(PacketConfig.kCustomizeAppPacketType, PacketConfig.kAuthorizeModuleId); this.userID = userID; this.appIDs = appIDs; } public String[] getAppIDs() { return appIDs; } public void setAppIDs(String[] appIDs) { this.appIDs = appIDs; } public String getUserID() { return userID; } public void setUserID(String userID) { this.userID = userID; } public int deserialize(byte[] buf, int offset) { int length = super.deserialize(buf, offset); userID = Serializer.deserializeString(buf, offset + length); length += Serializer.length(userID); int appIDsNum = Serializer.deserializeInt(buf, offset + length); length += 4; if(0 != appIDsNum) { appIDs = new String[appIDsNum]; for(int i = 0; i < appIDsNum; ++i) { appIDs[i] = Serializer.deserializeString(buf, offset + length); length += Serializer.length( appIDs[i] ); } } else { appIDs = null; } return length; } public int serialize(byte[] buf, int offset) { int length = super.serialize(buf, offset); length += Serializer.serialize(buf, offset + length, userID); if(null != appIDs) { length += Serializer.serialize(buf, offset + length, appIDs.length); for(int i = 0; i < appIDs.length; ++i) { length += Serializer.serialize( buf, offset + length, appIDs[i] ); } } else { length += Serializer.serialize(buf, offset + length, 0); } return length; } public int length() { int length = super.length(); length += Serializer.length(userID); length += 4; if(null != appIDs) { for(int i = 0; i < appIDs.length; ++i) { length += Serializer.length( appIDs[i] ); } } return length; } }