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:
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