/** * */ package org.krakenapps.pcap.decoder.srvsvc; import org.krakenapps.pcap.decoder.srvsvc.rr.OpCodes; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.ContainerInterface; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.FileInfo2Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.FileInfo3Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.SessionInfo0Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.SessionInfo10Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.SessionInfo1Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.SessionInfo2Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.SessionInfo502Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.ShareInfo0Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.ShareInfo1Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.ShareInfo2Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.ShareInfo501Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.ShareInfo503Container; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.infos.ConnectionInfo0; import org.krakenapps.pcap.decoder.srvsvc.structure.containers.infos.ConnectionInfo1; /** * @author tgnice@nchovy.com * */ public class ContainerTypeMapper { public ContainerInterface getStruct(OpCodes type , int level){ switch(type){ case NetrConnectionEnum : switch(level){ case 0: return (ContainerInterface) new ConnectionInfo0(); case 1: return (ContainerInterface) new ConnectionInfo1(); default : new IllegalAccessException(this+" : invalid Level Type"); return null; } case NetrFileEnum : switch(level){ case 2: return (ContainerInterface) new FileInfo2Container(); case 3: return (ContainerInterface) new FileInfo3Container(); default : new IllegalAccessException(this+" : invalid Level Type"); return null; } case NetfileGetinfo : return null; case NetFileClose : return null; case NetrSessionEnum : switch(level){ case 0: return (ContainerInterface) new SessionInfo0Container(); case 1: return (ContainerInterface) new SessionInfo1Container(); case 2: return (ContainerInterface) new SessionInfo2Container(); case 10: return (ContainerInterface) new SessionInfo10Container(); case 502: return (ContainerInterface) new SessionInfo502Container(); default : new IllegalAccessException(this+" : invalid Level Type"); return null; } case NetrSessionDel : return null; case NetrShareAdd : return null; case NetrShareEnum : switch(level){ case 0: return (ContainerInterface) new ShareInfo0Container(); case 1: return (ContainerInterface) new ShareInfo1Container(); case 2: return (ContainerInterface) new ShareInfo2Container(); case 501: return (ContainerInterface) new ShareInfo501Container(); case 503: return (ContainerInterface) new ShareInfo503Container(); default : new IllegalAccessException(this+" : invalid Level Type"); return null; } case NetrShareGetInfo : return null; case NetrShareSetInfo : return null; case NetrShareDel : return null; case NetrShareDelSticky : return null; case NetrShareCheck : return null; case NetrServerGetInfo : return null; case NetrServerSetInfo : return null; case NetServerDiskEnum : return null; case NetServerStatisticsGet : return null; case NetrServerTransportAdd : return null; case NetrServerTransportEnum : return null; case NetrServerTransportDel : return null; case NetrRemoteTOD : return null; case NetprPathType : return null; case NetprPathCanonicalize : return null; case NetprPathCompare : return null; case NetprNameValidate : return null; case NetprNameCanonicalize : return null; case NetprNameCompare : return null; case NetsShareEnumSticky : return null; case NetrShareDelstart : return null; case NetrShareDelCommit : return null; case NetrpGetFileSecurity : return null; case NetrpSetFileSecurity : return null; case NetrServerTransportAddEx : return null; case NetrDfsGetVersion : return null; case NetrDfsCreateLocalPartition : return null; case NetrDfsDeleteLocalPartition : return null; case NetrDfsSetLocalVolumeState : return null; case NetrDfsCreateExitPoint : return null; case NetrDfsDeleteExitPoint : return null; case NetrDfsModifyPrefix : return null; case NetDfsFixLocalVolume : return null; case NetrDfsManagerReportSiteInfo : return null; case NetrServerTransportDelEx : return null; case NetrServerAliasAdd : return null; case NetrSErverAliasEnum : return null; case NetrServerAliasDel : return null; default : new IllegalAccessException(this+" : invalid OpNumber Type"); return null; } } }