Beispiel #1
0
        public Record ReadRecord(RR resourceRecord, RecordType type)
        {
            if (resourceRecord == null)
            {
                throw new ArgumentNullException("resourceRecord");
            }

            switch (type)
            {
            case RecordType.A:
                return(new ARecord(resourceRecord, this));

            case RecordType.NS:
                return(new NSRecord(resourceRecord, this));

            case RecordType.MD:
                return(new MDRecord(resourceRecord, this));

            case RecordType.MF:
                return(new MFRecord(resourceRecord, this));

            case RecordType.CNAME:
                return(new CNAMERecord(resourceRecord, this));

            case RecordType.SOA:
                return(new SOARecord(resourceRecord, this));

            case RecordType.MB:
                return(new MBRecord(resourceRecord, this));

            case RecordType.MG:
                return(new MGRecord(resourceRecord, this));

            case RecordType.MR:
                return(new MRRecord(resourceRecord, this));

            case RecordType.NULL:
                return(new NULLRecord(resourceRecord, this));

            case RecordType.WKS:
                return(new WKSRecord(resourceRecord, this));

            case RecordType.PTR:
                return(new PTRRecord(resourceRecord, this));

            case RecordType.HINFO:
                return(new HINFORecord(resourceRecord, this));

            case RecordType.MINFO:
                return(new MINFORecord(resourceRecord, this));

            case RecordType.MX:
                return(new MXRecord(resourceRecord, this));

            case RecordType.TXT:
                return(new TXTRecord(resourceRecord, this));

            case RecordType.RP:
                return(new RPRecord(resourceRecord, this));

            case RecordType.AFSDB:
                return(new AFSDBRecord(resourceRecord, this));

            case RecordType.X25:
                return(new X25Record(resourceRecord, this));

            case RecordType.ISDN:
                return(new ISDNRecord(resourceRecord, this));

            case RecordType.RT:
                return(new RTRecord(resourceRecord, this));

            case RecordType.NSAP:
                return(new NSAPRecord(resourceRecord, this));

            case RecordType.NSAPPTR:
                return(new NSAPPTRRecord(resourceRecord, this));

            case RecordType.SIG:
                return(new SIGRecord(resourceRecord, this));

            case RecordType.KEY:
                return(new KEYRecord(resourceRecord, this));

            case RecordType.PX:
                return(new PXRecord(resourceRecord, this));

            case RecordType.GPOS:
                return(new GPOSRecord(resourceRecord, this));

            case RecordType.AAAA:
                return(new AAAARecord(resourceRecord, this));

            case RecordType.LOC:
                return(new LOCRecord(resourceRecord, this));

            case RecordType.NXT:
                return(new NXTRecord(resourceRecord, this));

            case RecordType.EID:
                return(new EIDRecord(resourceRecord, this));

            case RecordType.NIMLOC:
                return(new NIMLOCRecord(resourceRecord, this));

            case RecordType.SRV:
                return(new SRVRecord(resourceRecord, this));

            case RecordType.ATMA:
                return(new ATMARecord(resourceRecord, this));

            case RecordType.NAPTR:
                return(new NAPTRRecord(resourceRecord, this));

            case RecordType.KX:
                return(new KXRecord(resourceRecord, this));

            case RecordType.CERT:
                return(new CERTRecord(resourceRecord, this));

            case RecordType.A6:
                return(new A6Record(resourceRecord, this));

            case RecordType.DNAME:
                return(new DNAMERecord(resourceRecord, this));

            case RecordType.SINK:
                return(new SINKRecord(resourceRecord, this));

            case RecordType.OPT:
                return(new OPTRecord(resourceRecord, this));

            case RecordType.APL:
                return(new APLRecord(resourceRecord, this));

            case RecordType.DS:
                return(new DSRecord(resourceRecord, this));

            case RecordType.SSHFP:
                return(new SSHFPRecord(resourceRecord, this));

            case RecordType.IPSECKEY:
                return(new IPSECKEYRecord(resourceRecord, this));

            case RecordType.RRSIG:
                return(new RRSIGRecord(resourceRecord, this));

            case RecordType.NSEC:
                return(new NSECRecord(resourceRecord, this));

            case RecordType.DNSKEY:
                return(new DNSKEYRecord(resourceRecord, this));

            case RecordType.DHCID:
                return(new DHCIDRecord(resourceRecord, this));

            case RecordType.NSEC3:
                return(new NSEC3Record(resourceRecord, this));

            case RecordType.NSEC3PARAM:
                return(new NSEC3PARAMRecord(resourceRecord, this));

            case RecordType.HIP:
                return(new HIPRecord(resourceRecord, this));

            case RecordType.SPF:
                return(new SPFRecord(resourceRecord, this));

            case RecordType.UINFO:
                return(new UINFORecord(resourceRecord, this));

            case RecordType.UID:
                return(new UIDRecord(resourceRecord, this));

            case RecordType.GID:
                return(new GIDRecord(resourceRecord, this));

            case RecordType.UNSPEC:
                return(new UNSPECRecord(resourceRecord, this));

            case RecordType.TKEY:
                return(new TKEYRecord(resourceRecord, this));

            case RecordType.TSIG:
                return(new RecordTSIG(resourceRecord, this));

            default:
                return(new UnknownRecord(resourceRecord, this));
            }
        }
