# File lib/net/ldap/pdu.rb, line 74
 74:   def initialize ber_object
 75:     begin
 76:       @msg_id = ber_object[0].to_i
 77:       @app_tag = ber_object[1].ber_identifier - 0x60
 78:     rescue
 79:       # any error becomes a data-format error
 80:       raise LdapPduError.new( "ldap-pdu format error" )
 81:     end
 82: 
 83:     case @app_tag
 84:     when BindResult
 85:       parse_ldap_result ber_object[1]
 86:     when SearchReturnedData
 87:       parse_search_return ber_object[1]
 88:     when SearchResultReferral
 89:       parse_search_referral ber_object[1]
 90:     when SearchResult
 91:       parse_ldap_result ber_object[1]
 92:       parse_controls(ber_object[2]) if ber_object[2]
 93:     when ModifyResponse
 94:       parse_ldap_result ber_object[1]
 95:     when AddResponse
 96:       parse_ldap_result ber_object[1]
 97:     when DeleteResponse
 98:       parse_ldap_result ber_object[1]
 99:     when ModifyRDNResponse
100:       parse_ldap_result ber_object[1]
101:     else
102:       raise LdapPduError.new( "unknown pdu-type: #{@app_tag}" )
103:     end
104:   end