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;
}