private static Asn1Sequence RfcResultFactory(int type, int resultCode, System.String matchedDN, System.String serverMessage, System.String[] referrals) { Asn1Sequence ret; if ((System.Object) matchedDN == null) matchedDN = ""; if ((System.Object) serverMessage == null) serverMessage = ""; switch (type) { case SEARCH_RESULT: ret = new RfcSearchResultDone(new Asn1Enumerated(resultCode), new RfcLdapDN(matchedDN), new RfcLdapString(serverMessage), null); break; case BIND_RESPONSE: ret = null; // Not yet implemented break; case SEARCH_RESPONSE: ret = null; // Not yet implemented break; case MODIFY_RESPONSE: ret = new RfcModifyResponse(new Asn1Enumerated(resultCode), new RfcLdapDN(matchedDN), new RfcLdapString(serverMessage), null); break; case ADD_RESPONSE: ret = new RfcAddResponse(new Asn1Enumerated(resultCode), new RfcLdapDN(matchedDN), new RfcLdapString(serverMessage), null); break; case DEL_RESPONSE: ret = new RfcDelResponse(new Asn1Enumerated(resultCode), new RfcLdapDN(matchedDN), new RfcLdapString(serverMessage), null); break; case MODIFY_RDN_RESPONSE: ret = new RfcModifyDNResponse(new Asn1Enumerated(resultCode), new RfcLdapDN(matchedDN), new RfcLdapString(serverMessage), null); break; case COMPARE_RESPONSE: ret = new RfcCompareResponse(new Asn1Enumerated(resultCode), new RfcLdapDN(matchedDN), new RfcLdapString(serverMessage), null); break; case SEARCH_RESULT_REFERENCE: ret = null; // Not yet implemented break; case EXTENDED_RESPONSE: ret = null; // Not yet implemented break; default: throw new System.SystemException("Type " + type + " Not Supported"); } return ret; }