Beispiel #2
0
        public Record ReadRecord(RR resourceRecord, RecordType type)
        {
            if (resourceRecord == null)
            {
                throw new ArgumentNullException("resourceRecord");
            }

            switch (type)
            {
                case RecordType.A:
                    return new ARecord(resourceRecord, this);
                case RecordType.NS:
                    return new NSRecord(resourceRecord, this);
                case RecordType.MD:
                    return new MDRecord(resourceRecord, this);
                case RecordType.MF:
                    return new MFRecord(resourceRecord, this);
                case RecordType.CNAME:
                    return new CNAMERecord(resourceRecord, this);
                case RecordType.SOA:
                    return new SOARecord(resourceRecord, this);
                case RecordType.MB:
                    return new MBRecord(resourceRecord, this);
                case RecordType.MG:
                    return new MGRecord(resourceRecord, this);
                case RecordType.MR:
                    return new MRRecord(resourceRecord, this);
                case RecordType.NULL:
                    return new NULLRecord(resourceRecord, this);
                case RecordType.WKS:
                    return new WKSRecord(resourceRecord, this);
                case RecordType.PTR:
                    return new PTRRecord(resourceRecord, this);
                case RecordType.HINFO:
                    return new HINFORecord(resourceRecord, this);
                case RecordType.MINFO:
                    return new MINFORecord(resourceRecord, this);
                case RecordType.MX:
                    return new MXRecord(resourceRecord, this);
                case RecordType.TXT:
                    return new TXTRecord(resourceRecord, this);
                case RecordType.RP:
                    return new RPRecord(resourceRecord, this);
                case RecordType.AFSDB:
                    return new AFSDBRecord(resourceRecord, this);
                case RecordType.X25:
                    return new X25Record(resourceRecord, this);
                case RecordType.ISDN:
                    return new ISDNRecord(resourceRecord, this);
                case RecordType.RT:
                    return new RTRecord(resourceRecord, this);
                case RecordType.NSAP:
                    return new NSAPRecord(resourceRecord, this);
                case RecordType.NSAPPTR:
                    return new NSAPPTRRecord(resourceRecord, this);
                case RecordType.SIG:
                    return new SIGRecord(resourceRecord, this);
                case RecordType.KEY:
                    return new KEYRecord(resourceRecord, this);
                case RecordType.PX:
                    return new PXRecord(resourceRecord, this);
                case RecordType.GPOS:
                    return new GPOSRecord(resourceRecord, this);
                case RecordType.AAAA:
                    return new AAAARecord(resourceRecord, this);
                case RecordType.LOC:
                    return new LOCRecord(resourceRecord, this);
                case RecordType.NXT:
                    return new NXTRecord(resourceRecord, this);
                case RecordType.EID:
                    return new EIDRecord(resourceRecord, this);
                case RecordType.NIMLOC:
                    return new NIMLOCRecord(resourceRecord, this);
                case RecordType.SRV:
                    return new SRVRecord(resourceRecord, this);
                case RecordType.ATMA:
                    return new ATMARecord(resourceRecord, this);
                case RecordType.NAPTR:
                    return new NAPTRRecord(resourceRecord, this);
                case RecordType.KX:
                    return new KXRecord(resourceRecord, this);
                case RecordType.CERT:
                    return new CERTRecord(resourceRecord, this);
                case RecordType.A6:
                    return new A6Record(resourceRecord, this);
                case RecordType.DNAME:
                    return new DNAMERecord(resourceRecord, this);
                case RecordType.SINK:
                    return new SINKRecord(resourceRecord, this);
                case RecordType.OPT:
                    return new OPTRecord(resourceRecord, this);
                case RecordType.APL:
                    return new APLRecord(resourceRecord, this);
                case RecordType.DS:
                    return new DSRecord(resourceRecord, this);
                case RecordType.SSHFP:
                    return new SSHFPRecord(resourceRecord, this);
                case RecordType.IPSECKEY:
                    return new IPSECKEYRecord(resourceRecord, this);
                case RecordType.RRSIG:
                    return new RRSIGRecord(resourceRecord, this);
                case RecordType.NSEC:
                    return new NSECRecord(resourceRecord, this);
                case RecordType.DNSKEY:
                    return new DNSKEYRecord(resourceRecord, this);
                case RecordType.DHCID:
                    return new DHCIDRecord(resourceRecord, this);
                case RecordType.NSEC3:
                    return new NSEC3Record(resourceRecord, this);
                case RecordType.NSEC3PARAM:
                    return new NSEC3PARAMRecord(resourceRecord, this);
                case RecordType.HIP:
                    return new HIPRecord(resourceRecord, this);
                case RecordType.SPF:
                    return new SPFRecord(resourceRecord, this);
                case RecordType.UINFO:
                    return new UINFORecord(resourceRecord, this);
                case RecordType.UID:
                    return new UIDRecord(resourceRecord, this);
                case RecordType.GID:
                    return new GIDRecord(resourceRecord, this);
                case RecordType.UNSPEC:
                    return new UNSPECRecord(resourceRecord, this);
                case RecordType.TKEY:
                    return new TKEYRecord(resourceRecord, this);
                case RecordType.TSIG:
                    return new RecordTSIG(resourceRecord, this);
                default:
                    return new UnknownRecord(resourceRecord, this);
            }
        }