package com.cgcl.cloudesk.manage.packet;
import com.cgcl.cloudesk.manage.com.AppInfo;
import com.cgcl.cloudesk.manage.config.PacketConfig;
import com.cgcl.cloudesk.manage.util.Serializer;
public class AllCustomizeAppInfoRspPacket extends PacketBase {
private AppInfo[] allCustomizeAppInfoList = null;
public AllCustomizeAppInfoRspPacket(){
super(PacketConfig.kAllCustomizeAppInfoRspType, PacketConfig.kAuthorizeModuleId);
}
public AllCustomizeAppInfoRspPacket(AppInfo[] allCustomizeAppInfo){
super(PacketConfig.kAllCustomizeAppInfoRspType, PacketConfig.kAuthorizeModuleId);
this.allCustomizeAppInfoList = allCustomizeAppInfo;
}
public AppInfo[] getAllCustomizeAppInfo() {
return allCustomizeAppInfoList;
}
public void setAllCustomizeAppInfo(AppInfo[] allCustomizeAppInfoList) {
this.allCustomizeAppInfoList = allCustomizeAppInfoList;
}
public int deserialize(byte[] buf, int offset) {
int length = super.deserialize(buf, offset);
int allCustomizeAppInfoLength = Serializer.deserializeInt(buf, offset + length);
allCustomizeAppInfoList = new AppInfo[allCustomizeAppInfoLength];
length += 4;
if( 0 != allCustomizeAppInfoLength )
{
for(int i = 0 ; i < allCustomizeAppInfoLength ; i++)
{
AppInfo appInfo = new AppInfo();
appInfo.deserialize(buf, offset + length);
length += appInfo.length();
allCustomizeAppInfoList[i] = appInfo;
}
}
else
{
allCustomizeAppInfoList = null;
}
return length;
}
public int serialize(byte[] buf, int offset) {
int length = super.serialize(buf, offset);
if( null != allCustomizeAppInfoList )
{
length += Serializer.serialize(buf, offset + length, allCustomizeAppInfoList.length);
for(int i = 0 ; i < allCustomizeAppInfoList.length ; i++)
{
length += allCustomizeAppInfoList[i].serialize(buf, offset + length);
}
}
else
{
length += Serializer.serialize(buf, offset + length, 0);
}
return length;
}
public int length() {
int length = super.length();
length += 4;
if( null != allCustomizeAppInfoList )
{
for(int i = 0 ; i < allCustomizeAppInfoList.length ; i++)
length += allCustomizeAppInfoList[i].length();
}
return length;
}
}